dotfiles/.config/nushell/config.nu.cgt

61 lines
1.4 KiB
Text

# 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 }
},
]
}
<!
local prefix = ".config/nushell/conf.d/"
local dropins = {}
for f in cg.fileIter() do
if f.path:find(prefix, 1, true) == 1 then
table.insert(dropins, f.path:sub(#prefix))
end
end
table.sort(dropins, function(a, b) return a < b end)
!>
<! for _, d in ipairs(dropins) do !>
source conf.d<% d %>
<! end !>