blob: 955ad14a909a87e7f751ea0d189b6d8800a3b648 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
declare-option str formatlspserver;
hook global BufSetOption filetype=json %{ set-option buffer formatcmd "jq" }
hook global BufSetOption filetype=fennel %{ set-option buffer formatcmd "fnlfmt -" }
hook global BufSetOption filetype=nix %{ set-option buffer formatcmd "nixfmt -" }
hook global BufSetOption filetype=ruby %{ set-option buffer formatlspserver rubocop }
hook global BufSetOption filetype=(?:javascript|typescript) %{
evaluate-commands %sh{
if [ -f "$PWD/biome.json" ]; then
echo "set-option buffer formatlspserver biome"
else
echo "set-option buffer formatlspserver typescript-language-server"
fi
}
}
define-command biome -docstring 'Format file on disk using biome' %{
nop %sh{ npx biome check --fix --stdin-file-path=$kak_buffile }
}
define-command apply-formatting -docstring 'Apply formatting with formatcmd or lsp' %{
eval %sh{
if [ -n "$kak_opt_formatcmd" ]; then
echo format-buffer
elif [ -n "$kak_opt_formatlspserver" ]; then
echo "lsp-formatting-sync $kak_opt_formatlspserver"
else
echo lsp-formatting-sync
fi
}
}
|