Boot Linux faster!

Check our new training course

Boot Linux faster!

Check our new training course
and Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

# Kconfig - Shell configuration options

#
# Copyright (c) 2014-2015 Wind River Systems, Inc.
# Copyright (c) 2016 Intel Corporation
# Copyright (c) 2018 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: Apache-2.0
#

menu "Shell Options"

menuconfig SHELL
	bool "Enable shell"
	select LOG_RUNTIME_FILTERING
	select POLL

if SHELL

module = SHELL
module-str = Shell
source "subsys/logging/Kconfig.template.log_config"
source "subsys/shell/Kconfig.backends"

config SHELL_STACK_SIZE
	int "Shell thread stack size"
	default 2048 if MULTITHREADING
	default 0 if !MULTITHREADING
	help
	  Stack size for thread created for each instance.

config SHELL_BACKSPACE_MODE_DELETE
	bool "Default escape code for backspace is DELETE (0x7F)"
	default y
	help
	  Terminals have different escape code settings for backspace button.
	  Some terminals send code: 0x08 (backspace) other 0x7F (delete). When
	  this option is set shell will expect 0x7F for backspace key.

config SHELL_CMD_BUFF_SIZE
	int "Shell command buffer size"
	default 256
	help
	  Maximum command size in bytes. One byte is reserved for the string
	  terminator character.

config SHELL_PRINTF_BUFF_SIZE
	int "Shell print buffer size"
	default 30
	help
	  Maximum text buffer size for fprintf function.
	  It is working like stdio buffering in Linux systems
	  to limit number of peripheral access calls.

config SHELL_ARGC_MAX
	int "Maximum arguments in shell command"
	default 12
	help
	  Maximum number of arguments that can build a command.
	  If command is composed of more than defined, argument SHELL_ARGC_MAX
	  and following are passed as one argument in the string.

config SHELL_WILDCARD
	bool "Enable wildcard support in shell"
	select FNMATCH
	default y
	help
	  Enables using wildcards: * and ? in the shell.

config SHELL_ECHO_STATUS
	bool "Enable echo on shell"
	default y
	help
	  If enabled shell prints back every input byte.

config SHELL_VT100_COLORS
	bool "Enable colors in shell"
	default y
	help
	  If enabled VT100 colors are used in shell (e.g. print errors in red).

config SHELL_METAKEYS
	bool "Enable metakeys"
	default y
	help
	  Enables shell meta keys: Ctrl+a, Ctrl+b, Ctrl+c, Ctrl+d, Ctrl+e,
	  Ctrl+f, Ctrl+k, Ctrl+l, Ctrl+u, Ctrl+w, Alt+b, Alt+f
	  Meta keys will not be active when shell echo is set to off.

config SHELL_HELP
	bool "Enable help message"
	default y
	help
	  Enables formatting help message when requested with '-h' or '--help'.

config SHELL_HELP_ON_WRONG_ARGUMENT_COUNT
	bool "Enable printing help on wrong argument count"
	depends on SHELL_HELP
	default y

config SHELL_HISTORY
	bool "Enable history in shell"
	default y
	help
	  Enable commands history. History can be accessed using up and down
	  arrows.

if SHELL_HISTORY

config SHELL_HISTORY_BUFFER
	int "History buffer in bytes"
	default 1024
	help
	  Number of bytes dedicated for storing executed commands.

endif #SHELL_HISTORY

config SHELL_MAX_LOG_MSG_BUFFERED
	int "Maximal number of  log messages in FIFO"
	default 8
	help
	  When amount of buffered log messages exceeds this threshold oldest
	  messages are discarded.

config SHELL_STATS
	bool "Enable shell statistics"
	default y

config SHELL_CMDS
	bool "Enable built-in commands"
	default y
	help
	  Enable built-in commands like 'clear', 'history', etc.

config SHELL_CMDS_RESIZE
	bool "Enable resize command"
	depends on SHELL_CMDS
	default y
	help
	  By default shell assumes width of a terminal screen set to 80
	  characters. Each time terminal screen width is changed resize command
	  must be called to ensure correct text display on the terminal screen.
	  The resize command can be turned off to save code memory (~0,5k).

config SHELL_LOG_BACKEND
	bool
	default y if LOG
	default n if !LOG

source "subsys/shell/modules/Kconfig"

endif #SHELL
endmenu