sync default config / env with default behaviour without any configuration (#9676)

related PRs and issues
- supersedes https://github.com/nushell/nushell/pull/9633
- should close https://github.com/nushell/nushell/issues/9630

# Description
this PR updates the `default_config.nu` config file and the `config.rs`
module in `nu_protocol` so that the default behaviour of Nushell,
without any config, and the one with `default_config.nu` and
`default_env.nu` are the same.

## changelog
- 3e2bfc9bb: copy the structure of `default_config.nu` inside the
implementation of `Default` in the `config.rs` module for easier check
of the default values
- e25e5ccd6: sync all the *simple* config fields, i.e. the
non-structured ones
- ae7e8111c: set the `display_output` hook to always run `table`
- a09a1c564: leave only the default menus => i've removed
`commands_menu`, `vars_menu` and `commands_with_description`

## todo
- [x] ~~check the defaults in `$env.config.explore`~~ done in 173bdbba5
and b9622084c
- [x] ~~check the defaults in `$env.config.color_config`~~ done in
c411d781d => the theme is now `{}` by default so that it's the same as
the default one with `--no-config`
- [x] ~~check the defaults `$env.config.keybindings`~~ done in 715a69797
- already available with the selected mode: `completion_previous`,
`next_page`, `undo_or_previous_page`, `yank`, `unix-line-discard` and
`kill-line`, e.g. in *vi* mode, `unlix-line-discard` is done in NORMAL
mode with either `d0` from the end of the line or `dd` from anywhere in
the line and `kill-line` is done in NORMAL mode with `shift + d`. these
bindings are available by default in *emacs* mode as well.
- previously with removed custom menus: `commands_menu`, `vars_menu` and
`commands_with_description`
- [x] ~~check `$env.config.datetime_format`~~ done in 0ced6b8ec => as
there is no *human* format for datetimes, i've commented out both
`$env.config.datetime_format` fields
- [x] ~~fix `default_env.nu`~~ done in 67c215011

# User-Facing Changes
this should not change anything, just make sure the default behaviour of
Nushell and the `default_config.nu` are in sync.

# Tests + Formatting
# After Submitting
This commit is contained in:
Antoine Stevan 2023-07-18 18:22:00 +02:00 committed by GitHub
parent cc202e2199
commit 345c00aa1e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 496 additions and 223 deletions

View file

@ -243,7 +243,7 @@ fn table_collapse_does_wrapping_for_long_strings() {
\ \
111111111111111109312339230430 \ 111111111111111109312339230430 \
179149313814687359833671239329 \ 179149313814687359833671239329 \
01313323321729744896.0000 \ 01313323321729744896.00 \
" "
); );
} }

View file

