summaryrefslogtreecommitdiff
path: root/arch/fish
diff options
context:
space:
mode:
authorsteven-na <noreply.github@stvnc.dev>2026-06-01 21:52:03 -0700
committersteven-na <noreply.github@stvnc.dev>2026-06-01 21:52:03 -0700
commit50949088826979a289850fd809d5e87a6b341527 (patch)
treec89231bce1970ab0f367a6fd304d04a396c5388b /arch/fish
parentc93681b405ff6cbae57974e8d4b059e9d747771d (diff)
lightvim
Diffstat (limited to 'arch/fish')
-rw-r--r--arch/fish/.config/fish/conf.d/edit-configs.fish1
-rw-r--r--arch/fish/.config/fish/fish_variables1
-rw-r--r--arch/fish/.config/fish/functions/vims.fish44
3 files changed, 46 insertions, 0 deletions
diff --git a/arch/fish/.config/fish/conf.d/edit-configs.fish b/arch/fish/.config/fish/conf.d/edit-configs.fish
index c085a41..792bc7f 100644
--- a/arch/fish/.config/fish/conf.d/edit-configs.fish
+++ b/arch/fish/.config/fish/conf.d/edit-configs.fish
@@ -2,6 +2,7 @@
set -l dots ~/dotfiles/arch
alias envim "nvim $dots/nvim/.config/nvim/"
+alias elvim "nvim $dots/lightvim/.config/lightvim/"
alias etmux "nvim $dots/tmux/.config/tmux/tmux.conf"
alias ehypr "nvim $dots/hyprland/.config/hypr/"
alias efish "nvim $dots/fish/.config/fish/config.fish"
diff --git a/arch/fish/.config/fish/fish_variables b/arch/fish/.config/fish/fish_variables
index 4de5e9a..0a0f533 100644
--- a/arch/fish/.config/fish/fish_variables
+++ b/arch/fish/.config/fish/fish_variables
@@ -1,4 +1,5 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
+SETUVAR NV_LAST_CONFIG:lightvim
SETUVAR __fish_initialized:4300
SETUVAR fish_user_paths:/home/blake/\x2ecargo/bin\x1e/home/blake/\x2elocal/bin
diff --git a/arch/fish/.config/fish/functions/vims.fish b/arch/fish/.config/fish/functions/vims.fish
new file mode 100644
index 0000000..237b1ea
--- /dev/null
+++ b/arch/fish/.config/fish/functions/vims.fish
@@ -0,0 +1,44 @@
+function vims --description 'Pick or launch an nvim config via NVIM_APPNAME'
+ set -l configs nvim lightvim
+
+ set -l repick 0
+ set -l args
+ for a in $argv
+ switch $a
+ case -r --repick
+ set repick 1
+ case '*'
+ set -a args $a
+ end
+ end
+
+ set -l choice
+ if test (count $args) -gt 0; and contains -- $args[1] $configs
+ set choice $args[1]
+ set -e args[1]
+ end
+
+ if test -z "$choice"; and test $repick -eq 0; and set -q NV_LAST_CONFIG
+ if contains -- $NV_LAST_CONFIG $configs
+ set choice $NV_LAST_CONFIG
+ end
+ end
+
+ if test -z "$choice"
+ set choice (printf '%s\n' $configs | fzf \
+ --height=~40% --layout=reverse --border \
+ --prompt='nvim config> ')
+ if test -z "$choice"
+ return 1
+ end
+ end
+
+ set -U NV_LAST_CONFIG $choice
+
+ if test "$choice" = nvim
+ set -e NVIM_APPNAME
+ command nvim $args
+ else
+ NVIM_APPNAME=$choice command nvim $args
+ end
+end