aboutsummaryrefslogtreecommitdiffstats
path: root/kak/.config/kak/kakrc
diff options
context:
space:
mode:
Diffstat (limited to 'kak/.config/kak/kakrc')
-rw-r--r--kak/.config/kak/kakrc62
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