@ -113,47 +113,61 @@ pub struct Config {
impl Default for Config { impl Default for Config {
fn default() -> Config { fn default() -> Config {
Config { Config {
filesize_metric: false, show_banner: true,
table_mode: "rounded".into(),
table_show_empty: true,
external_completer: None,
use_ls_colors: true, use_ls_colors: true,
color_config: HashMap::new(), show_clickable_links_in_ls: true,
use_grid_icons: false,
footer_mode: FooterMode::RowCount(25), rm_always_trash: false,
float_precision: 4,
max_external_completion_results: 100, cd_with_abbreviations: false,
filesize_format: "auto".into(),
use_ansi_coloring: true, table_mode: "rounded".into(),
table_index_mode: TableIndexMode::Always,
table_show_empty: true,
trim_strategy: TRIM_STRATEGY_DEFAULT,
datetime_normal_format: None,
datetime_table_format: None,
explore: HashMap::new(),
max_history_size: 100_000,
sync_history_on_enter: true,
history_file_format: HistoryFileFormat::PlainText,
history_isolation: true,
case_sensitive_completions: false,
quick_completions: true, quick_completions: true,
partial_completions: true, partial_completions: true,
completion_algorithm: "prefix".into(), completion_algorithm: "prefix".into(),
edit_mode: "emacs".into(),
max_history_size: i64::MAX,
sync_history_on_enter: true,
history_file_format: HistoryFileFormat::PlainText,
history_isolation: false,
keybindings: Vec::new(),
menus: Vec::new(),
hooks: Hooks::new(),
rm_always_trash: false,
shell_integration: false,
buffer_editor: String::new(),
table_index_mode: TableIndexMode::Always,
cd_with_abbreviations: false,
case_sensitive_completions: false,
enable_external_completion: true, enable_external_completion: true,
trim_strategy: TRIM_STRATEGY_DEFAULT, max_external_completion_results: 100,
show_banner: true, external_completer: None,
bracketed_paste: true,
show_clickable_links_in_ls: true, filesize_metric: false,
render_right_prompt_on_last_line: false, filesize_format: "auto".into(),
explore: HashMap::new(),
cursor_shape_emacs: NuCursorShape::Line,
cursor_shape_vi_insert: NuCursorShape::Block, cursor_shape_vi_insert: NuCursorShape::Block,
cursor_shape_vi_normal: NuCursorShape::UnderScore, cursor_shape_vi_normal: NuCursorShape::UnderScore,
cursor_shape_emacs: NuCursorShape::Line,
datetime_normal_format: None, color_config: HashMap::new(),
datetime_table_format: None, use_grid_icons: true,
footer_mode: FooterMode::RowCount(25),
float_precision: 2,
buffer_editor: String::new(),
use_ansi_coloring: true,
bracketed_paste: true,
edit_mode: "emacs".into(),
shell_integration: false,
render_right_prompt_on_last_line: false,
hooks: Hooks::new(),
menus: Vec::new(),
keybindings: Vec::new(),
} }
} }
} }

View file

@ -184,18 +184,21 @@ let light_theme = {
# The default config record. This is where much of your global configuration is setup. # The default config record. This is where much of your global configuration is setup.
$env.config = { $env.config = {
# true or false to enable or disable the welcome banner at startup show_banner: true # true or false to enable or disable the welcome banner at startup
show_banner: true
ls: { ls: {
use_ls_colors: true # use the LS_COLORS environment variable to colorize output use_ls_colors: true # use the LS_COLORS environment variable to colorize output
clickable_links: true # enable or disable clickable links. Your terminal has to support links. clickable_links: true # enable or disable clickable links. Your terminal has to support links.
} }
rm: { rm: {
always_trash: false # always act as if -t was given. Can be overridden with -p always_trash: false # always act as if -t was given. Can be overridden with -p
} }
cd: { cd: {
abbreviations: false # allows `cd s/o/f` to expand to `cd some/other/folder` abbreviations: false # allows `cd s/o/f` to expand to `cd some/other/folder`
} }
table: { table: {
mode: rounded # basic, compact, compact_double, light, thin, with_love, rounded, reinforced, heavy, none, other mode: rounded # basic, compact, compact_double, light, thin, with_love, rounded, reinforced, heavy, none, other
index_mode: always # "always" show indexes, "never" show indexes, "auto" = show indexes when a table has "index" column index_mode: always # "always" show indexes, "never" show indexes, "auto" = show indexes when a table has "index" column
@ -210,67 +213,38 @@ $env.config = {
# datetime_format determines what a datetime rendered in the shell would look like. # datetime_format determines what a datetime rendered in the shell would look like.
# Behavior without this configuration point will be to "humanize" the datetime display, # Behavior without this configuration point will be to "humanize" the datetime display,
# showing something like "a day ago." # showing something like "a day ago."
datetime_format: { datetime_format: {
normal: '%a, %d %b %Y %H:%M:%S %z' # shows up in displays of variables or other datetime's outside of tables # normal: '%a, %d %b %Y %H:%M:%S %z' # shows up in displays of variables or other datetime's outside of tables
# table: '%m/%d/%y %I:%M:%S%p' # generally shows up in tabular outputs such as ls. commenting this out will change it to the default human readable datetime format # table: '%m/%d/%y %I:%M:%S%p' # generally shows up in tabular outputs such as ls. commenting this out will change it to the default human readable datetime format
} }
explore: { explore: {
help_banner: true
exit_esc: true
command_bar_text: '#C4C9C6'
# command_bar: {fg: '#C4C9C6' bg: '#223311' }
status_bar_background: {fg: '#1D1F21' bg: '#C4C9C6' }
# status_bar_text: {fg: '#C4C9C6' bg: '#223311' }
highlight: {bg: 'yellow' fg: 'black' }
status: {
# warn: {bg: 'yellow', fg: 'blue'}
# error: {bg: 'yellow', fg: 'blue'}
# info: {bg: 'yellow', fg: 'blue'}
}
try: { try: {
# border_color: 'red' border_color: {fg: "white"}
# highlighted_color: 'blue' },
status_bar_background: {fg: "#1D1F21", bg: "#C4C9C6"},
# reactive: false command_bar_text: {fg: "#C4C9C6"},
} highlight: {fg: "black", bg: "yellow"},
status: {
error: {fg: "white", bg: "red"},
warn: {}
info: {}
},
table: { table: {
split_line: '#404040' split_line: {fg: "#404040"},
selected_cell: {},
cursor: true selected_row: {},
selected_column: {},
line_index: true cursor: true,
line_shift: true line_head_top: true,
line_head_top: true line_head_bottom: true,
line_head_bottom: true line_shift: true,
line_index: true,
show_head: true },
show_index: true
# selected_cell: {fg: 'white', bg: '#777777'}
# selected_row: {fg: 'yellow', bg: '#C1C2A3'}
# selected_column: blue
# padding_column_right: 2
# padding_column_left: 2
# padding_index_left: 2
# padding_index_right: 1
}
config: { config: {
cursor_color: {bg: 'yellow' fg: 'black' } border_color: {fg: "white"}
cursor_color: {fg: "black", bg: "light_yellow"}
# border_color: white },
# list_color: green
}
} }
history: { history: {
@ -279,6 +253,7 @@ $env.config = {
file_format: "plaintext" # "sqlite" or "plaintext" file_format: "plaintext" # "sqlite" or "plaintext"
isolation: true # true enables history isolation, false disables it. true will allow the history to be isolated to the current session. false will allow the history to be shared across all sessions. isolation: true # true enables history isolation, false disables it. true will allow the history to be isolated to the current session. false will allow the history to be shared across all sessions.
} }
completions: { completions: {
case_sensitive: false # set to true to enable case-sensitive completions case_sensitive: false # set to true to enable case-sensitive completions
quick: true # set this to false to prevent auto-selecting completions when only one remains quick: true # set this to false to prevent auto-selecting completions when only one remains
@ -290,20 +265,23 @@ $env.config = {
completer: null # check 'carapace_completer' above as an example completer: null # check 'carapace_completer' above as an example
} }
} }
filesize: { filesize: {
metric: true # true => KB, MB, GB (ISO standard), false => KiB, MiB, GiB (Windows standard) metric: true # true => KB, MB, GB (ISO standard), false => KiB, MiB, GiB (Windows standard)
format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, auto format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, auto
} }
cursor_shape: { cursor_shape: {
emacs: line # block, underscore, line, blink_block, blink_underscore, blink_line (line is the default) emacs: line # block, underscore, line, blink_block, blink_underscore, blink_line (line is the default)
vi_insert: block # block, underscore, line , blink_block, blink_underscore, blink_line (block is the default) vi_insert: block # block, underscore, line , blink_block, blink_underscore, blink_line (block is the default)
vi_normal: underscore # block, underscore, line, blink_block, blink_underscore, blink_line (underscore is the default) vi_normal: underscore # block, underscore, line, blink_block, blink_underscore, blink_line (underscore is the default)
} }
color_config: $dark_theme # if you want a light theme, replace `$dark_theme` to `$light_theme`
color_config: {} # if you want a more interesting theme, you can replace the empty record with `$dark_theme`, `$light_theme` or another custom record
use_grid_icons: true use_grid_icons: true
footer_mode: "25" # always, never, number_of_rows, auto footer_mode: "25" # always, never, number_of_rows, auto
float_precision: 2 # the precision for displaying floats in tables float_precision: 2 # the precision for displaying floats in tables
# buffer_editor: "emacs" # command that will be used to edit the current line buffer with ctrl+o, if unset fallback to $env.EDITOR and $env.VISUAL buffer_editor: "" # command that will be used to edit the current line buffer with ctrl+o, if unset fallback to $env.EDITOR and $env.VISUAL
use_ansi_coloring: true use_ansi_coloring: true
bracketed_paste: true # enable bracketed paste, currently useless on windows bracketed_paste: true # enable bracketed paste, currently useless on windows
edit_mode: emacs # emacs, vi edit_mode: emacs # emacs, vi
@ -311,24 +289,15 @@ $env.config = {
render_right_prompt_on_last_line: false # true or false to enable or disable right prompt to be rendered on last line of the prompt. render_right_prompt_on_last_line: false # true or false to enable or disable right prompt to be rendered on last line of the prompt.
hooks: { hooks: {
pre_prompt: [{|| pre_prompt: [{ null }] # run before the prompt is shown
null # replace with source code to run before the prompt is shown pre_execution: [{ null }] # run before the repl input is run
}]
pre_execution: [{||
null # replace with source code to run before the repl input is run
}]
env_change: { env_change: {
PWD: [{|before, after| PWD: [{|before, after| null }] # run if the PWD environment is different since the last repl input
null # replace with source code to run if the PWD environment is different since the last repl input
}]
}
display_output: {||
if (term size).columns >= 100 { table -e } else { table }
}
command_not_found: {||
null # replace with source code to return an error message when a command is not found
} }
display_output: { table } # run before the output of a command is drawn, example: `{ if (term size).columns >= 100 { table -e } else { table } }`
command_not_found: { null } # return an error message when a command is not found
} }
menus: [ menus: [
# Configuration for default nushell menus # Configuration for default nushell menus
# Note the lack of source parameter # Note the lack of source parameter
@ -380,74 +349,8 @@ $env.config = {
description_text: yellow description_text: yellow
} }
} }
# Example of extra menus created using a nushell source
# Use the source field to create a list of records that populates
# the menu
{
name: commands_menu
only_buffer_difference: false
marker: "# "
type: {
layout: columnar
columns: 4
col_width: 20
col_padding: 2
}
style: {
text: green
selected_text: green_reverse
description_text: yellow
}
source: { |buffer, position|
scope commands
| where name =~ $buffer
| each { |it| {value: $it.name description: $it.usage} }
}
}
{
name: vars_menu
only_buffer_difference: true
marker: "# "
type: {
layout: list
page_size: 10
}
style: {
text: green
selected_text: green_reverse
description_text: yellow
}
source: { |buffer, position|
scope variables
| where name =~ $buffer
| sort-by name
| each { |it| {value: $it.name description: $it.type} }
}
}
{
name: commands_with_description
only_buffer_difference: true
marker: "# "
type: {
layout: description
columns: 4
col_width: 20
col_padding: 2
selection_rows: 4
description_rows: 10
}
style: {
text: green
selected_text: green_reverse
description_text: yellow
}
source: { |buffer, position|
scope commands
| where name =~ $buffer
| each { |it| {value: $it.name description: $it.usage} }
}
}
] ]
keybindings: [ keybindings: [
{ {
name: completion_menu name: completion_menu
@ -461,29 +364,36 @@ $env.config = {
] ]
} }
} }
{
name: completion_previous
modifier: shift
keycode: backtab
mode: [emacs, vi_normal, vi_insert] # Note: You can add the same keybinding to all modes by using a list
event: { send: menuprevious }
}
{ {
name: history_menu name: history_menu
modifier: control modifier: control
keycode: char_r keycode: char_r
mode: emacs mode: [emacs, vi_insert, vi_normal]
event: { send: menu name: history_menu } event: { send: menu name: history_menu }
} }
{ {
name: next_page name: help_menu
modifier: none
keycode: f1
mode: [emacs, vi_insert, vi_normal]
event: { send: menu name: help_menu }
}
{
name: completion_previous_menu
modifier: shift
keycode: backtab
mode: [emacs, vi_normal, vi_insert]
event: { send: menuprevious }
}
{
name: next_page_menu
modifier: control modifier: control
keycode: char_x keycode: char_x
mode: emacs mode: emacs
event: { send: menupagenext } event: { send: menupagenext }
} }
{ {
name: undo_or_previous_page name: undo_or_previous_page_menu
modifier: control modifier: control
keycode: char_z keycode: char_z
mode: emacs mode: emacs
@ -494,60 +404,413 @@ $env.config = {
] ]
} }
} }
{ {
name: yank name: escape
modifier: control modifier: none
keycode: char_y keycode: escape
mode: emacs mode: [emacs, vi_normal, vi_insert]
event: { event: { send: esc } # NOTE: does not appear to work
until: [
{edit: pastecutbufferafter}
]
}
} }
{ {
name: unix-line-discard name: cancel_command
modifier: control modifier: control
keycode: char_u keycode: char_c
mode: [emacs, vi_normal, vi_insert]
event: { send: ctrlc }
}
{
name: quit_shell
modifier: control
keycode: char_d
mode: [emacs, vi_normal, vi_insert]
event: { send: ctrld }
}
{
name: clear_screen
modifier: control
keycode: char_l
mode: [emacs, vi_normal, vi_insert]
event: { send: clearscreen }
}
{
name: search_history
modifier: control
keycode: char_r
mode: [emacs, vi_normal, vi_insert]
event: { send: searchhistory }
}
{
name: open_command_editor
modifier: control
keycode: char_o
mode: [emacs, vi_normal, vi_insert]
event: { send: openeditor }
}
{
name: move_up
modifier: none
keycode: up
mode: [emacs, vi_normal, vi_insert] mode: [emacs, vi_normal, vi_insert]
event: { event: {
until: [ until: [
{edit: cutfromlinestart} {send: menuup}
{send: up}
] ]
} }
} }
{ {
name: kill-line name: move_down
modifier: control modifier: none
keycode: char_k keycode: down
mode: [emacs, vi_normal, vi_insert] mode: [emacs, vi_normal, vi_insert]
event: { event: {
until: [ until: [
{edit: cuttolineend} {send: menudown}
{send: down}
] ]
} }
} }
# Keybindings used to trigger the user defined menus
{ {
name: commands_menu name: move_left
modifier: none
keycode: left
mode: [emacs, vi_normal, vi_insert]
event: {
until: [
{send: menuleft}
{send: left}
]
}
}
{
name: move_right_or_take_history_hint
modifier: none
keycode: right
mode: [emacs, vi_normal, vi_insert]
event: {
until: [
{send: historyhintcomplete}
{send: menuright}
{send: right}
]
}
}
{
name: move_one_word_left
modifier: control
keycode: left
mode: [emacs, vi_normal, vi_insert]
event: {edit: movewordleft}
}
{
name: move_one_word_right_or_take_history_hint
modifier: control
keycode: right
mode: [emacs, vi_normal, vi_insert]
event: {
until: [
{send: historyhintwordcomplete}
{edit: movewordright}
]
}
}
{
name: move_to_line_start
modifier: none
keycode: home
mode: [emacs, vi_normal, vi_insert]
event: {edit: movetolinestart}
}
{
name: move_to_line_start
modifier: control
keycode: char_a
mode: [emacs, vi_normal, vi_insert]
event: {edit: movetolinestart}
}
{
name: move_to_line_end_or_take_history_hint
modifier: none
keycode: end
mode: [emacs, vi_normal, vi_insert]
event: {
until: [
{send: historyhintcomplete}
{edit: movetolineend}
]
}
}
{
name: move_to_line_end_or_take_history_hint
modifier: control
keycode: char_e
mode: [emacs, vi_normal, vi_insert]
event: {
until: [
{send: historyhintcomplete}
{edit: movetolineend}
]
}
}
{
name: move_to_line_start
modifier: control
keycode: home
mode: [emacs, vi_normal, vi_insert]
event: {edit: movetolinestart}
}
{
name: move_to_line_end
modifier: control
keycode: end
mode: [emacs, vi_normal, vi_insert]
event: {edit: movetolineend}
}
{
name: move_up
modifier: control
keycode: char_p
mode: [emacs, vi_normal, vi_insert]
event: {
until: [
{send: menuup}
{send: up}
]
}
}
{
name: move_down
modifier: control modifier: control
keycode: char_t keycode: char_t
mode: [emacs, vi_normal, vi_insert] mode: [emacs, vi_normal, vi_insert]
event: { send: menu name: commands_menu } event: {
until: [
{send: menudown}
{send: down}
]
}
}
{
name: delete_one_character_backward
modifier: none
keycode: backspace
mode: [emacs, vi_insert]
event: {edit: backspace}
} }
{ {
name: vars_menu name: delete_one_word_backward
modifier: alt modifier: control
keycode: char_o keycode: backspace
mode: [emacs, vi_normal, vi_insert] mode: [emacs, vi_insert]
event: { send: menu name: vars_menu } event: {edit: backspaceword}
} }
{ {
name: commands_with_description name: delete_one_character_forward
modifier: control modifier: none
keycode: char_s keycode: delete
mode: [emacs, vi_normal, vi_insert] mode: [emacs, vi_insert]
event: { send: menu name: commands_with_description } event: {edit: delete}
}
{
name: delete_one_character_forward
modifier: control
keycode: delete
mode: [emacs, vi_insert]
event: {edit: delete}
}
{
name: delete_one_character_forward
modifier: control
keycode: char_h
mode: [emacs, vi_insert]
event: {edit: backspace}
}
{
name: delete_one_word_backward
modifier: control
keycode: char_w
mode: [emacs, vi_insert]
event: {edit: backspaceword}
}
{
name: move_left
modifier: none
keycode: backspace
mode: vi_normal
event: {edit: moveleft}
}
{
name: newline_or_run_command
modifier: none
keycode: enter
mode: emacs
event: {send: enter}
}
{
name: move_left
modifier: control
keycode: char_b
mode: emacs
event: {
until: [
{send: menuleft}
{send: left}
]
}
}
{
name: move_right_or_take_history_hint
modifier: control
keycode: char_f
mode: emacs
event: {
until: [
{send: historyhintcomplete}
{send: menuright}
{send: right}
]
}
}
{
name: redo_change
modifier: control
keycode: char_g
mode: emacs
event: {edit: redo}
}
{
name: undo_change
modifier: control
keycode: char_z
mode: emacs
event: {edit: undo}
}
{
name: paste_before
modifier: control
keycode: char_y
mode: emacs
event: {edit: pastecutbufferbefore}
}
{
name: cut_word_left
modifier: control
keycode: char_w
mode: emacs
event: {edit: cutwordleft}
}
{
name: cut_line_to_end
modifier: control
keycode: char_k
mode: emacs
event: {edit: cuttoend}
}
{
name: cut_line_from_start
modifier: control
keycode: char_u
mode: emacs
event: {edit: cutfromstart}
}
{
name: swap_graphemes
modifier: control
keycode: char_t
mode: emacs
event: {edit: swapgraphemes}
}
{
name: move_one_word_left
modifier: alt
keycode: left
mode: emacs
event: {edit: movewordleft}
}
{
name: move_one_word_right_or_take_history_hint
modifier: alt
keycode: right
mode: emacs
event: {
until: [
{send: historyhintwordcomplete}
{send: movewordright}
]
}
}
{
name: move_one_word_left
modifier: alt
keycode: char_b
mode: emacs
event: {edit: movewordleft}
}
{
name: move_one_word_right_or_take_history_hint
modifier: alt
keycode: char_f
mode: emacs
event: {
until: [
{send: historyhintwordcomplete}
{send: movewordright}
]
}
}
{
name: delete_one_word_forward
modifier: alt
keycode: delete
mode: emacs
event: {edit: deleteword}
}
{
name: delete_one_word_backward
modifier: alt
keycode: backspace
mode: emacs
event: {edit: backspaceword}
}
{
name: delete_one_word_backward
modifier: alt
keycode: char_m
mode: emacs
event: {edit: backspaceword}
}
{
name: cut_word_to_right
modifier: alt
keycode: char_d
mode: emacs
event: {edit: cutwordright}
}
{
name: upper_case_word
modifier: alt
keycode: char_u
mode: emacs
event: {edit: uppercaseword}
}
{
name: lower_case_word
modifier: alt
keycode: char_l
mode: emacs
event: {edit: lowercaseword}
}
{
name: capitalize_char
modifier: alt
keycode: char_c
mode: emacs
event: {edit: capitalizechar}
} }
] ]
} }

