4c1e7a7eb9
- Core config layered on CachyOS base with Catppuccin Mocha theming - Fisher plugins: fzf.fish, catppuccin, autopair, replay, puffer-fish, magic-enter, spark - Smart CLI wrappers with fallbacks (bat, lsd, btop, dust, prettyping) - Custom functions: git, docker, network, kitty, AI session management - Extensive abbreviation system for keyboard-driven workflows - Secrets/local sourcing pattern for private and machine-specific config - README with full documentation and personalization guide - AGPLv3+ license with copyright headers on all source files
21 lines
776 B
Fish
21 lines
776 B
Fish
function _autopair_insert_same --argument-names key
|
|
set --local buffer (commandline)
|
|
set --local index (commandline --cursor)
|
|
set --local next (string sub --start=(math $index + 1) --length=1 -- "$buffer")
|
|
|
|
if test (math (count (string match --all --regex -- "$key" "$buffer")) % 2) = 0
|
|
test $key = $next && commandline --cursor (math $index + 1) && return
|
|
|
|
commandline --insert -- $key
|
|
|
|
if test $index -lt 1 ||
|
|
contains -- (string sub --start=$index --length=1 -- "$buffer") "" " " $autopair_left &&
|
|
contains -- $next "" " " $autopair_right
|
|
commandline --insert -- $key
|
|
commandline --cursor (math $index + 1)
|
|
end
|
|
else
|
|
commandline --insert -- $key
|
|
end
|
|
end
|