diff options
| author | Akshay Nair <phenax5@gmail.com> | 2025-11-03 23:30:39 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2025-11-03 23:30:39 +0530 |
| commit | 17b59f5ed7acac5dc852c831e1650daac7f169d7 (patch) | |
| tree | 5a0f87e6b011c29556d374ad8950bedeae101b8c /autoload/formatter.kak | |
| parent | 57e213f93cf6e535e57a7b67390820927d6b79f1 (diff) | |
| download | kakoune-config-17b59f5ed7acac5dc852c831e1650daac7f169d7.tar.gz kakoune-config-17b59f5ed7acac5dc852c831e1650daac7f169d7.zip | |
Improve formatters to fallback to lsp + change lsp config
Diffstat (limited to 'autoload/formatter.kak')
| -rw-r--r-- | autoload/formatter.kak | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/autoload/formatter.kak b/autoload/formatter.kak index 6012604..955ad14 100644 --- a/autoload/formatter.kak +++ b/autoload/formatter.kak @@ -1,20 +1,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 formatcmd %{npx biome check --fix --stdin-file-path=$kak_buffile 2>/dev/null}" + 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 } +} -hook global BufSetOption filetype=(?:ruby) %{ - evaluate-commands %sh{ - echo "set-option buffer formatcmd %{rubocop -x --stderr -s '$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 } } - |