View file

@ -44,13 +44,13 @@ def create_right_prompt [] {
# Use nushell functions to define your right and left prompt # Use nushell functions to define your right and left prompt
$env.PROMPT_COMMAND = {|| create_left_prompt } $env.PROMPT_COMMAND = {|| create_left_prompt }
$env.PROMPT_COMMAND_RIGHT = {|| create_right_prompt } # $env.PROMPT_COMMAND_RIGHT = {|| create_right_prompt }
# The prompt indicators are environmental variables that represent # The prompt indicators are environmental variables that represent
# the state of the prompt # the state of the prompt
$env.PROMPT_INDICATOR = {|| "> " } $env.PROMPT_INDICATOR = {|| " > " }
$env.PROMPT_INDICATOR_VI_INSERT = {|| ": " } $env.PROMPT_INDICATOR_VI_INSERT = {|| " : " }
$env.PROMPT_INDICATOR_VI_NORMAL = {|| "> " } $env.PROMPT_INDICATOR_VI_NORMAL = {|| " > " }
$env.PROMPT_MULTILINE_INDICATOR = {|| "::: " } $env.PROMPT_MULTILINE_INDICATOR = {|| "::: " }
# Specifies how environment variables are: # Specifies how environment variables are:
@ -69,17 +69,13 @@ $env.ENV_CONVERSIONS = {
} }
# Directories to search for scripts when calling source or use # Directories to search for scripts when calling source or use
#
# By default, <nushell-config-dir>/scripts is added
$env.NU_LIB_DIRS = [ $env.NU_LIB_DIRS = [
($nu.default-config-dir | path join 'scripts') # ($nu.default-config-dir | path join 'scripts') # add <nushell-config-dir>/scripts
] ]
# Directories to search for plugin binaries when calling register # Directories to search for plugin binaries when calling register
#
# By default, <nushell-config-dir>/plugins is added
$env.NU_PLUGIN_DIRS = [ $env.NU_PLUGIN_DIRS = [
($nu.default-config-dir | path join 'plugins') # ($nu.default-config-dir | path join 'plugins') # add <nushell-config-dir>/plugins
] ]
# To add entries to PATH (on Windows you might use Path), you can use the following pattern: # To add entries to PATH (on Windows you might use Path), you can use the following pattern: