Search documentation of stdlib

# STDLIB Application

Copy Markdown View Source

## Description

The STDLIB application is mandatory in the sense that the minimal system based on Erlang/OTP consists of Kernel and STDLIB. The STDLIB application contains no services.

## Configuration

The following configuration parameters are defined for the STDLIB application. For more information about configuration parameters, see the `app(4)` module in Kernel.

- `shell_esc = icl | abort` - Can be used to change the behavior of the Erlang shell when ^G is pressed.

- `restricted_shell = module()` - Can be used to run the Erlang shell in restricted mode.

- `shell_catch_exception = boolean()` - Can be used to set the exception handling of the evaluator process of Erlang shell.

- `shell_docs_columns = pos_integer()` - Configures how wide the documentation should be rendered in the shell.

  See also `shell_docs:config/0`.

- `shell_expand_location = above | below` - Sets where the tab expansion text should appear in the shell. The default is `below`. This will open a pager below the cursor that is scrollable one line at a time with `Up/Down` arrow keys or 5 lines at a time with `PgUp/PgDn`.

- `shell_history_length = integer() >= 0` - Can be used to determine how many commands are saved by the Erlang shell. See `edlin` for more.

- `shell_keymap = #{}` - Can be used to override the default keymap configuration for the shell.

- `format_shell_func = {Mod, Func} | string() | default` - Can be used to set the formatting of the Erlang shell output. This has an effect on commands that have been submitted and how it is saved in history or if the formatting hotkey is pressed while editing an expression (Alt+F by default). You can specify a Mod:Func/1 that expects the whole expression as a string and returns a formatted expressions as a string. See `shell:format_shell_func/1` for how to set it from inside the shell.

  If instead a string is provided, it will be used as a shell command. Your command must include `${file}` somewhere in the string, for the shell to know where the file goes in the command.

      -stdlib format_shell_func "\"emacs -batch \${file} -l ~/erlang-format/emacs-format-file -f emacs-format-function\""

      -stdlib format_shell_func "{shell, erl_pp_format_func}"

- `shell_prompt_func = {Mod, Func} | default` - where

  - `Mod = atom()`
  - `Func = atom()`

  Can be used to set a customized Erlang shell prompt function.

- `shell_multiline_prompt = {Mod, Func} | string() | default` - where

  - `Mod = atom()`
  - `Func = atom()`

  Can be used to set a customized multiline shell prompt function. The multiline prompt function takes the main prompt as its only parameter.

- `shell_saved_results = integer() >= 0` - Can be used to determine how many results are saved by the Erlang shell.

- `shell_session_slogan = string() | fun() -> string())` - The slogan printed when starting an Erlang shell. Example:

      $ erl -stdlib shell_session_slogan '"Test slogan"'
      Erlang/OTP 26 [DEVELOPMENT] [erts-13.0.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit:ns]

      Test slogan
      1>

- `shell_slogan = string() | fun(() -> string())` - The slogan printed when starting the Erlang shell subsystem. Example:

      $ erl -stdlib shell_slogan '"Test slogan"'
      Test slogan
      Eshell V13.0.2  (abort with ^G)
      1>

  The default is the return value of `erlang:system_info(system_version)`.

- `shell_strings = boolean()` - Can be used to determine how the Erlang shell outputs lists of integers.

- `shell_hints = boolean()` - Can be used to enable/disable printing of helpful hints in the shell.

## See Also

`app(4)`, `application`, `shell`

Next Page → STDLIB Release Notes