117 lines
4.2 KiB
Text
117 lines
4.2 KiB
Text
source "%val{config}/bundle/kak-bundle/rc/kak-bundle.kak"
|
||
bundle-noload kak-bundle "ln -sf ~/workspace/kak-bundle/"
|
||
|
||
bundle kakoune-lsp "https://github.com/kakoune-lsp/kakoune-lsp" %{
|
||
set-option global lsp_diagnostic_line_error_sign
|
||
set-option global lsp_diagnostic_line_hint_sign ?
|
||
set-option global lsp_diagnostic_line_info_sign ℹ
|
||
set-option global lsp_diagnostic_line_warning_sign
|
||
|
||
# kakoune-lsp doesn't have a command to enable auto-hover per buffer,
|
||
# only supporting enabling auto-hover globally,
|
||
# which causes issues in filetypes that don't have lsp set up.
|
||
# So, we need to define one ourselves.
|
||
define-command lsp-auto-hover-enable-buffer %{
|
||
remove-hooks buffer lsp-auto-hover
|
||
hook -group lsp-auto-hover buffer NormalIdle .* %{ lsp-check-auto-hover lsp-hover }
|
||
}
|
||
|
||
# Convenience commands for enabling lsp features
|
||
define-command lsp-semantic-tokens-enable %{
|
||
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
|
||
}
|
||
}
|
||
define-command lsp-enable-buffer %{
|
||
lsp-enable-window
|
||
lsp-auto-hover-enable-buffer
|
||
lsp-inlay-diagnostics-enable buffer
|
||
lsp-inlay-hints-enable buffer
|
||
}
|
||
|
||
# We want to be explicit about lsp server settings per filetype
|
||
# So, we are disabling the default lsp server hooks
|
||
remove-hooks global lsp-filetype-.*
|
||
}
|
||
bundle-install-hook kakoune-lsp %{
|
||
CARGO_PROFILE_RELEASE_LTO=false cargo install --locked --force --path .
|
||
}
|
||
|
||
bundle-noload everforest.kak "ln -sf ~/workspace/everforest.kak/"
|
||
bundle-install-hook everforest.kak %{
|
||
mkdir -p "${kak_config}/colors"
|
||
ln -sf "${kak_opt_bundle_path}/everforest.kak" "${kak_config}/colors/"
|
||
}
|
||
bundle-cleaner everforest.kak %{
|
||
rm "${kak_config}/colors/everforest.kak"
|
||
}
|
||
|
||
bundle luar "https://github.com/gustavo-hms/luar" %@
|
||
require-module luar
|
||
|
||
# Luar's highlighters are very subtly broken so we need to replace them
|
||
# TODO: submit a PR to luar with these fixes.
|
||
remove-highlighter shared/kakrc/lua1
|
||
remove-highlighter shared/kakrc/lua2
|
||
remove-highlighter shared/kakrc/lua3
|
||
remove-highlighter shared/kakrc/lua4
|
||
add-highlighter shared/kakrc/lua1 region -recurse '\{' '(^|\h)lua\s(([\s{}\w%/$-|''"])* )?%\{\K' '\}' ref lua
|
||
add-highlighter shared/kakrc/lua2 region -recurse '\(' '(^|\h)lua\s(([\s{}\w%/$-|''"])* )?%\(\K' '\)' ref lua
|
||
add-highlighter shared/kakrc/lua3 region -recurse '\[' '(^|\h)lua\s(([\s{}\w%/$-|''"])* )?%\[\K' '\]' ref lua
|
||
add-highlighter shared/kakrc/lua4 region -recurse '<' '(^|\h)lua\s(([\s{}\w%/$-|''"])* )?%<\K' '>' ref lua
|
||
@
|
||
|
||
bundle kakoune-focus "https://github.com/caksoylar/kakoune-focus" %{
|
||
map global user <space> ':focus-toggle<ret>' -docstring "toggle selections focus"
|
||
}
|
||
|
||
bundle kakship https://github.com/eburghar/kakship %{
|
||
kakship-enable
|
||
}
|
||
bundle-install-hook kakship %{
|
||
cargo install --force --path . --root ~/.local
|
||
[ ! -e $kak_config/starship.toml ] && cp starship.toml $kak_config/
|
||
}
|
||
bundle-cleaner kakship %{
|
||
rm ~/.local/bin/kakship
|
||
}
|
||
|
||
bundle popup.kak https://github.com/enricozb/popup.kak
|
||
bundle-install-hook popup.kak %{
|
||
cargo install --force --path .
|
||
}
|
||
bundle-cleaner popup.kak %{
|
||
cargo uninstall kak-popup
|
||
}
|
||
|
||
bundle-customload kak-tree-sitter https://git.sr.ht/~hadronized/kak-tree-sitter %{
|
||
evaluate-commands %sh{ kak-tree-sitter -dks --init $kak_session }
|
||
}
|
||
bundle-install-hook kak-tree-sitter %{
|
||
cargo install --force --path ./kak-tree-sitter
|
||
cargo install --force --path ./ktsctl
|
||
}
|
||
bundle-cleaner kak-tree-sitter %{
|
||
cargo uninstall kak-tree-sitter
|
||
cargo uninstall ktsctl
|
||
}
|
||
|
||
bundle-noload kakeidoscope "git clone --recurse-submodules https://git.sr.ht/~orchid/kakeidoscope"
|
||
bundle-install-hook kakeidoscope %{
|
||
cd src
|
||
make
|
||
mv kakeidoscope ~/.local/bin/
|
||
}
|
||
bundle-cleaner kakeidoscope %{
|
||
rm ~/.local/bin/kakeidoscope
|
||
}
|
||
bundle-updater kakeidoscope %{
|
||
git pull --recurse-submodules
|
||
}
|
||
|
||
bundle peneira https://github.com/gustavo-hms/peneira %{
|
||
require-module peneira
|
||
}
|