aboutsummaryrefslogtreecommitdiff
path: root/autoload/formatter.kak
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2025-11-03 23:30:39 +0530
committerAkshay Nair <phenax5@gmail.com>2025-11-03 23:30:39 +0530
commit17b59f5ed7acac5dc852c831e1650daac7f169d7 (patch)
tree5a0f87e6b011c29556d374ad8950bedeae101b8c /autoload/formatter.kak
parent57e213f93cf6e535e57a7b67390820927d6b79f1 (diff)
downloadkakoune-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.kak24
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
}
}
-