diff options
Diffstat (limited to 'kak/.config/kak/kakrc')
| -rw-r--r-- | kak/.config/kak/kakrc | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/kak/.config/kak/kakrc b/kak/.config/kak/kakrc new file mode 100644 index 0000000..80b9252 --- /dev/null +++ b/kak/.config/kak/kakrc @@ -0,0 +1,62 @@ +colorscheme gruvbox + +set-option global tabstop 4 +set-option global indentwidth 4 + +set-option global scrolloff 1,3 + +#set-option global ui_options ncurses_status_on_top=true + +add-highlighter global/ number-lines -hlcursor -relative + +add-highlighter global/ regex \h+$ 0:Error + +add-highlighter global/ wrap -word -indent + +#set-option global autoinfo normal + + +# setup plug.kak +source "%val{config}/plugins/plug.kak/rc/plug.kak" + +plug "kak-lsp/kak-lsp" do %{ + cargo install --locked --force --path . +} config %{ + # uncomment to enable debugging + # eval %sh{echo ${kak_opt_lsp_cmd} >> /tmp/kak-lsp.log} + # set global lsp_cmd "kak-lsp -s %val{session} -vvv --log /tmp/kak-lsp.log" + # this is not necessary; the `lsp-enable-window` will take care of it + # eval %sh{${kak_opt_lsp_cmd} --kakoune -s $kak_session} + set global lsp_diagnostic_line_error_sign '║' + set global lsp_diagnostic_line_warning_sign '┊' + define-command ne -docstring 'go to next error/warning from lsp' %{ lsp-find-error --include-warnings } + define-command pe -docstring 'go to previous error/warning from lsp' %{ lsp-find-error --previous --include-warnings } + define-command ee -docstring 'go to current error/warning from lsp' %{ lsp-find-error --include-warnings; lsp-find-error --previous --include-warnings } + + define-command lsp-restart -docstring 'restar lsp server' %{ lsp-stop; lsp-start } + hook global WinSetOption filetype=(c|cpp|cc|rust|javascript|typescript) %{ + set-option window lsp_auto_highlight_references true + set-option window lsp_hover_anchor false + lsp-auto-hover-enable + echo -debug "Enabling LSP for filetype %opt{filetype}" + lsp-enable-window + } + + hook global WinSetOption filetype=(rust) %{ + set window lsp_server_configuration rust.clippy_preference="on" + } + + hook global WinSetOption filetype=rust %{ + hook window BufWritePre .* %{ + evaluate-commands %sh{ + test -f rustfmt.toml %% printf lsp-formatting-sync + } + } + } + + hook global KakEnd .* lsp-exit +} + +# enable lsp +#eval %sh{kak-lsp --kakoune -s $kak_session} +#lsp-enable |
