mirror of
https://github.com/elkowar/dots-of-war.git
synced 2024-12-27 06:32:23 +00:00
99 lines
3.6 KiB
Text
99 lines
3.6 KiB
Text
source "%val{config}/plugins/plug.kak/rc/plug.kak"
|
|
|
|
plug "h-youhei/kakoune-surround"
|
|
|
|
plug "andreyorst/fzf.kak" config %{
|
|
map global user -docstring 'fzf' f ': fzf-mode<ret>'
|
|
} defer fzf %{
|
|
set-option global fzf_grep_command rg
|
|
set-option global fzf_file_command rg
|
|
}
|
|
|
|
plug "ul/kak-lsp" do %{
|
|
cargo install --locked --force --path .
|
|
} config %{
|
|
hook global WinSetOption filetype=(rust|python|go|javascript|typescript|c|cpp) %{
|
|
lsp-enable-window
|
|
# lsp-auto-hover-enable
|
|
lsp-auto-hover-insert-mode-disable
|
|
set-option window lsp_hover_anchor true
|
|
set-face window DiagnosticError default+u
|
|
set-face window DiagnosticWarning default+u
|
|
set global lsp_hover_anchor true
|
|
}
|
|
hook global WinSetOption filetype=rust %{
|
|
# hook window -group rust-inlay-hints BufReload .* rust-analyzer-inlay-hints
|
|
# hook window -group rust-inlay-hints NormalIdle .* rust-analyzer-inlay-hints
|
|
# hook window -group rust-inlay-hints InsertIdle .* rust-analyzer-inlay-hints
|
|
|
|
# hook -once -always window WinSetOption filetype=.* %{
|
|
# remove-hooks window rust-inlay-hints
|
|
# }
|
|
#
|
|
hook window -group semantic-tokens BufReload .* lsp-semantic-tokens
|
|
hook window -group semantic-tokens NormalIdle .* lsp-semantic-tokens
|
|
hook window -group semantic-tokens InsertIdle .* lsp-semantic-tokens
|
|
hook -once -always window WinSetOption filetype=.* %{
|
|
remove-hooks window semantic-tokens
|
|
}
|
|
|
|
lsp-inlay-diagnostics-enable global
|
|
}
|
|
}
|
|
|
|
|
|
plug 'delapouite/kakoune-buffers' %{
|
|
map global normal ^ q
|
|
map global normal <a-^> Q
|
|
map global normal q b
|
|
map global normal Q B
|
|
map global normal <a-q> <a-b>
|
|
map global normal <a-Q> <a-B>
|
|
map global user b ': enter-buffers-mode<ret>' -docstring 'buffers'
|
|
map global normal B ': enter-user-mode -lock buffers<ret>' -docstring 'buffers (lock)'
|
|
}
|
|
|
|
|
|
map global user m ':enter-user-mode lsp<ret>' -docstring 'code stuff'
|
|
map global lsp g ':lsp-definition<ret>' -docstring 'go to definition'
|
|
map global lsp d ':lsp-hover<ret>' -docstring 'lsp hover'
|
|
map global lsp n ':lsp-rename-prompt<ret>' -docstring 'rename symbol'
|
|
map global lsp m ':lsp-find-error --next<ret>' -docstring 'next error'
|
|
|
|
map global normal , '<space>'
|
|
map global normal <space> ':enter-user-mode user<ret>'
|
|
|
|
map global insert <tab> '<a-;><a-gt>'
|
|
map global insert <s-tab> '<a-;><a-lt>'
|
|
map global insert <c-w> '<esc>bc'
|
|
|
|
declare-user-mode surround
|
|
map global surround s ':surround<ret>' -docstring 'surround'
|
|
map global surround c ':change-surround<ret>' -docstring 'change'
|
|
map global surround d ':delete-surround<ret>' -docstring 'delete'
|
|
map global surround t ':select-surrounding-tag<ret>' -docstring 'select tag'
|
|
map global user s ':enter-user-mode surround<ret>' -docstring 'surround mode'
|
|
|
|
# map global user b ':buffer ' -docstring 'switch buffer'
|
|
map global normal <c-p> ':fzf-mode<ret>'
|
|
|
|
declare-user-mode commenting
|
|
map global user c ':enter-user-mode commenting<ret>' -docstring 'comment'
|
|
map global commenting <space> ':comment-line<ret>' -docstring 'comment block'
|
|
|
|
|
|
|
|
map global user y '<a-|>xsel -i -b<ret>' -docstring 'yank to system clipboard'
|
|
map global user P '!xsel --output --clipboard<ret>' -docstring 'paste before from system clipboard'
|
|
map global user p '<a-!>xsel --output --clipboard<ret>' -docstring 'paste after from system clipboard'
|
|
|
|
colorscheme gruvbox
|
|
|
|
add-highlighter global/ show-matching
|
|
|
|
|
|
# fancy rust :; shit
|
|
hook global InsertChar ";" %{ try %{
|
|
exec -draft hH "<a-k>:;<ret>" d
|
|
exec "::"
|
|
}}
|