#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#

menu "Editors"

config AWK
	bool "awk"
	default n
	help
	  Awk is used as a pattern scanning and processing language. This is
	  the BusyBox implementation of that programming language.

config FEATURE_AWK_LIBM
	bool "Enable math functions (requires libm)"
	default n
	depends on AWK
	help
	  Enable math functions of the Awk programming language.
	  NOTE: This will require libm to be present for linking.

config CMP
	bool "cmp"
	default n
	help
	  cmp is used to compare two files and returns the result
	  to standard output.

config DIFF
	bool "diff"
	default n
	help
	  diff compares two files or directories and outputs the
	  differences between them in a form that can be given to
	  the patch command.

config FEATURE_DIFF_BINARY
	bool "Enable checks for binary files"
	default y
	depends on DIFF
	help
	  This option enables support for checking for binary files
	  before a comparison is carried out.

config FEATURE_DIFF_DIR
	bool "Enable directory support"
	default y
	depends on DIFF
	help
	  This option enables support for directory and subdirectory
	  comparison.

config FEATURE_DIFF_MINIMAL
	bool "Enable -d option to find smaller sets of changes"
	default n
	depends on DIFF
	help
	  Enabling this option allows the use of -d to make diff
	  try hard to find the smallest possible set of changes.

config ED
	bool "ed"
	default n
	help
	  The original 1970's Unix text editor, from the days of teletypes.
	  Small, simple, evil. Part of SUSv3. If you're not already using
	  this, you don't need it.

config PATCH
	bool "patch"
	default n
	help
	  Apply a unified diff formatted patch.

config SED
	bool "sed"
	default n
	help
	  sed is used to perform text transformations on a file
	  or input from a pipeline.

config VI
	bool "vi"
	default n
	help
	  'vi' is a text editor. More specifically, it is the One True
	  text editor <grin>. It does, however, have a rather steep
	  learning curve. If you are not already comfortable with 'vi'
	  you may wish to use something else.

config FEATURE_VI_MAX_LEN
	int "Maximum screen width in vi"
	range 256 16384
	default 4096
	depends on VI
	help
	  Contrary to what you may think, this is not eating much.
	  Make it smaller than 4k only if you are very limited on memory.

config FEATURE_VI_8BIT
	bool "Allow vi to display 8-bit chars (otherwise shows dots)"
	default y
	depends on VI
	help
	  If your terminal can display characters with high bit set,
	  you may want to enable this. Note: vi is not Unicode-capable.
	  If your terminal combines several 8-bit bytes into one character
	  (as in Unicode mode), this will not work properly.

config FEATURE_VI_COLON
	bool "Enable \":\" colon commands (no \"ex\" mode)"
	default y
	depends on VI
	help
	  Enable a limited set of colon commands for vi. This does not
	  provide an "ex" mode.

config FEATURE_VI_YANKMARK
	bool "Enable yank/put commands and mark cmds"
	default y
	depends on VI
	help
	  This will enable you to use yank and put, as well as mark in
	  busybox vi.

config FEATURE_VI_SEARCH
	bool "Enable search and replace cmds"
	default y
	depends on VI
	help
	  Select this if you wish to be able to do search and replace in
	  busybox vi.

config FEATURE_VI_USE_SIGNALS
	bool "Catch signals"
	default y
	depends on VI
	help
	  Selecting this option will make busybox vi signal aware. This will
	  make busybox vi support SIGWINCH to deal with Window Changes, catch
	  Ctrl-Z and Ctrl-C and alarms.

config FEATURE_VI_DOT_CMD
	bool "Remember previous cmd and \".\" cmd"
	default y
	depends on VI
	help
	  Make busybox vi remember the last command and be able to repeat it.

config FEATURE_VI_READONLY
	bool "Enable -R option and \"view\" mode"
	default y
	depends on VI
	help
	  Enable the read-only command line option, which allows the user to
	  open a file in read-only mode.

config FEATURE_VI_SETOPTS
	bool "Enable set-able options, ai ic showmatch"
	default y
	depends on VI
	help
	  Enable the editor to set some (ai, ic, showmatch) options.

config FEATURE_VI_SET
	bool "Support for :set"
	default y
	depends on VI
	help
	  Support for ":set".

config FEATURE_VI_WIN_RESIZE
	bool "Handle window resize"
	default y
	depends on VI
	help
	  Make busybox vi behave nicely with terminals that get resized.

config FEATURE_VI_OPTIMIZE_CURSOR
	bool "Optimize cursor movement"
	default y
	depends on VI
	help
	  This will make the cursor movement faster, but requires more memory
	  and it makes the applet a tiny bit larger.

config FEATURE_ALLOW_EXEC
	bool "Allow vi and awk to execute shell commands"
	default y
	depends on VI || AWK
	help
	  Enables vi and awk features which allows user to execute
	  shell commands (using system() C call).

endmenu