# See: https://www.nushell.sh/cookbook/external_completers.html#fish-completer let fish_completer = {|spans| fish --command $'complete "--do-complete=($spans | str join " ")"' | $"value(char tab)description(char newline)" + $in | from tsv --flexible --no-infer } $env.config = { show_banner: false table: { mode: reinforced padding: { left: 0, right: 0 } header_on_separator: true } completions: { external: (if (which fish | is-not-empty) { { enable: true completer: $fish_completer } } else { {} }) } cursor_shape: { vi_insert: line vi_normal: block } edit_mode: vi use_kitty_protocol: true highlight_resolved_externals: true history: { file_format: "sqlite" isolation: true } keybindings: [ { name: new_line_shift modifier: shift keycode: enter mode: vi_insert event: { edit: insertnewline } }, ] } source conf.d<% d %>