mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2024-12-26 15:59:50 -05:00
b1eda37cca
This change adds a GNU Readline-based interactive mode to keepassxc-cli. If GNU Readline is not available, commands are just read from stdin with no editing or auto-complete support. DatabaseCommand is modified to add the path to the current database to the arguments passed to executeWithDatabase. In this way, instances of DatabaseCommand do not have to prompt to re-open the database after each invocation, and existing command implementations do not have to be changed to support interactive mode. This change also introduces a new way of handling commands between interactive and batch modes. * Fixes #3224. * Ran make format
51 lines
1.5 KiB
CMake
51 lines
1.5 KiB
CMake
# Code copied from sethhall@github
|
|
#
|
|
# - Try to find readline include dirs and libraries
|
|
#
|
|
# Usage of this module as follows:
|
|
#
|
|
# find_package(Readline)
|
|
#
|
|
# Variables used by this module, they can change the default behaviour and need
|
|
# to be set before calling find_package:
|
|
#
|
|
# Readline_ROOT_DIR Set this variable to the root installation of
|
|
# readline if the module has problems finding the
|
|
# proper installation path.
|
|
#
|
|
# Variables defined by this module:
|
|
#
|
|
# READLINE_FOUND System has readline, include and lib dirs found
|
|
# Readline_INCLUDE_DIR The readline include directories.
|
|
# Readline_LIBRARY The readline library.
|
|
|
|
find_path(Readline_ROOT_DIR
|
|
NAMES include/readline/readline.h
|
|
)
|
|
|
|
find_path(Readline_INCLUDE_DIR
|
|
NAMES readline/readline.h
|
|
HINTS ${Readline_ROOT_DIR}/include
|
|
)
|
|
|
|
find_library(Readline_LIBRARY
|
|
NAMES readline
|
|
HINTS ${Readline_ROOT_DIR}/lib
|
|
)
|
|
|
|
if(Readline_INCLUDE_DIR AND Readline_LIBRARY AND Ncurses_LIBRARY)
|
|
set(READLINE_FOUND TRUE)
|
|
else(Readline_INCLUDE_DIR AND Readline_LIBRARY AND Ncurses_LIBRARY)
|
|
find_library(Readline_LIBRARY NAMES readline)
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(Readline DEFAULT_MSG Readline_INCLUDE_DIR Readline_LIBRARY )
|
|
mark_as_advanced(Readline_INCLUDE_DIR Readline_LIBRARY)
|
|
endif(Readline_INCLUDE_DIR AND Readline_LIBRARY AND Ncurses_LIBRARY)
|
|
|
|
mark_as_advanced(
|
|
Readline_ROOT_DIR
|
|
Readline_INCLUDE_DIR
|
|
Readline_LIBRARY
|
|
)
|
|
|