Compare commits

...
2 Commits
Author SHA1 Message Date
lupan 071d83c73d kakoune: change cursor on insert instead of mode line, add pickers 2026-08-17 20:11:48 +02:00
lupan 73b8e07bde kakoune: add fossil menu 2026-08-17 20:11:48 +02:00
+75 -10
View File
@@ -41,6 +41,13 @@ map global -docstring 'Delete buffer' file-mode 'x' ': delete-buffer '
map global -docstring 'REPL send selection' file-mode 'u' ': repl-send-text<ret>' map global -docstring 'REPL send selection' file-mode 'u' ': repl-send-text<ret>'
map global -docstring 'REPL send paragraph' file-mode 'U' ': repl-send-paragraph<ret>' map global -docstring 'REPL send paragraph' file-mode 'U' ': repl-send-paragraph<ret>'
declare-user-mode fossil-mode
map global -docstring 'Fossil' user 'f' ': enter-user-mode fossil-mode<ret>'
map global -docstring 'Open file' fossil-mode 'a' ': file-open-fossil<ret>'
map global -docstring 'Grep' fossil-mode 'g' ':fossil-grep '
map global -docstring 'ctags project symbols' fossil-mode 'w' ': ctags-project-fossil-symbols<ret>'
declare-user-mode git-mode declare-user-mode git-mode
map global -docstring 'Git' user 'g' ': enter-user-mode git-mode<ret>' map global -docstring 'Git' user 'g' ': enter-user-mode git-mode<ret>'
@@ -80,6 +87,7 @@ map global -docstring 'Code' user 'c' ': enter-user-mode code-mode<ret>'
map global -docstring 'Comment block' code-mode 'b' ': comment-block<ret>' map global -docstring 'Comment block' code-mode 'b' ': comment-block<ret>'
map global -docstring 'Comment line' code-mode 'l' ': comment-line<ret>' map global -docstring 'Comment line' code-mode 'l' ': comment-line<ret>'
map global -docstring 'Format buffer' code-mode 'f' ': format-buffer<ret>'
evaluate-commands %sh{ evaluate-commands %sh{
if [ -n "$WAYLAND_DISPLAY" ]; then if [ -n "$WAYLAND_DISPLAY" ]; then
@@ -113,6 +121,16 @@ define-command -override file-open-git %{
prompt -menu -shell-script-candidates %{ git ls-files } 'File (git): ' %{ edit -- %val{text} } prompt -menu -shell-script-candidates %{ git ls-files } 'File (git): ' %{ edit -- %val{text} }
} }
define-command -override file-open-fossil %{
prompt -menu -shell-script-candidates %{ fossil ls } 'File (git): ' %{ edit -- %val{text} }
}
define-command -override fossil-grep -params 1- %{
evaluate-commands %sh{
printf '%s ' grep "$@" -- $(fossil ls)
}
}
define-command -override file-open-recent %{ define-command -override file-open-recent %{
prompt -menu -shell-script-candidates %{ cat ~/.cache/kak-mru } 'File (recent): ' %{ edit -- %val{text} } prompt -menu -shell-script-candidates %{ cat ~/.cache/kak-mru } 'File (recent): ' %{ edit -- %val{text} }
} }
@@ -164,18 +182,35 @@ define-command -override ctags-project-symbols %{
} }
} }
set-face global JumpLabel 'rgb:faf8f5,rgb:af8842+F' define-command -override ctags-project-fossil-symbols %{
prompt -menu -shell-script-candidates %{
# CHANGE STATUS BAR COLOR IN INSERT MODE fossil ls | xargs wc | awk '$1 > 0 && $3/$1 < 1024 { print $4 }' | xargs ctags -uo - -x | awk -f "$kak_config/scripts/projectsymbols.awk"
} 'Project symbols: ' %{
hook global ModeChange push:.*:insert %{ evaluate-commands %sh{ awk -f "$kak_config/scripts/projectsymbolscmd.awk" # "$kak_text" }
set-face window StatusLine 'default,rgb:04785d' }
set-option window idle_timeout 500
} }
hook global ModeChange pop:insert:.* %{ set-face global JumpLabel 'rgb:faf8f5,rgb:af8842+F'
unset-face window StatusLine
unset-option window idle_timeout # CHANGE CURSOR IN INSERT MODE
hook global ModeChange (push|pop):.*:insert %{
set-face window PrimarySelection rgb:000000,green+F
set-face window SecondarySelection rgb:000000,blue+F
set-face window PrimaryCursor rgb:000000,bright-green+bF
set-face window SecondaryCursor rgb:000000,bright-blue+bF
set-face window PrimaryCursorEol rgb:000000,bright-red+bF
set-face window SecondaryCursorEol rgb:000000,bright-yellow+bF
}
# Undo colour changes when we leave insert mode.
hook global ModeChange (push|pop):insert:.* %{
unset-face window PrimarySelection
unset-face window SecondarySelection
unset-face window PrimaryCursor
unset-face window SecondaryCursor
unset-face window PrimaryCursorEol
unset-face window SecondaryCursorEol
} }
# ODIN # ODIN
@@ -244,6 +279,36 @@ bundle match 'https://github.com/kmafeni04/match.kak' %{
map global match U ': match-surround-redo<ret>' -docstring "Redo" map global match U ': match-surround-redo<ret>' -docstring "Redo"
} }
# PICKERS
bundle pickers https://codeberg.org/kmafeni04/pickers.kak %{
declare-user-mode pickers
map global user u ':enter-user-mode pickers<ret>' -docstring 'pickers mode'
map global pickers b ':pickers-buffer<ret>' -docstring 'Open fuzzy buffer picker'
map global pickers i ':pickers-buffer-info<ret>' -docstring 'Show currently open buffers'
map global pickers a ':pickers-buffer-alternate<ret>' -docstring 'Switch to previously opened buffer'
map global pickers f ':pickers-file<ret>' -docstring 'Open fuzzy file picker in git root or current working directory'
map global pickers n ':pickers-file /home/lupan/notes/<ret>' -docstring 'Open fuzzy file picker in notes directory'
map global pickers o ':pickers-file-cbd<ret>' -docstring "Open fuzzy file picker in current buffer's directory"
map global pickers g ':pickers-grep<ret>' -docstring "Open grep picker in git root"
map global pickers G "<dquote>/y:pickers-grep<ret>" -docstring "Open grep picker in git root with selection as init"
map global pickers <a-g> ':pickers-grep-cbd<ret>' -docstring "Open grep picker in buffer's directory"
map global pickers <a-G> "<dquote>/y:pickers-grep-cbd<ret>" -docstring "Open grep picker in buffer's directory with selection as init"
hook global WinCreate \*pickers-grep\* %{
map window normal <ret> ':pickers-grep-open<ret>'
map window normal <a-ret> "%%s<ret>)" -docstring "Select all matched grep text"
alias window write pickers-grep-write
alias window w pickers-grep-write
}
hook global WinCreate \*pickers-file\* %{
map window normal <ret> ':pickers-file-open<ret>'
}
hook global WinCreate \*pickers-buffer\* %{
map window normal <ret> ':pickers-buffer-open<ret>'
}
}
# HARPOON # HARPOON
bundle kak-harpoon 'https://codeberg.org/raiguard/kak-harpoon' %{ bundle kak-harpoon 'https://codeberg.org/raiguard/kak-harpoon' %{