chore: Refactor symlink order - fish e8140bca
Steve · 2025-06-02 20:48 46 file(s) · +1298 −7
fish/completions (deleted) +0 −1
1 -
/Users/stevedylandev/.config/fish/completions
fish/completions/bun.fish (added) +184 −0
1 +
# This is terribly complicated
2 +
# It's because:
3 +
# 1. bun run has to have dynamic completions
4 +
# 2. there are global options
5 +
# 3. bun {install add remove} gets special options
6 +
# 4. I don't know how to write fish completions well
7 +
# Contributions very welcome!!
8 +
9 +
function __fish__get_bun_bins
10 +
	string split ' ' (bun getcompletes b)
11 +
end
12 +
13 +
function __fish__get_bun_scripts
14 +
	set -lx SHELL bash
15 +
	set -lx MAX_DESCRIPTION_LEN 40
16 +
	string trim (string split '\n' (string split '\t' (bun getcompletes z)))
17 +
end
18 +
19 +
function __fish__get_bun_packages
20 +
	if test (commandline -ct) != ""
21 +
		set -lx SHELL fish
22 +
		string split ' ' (bun getcompletes a (commandline -ct))
23 +
	end
24 +
end
25 +
26 +
function __history_completions
27 +
	set -l tokens (commandline --current-process --tokenize)
28 +
	history --prefix (commandline) | string replace -r \^$tokens[1]\\s\* "" | string replace -r \^$tokens[2]\\s\* "" | string split ' '
29 +
end
30 +
31 +
function __fish__get_bun_bun_js_files
32 +
	string split ' ' (bun getcompletes j)
33 +
end
34 +
35 +
set -l bun_install_boolean_flags yarn production optional development no-save dry-run force no-cache silent verbose global
36 +
set -l bun_install_boolean_flags_descriptions "Write a yarn.lock file (yarn v1)" "Don't install devDependencies" "Add dependency to optionalDependencies" "Add dependency to devDependencies" "Don't install devDependencies" "Don't install anything" "Always request the latest versions from the registry & reinstall all dependencies" "Ignore manifest cache entirely" "Don't output anything" "Excessively verbose logging" "Use global folder"
37 +
38 +
set -l bun_builtin_cmds_without_run dev create help bun upgrade discord install remove add init pm x
39 +
set -l bun_builtin_cmds_accepting_flags create help bun upgrade discord run init link unlink pm x
40 +
41 +
function __bun_complete_bins_scripts --inherit-variable bun_builtin_cmds_without_run -d "Emit bun completions for bins and scripts"
42 +
    # Do nothing if we already have a builtin subcommand,
43 +
    # or any subcommand other than "run".
44 +
    if __fish_seen_subcommand_from $bun_builtin_cmds_without_run
45 +
    or not __fish_use_subcommand && not __fish_seen_subcommand_from run
46 +
        return
47 +
    end
48 +
    # Do we already have a bin or script subcommand?
49 +
    set -l bins (__fish__get_bun_bins)
50 +
    if __fish_seen_subcommand_from $bins
51 +
        return
52 +
    end
53 +
    # Scripts have descriptions appended with a tab separator.
54 +
    # Strip off descriptions for the purposes of subcommand testing.
55 +
    set -l scripts (__fish__get_bun_scripts)
56 +
    if __fish_seen_subcommand_from (string split \t -f 1 -- $scripts)
57 +
        return
58 +
    end
59 +
    # Emit scripts.
60 +
    for script in $scripts
61 +
        echo $script
62 +
    end
63 +
    # Emit binaries and JS files (but only if we're doing `bun run`).
64 +
    if __fish_seen_subcommand_from run
65 +
        for bin in $bins
66 +
            echo "$bin"\t"package bin"
67 +
        end
68 +
        for file in (__fish__get_bun_bun_js_files)
69 +
            echo "$file"\t"Bun.js"
70 +
        end
71 +
    end
72 +
end
73 +
74 +
75 +
# Clear existing completions
76 +
complete -e -c bun
77 +
78 +
# Dynamically emit scripts and binaries
79 +
complete -c bun -f -a "(__bun_complete_bins_scripts)"
80 +
81 +
# Complete flags if we have no subcommand or a flag-friendly one.
82 +
set -l flag_applies "__fish_use_subcommand; or __fish_seen_subcommand_from $bun_builtin_cmds_accepting_flags"
83 +
complete -c bun \
84 +
	-n $flag_applies --no-files -s 'u' -l 'origin' -r -d 'Server URL. Rewrites import paths'
85 +
complete -c bun \
86 +
	-n $flag_applies --no-files  -s 'p' -l 'port' -r -d 'Port number to start server from'
87 +
complete -c bun \
88 +
	-n $flag_applies --no-files  -s 'd' -l 'define' -r -d 'Substitute K:V while parsing, e.g. --define process.env.NODE_ENV:\"development\"'
89 +
complete -c bun \
90 +
	-n $flag_applies --no-files  -s 'e' -l 'external' -r -d 'Exclude module from transpilation (can use * wildcards). ex: -e react'
91 +
complete -c bun \
92 +
	-n $flag_applies --no-files -l 'use' -r -d 'Use a framework (ex: next)'
93 +
complete -c bun \
94 +
	-n $flag_applies --no-files -l 'hot' -r -d 'Enable hot reloading in Bun\'s JavaScript runtime'
95 +
96 +
# Complete dev and create as first subcommand.
97 +
complete -c bun \
98 +
	-n "__fish_use_subcommand" -a 'dev' -d 'Start dev server'
99 +
complete -c bun \
100 +
	-n "__fish_use_subcommand" -a 'create' -f -d 'Create a new project from a template'
101 +
102 +
# Complete "next" and "react" if we've seen "create".
103 +
complete -c bun \
104 +
	-n "__fish_seen_subcommand_from create" -a 'next' -d 'new Next.js project'
105 +
106 +
complete -c bun \
107 +
	-n "__fish_seen_subcommand_from create" -a 'react' -d 'new React project'
108 +
109 +
# Complete "upgrade" as first subcommand.
110 +
complete -c bun \
111 +
	-n "__fish_use_subcommand" -a 'upgrade' -d 'Upgrade bun to the latest version' -x
112 +
# Complete "-h/--help" unconditionally.
113 +
complete -c bun \
114 +
	-s "h" -l "help" -d 'See all commands and flags' -x
115 +
116 +
# Complete "-v/--version" if we have no subcommand.
117 +
complete -c bun \
118 +
	-n "not __fish_use_subcommand" -l "version" -s "v" -d 'Bun\'s version' -x
119 +
120 +
# Complete additional subcommands.
121 +
complete -c bun \
122 +
	-n "__fish_use_subcommand" -a 'discord' -d 'Open bun\'s Discord server' -x
123 +
124 +
125 +
complete -c bun \
126 +
	-n "__fish_use_subcommand" -a 'bun' -d 'Generate a new bundle'
127 +
128 +
129 +
complete -c bun \
130 +
	-n "__fish_seen_subcommand_from bun" -F -d 'Bundle this'
131 +
132 +
complete -c bun \
133 +
	-n "__fish_seen_subcommand_from create; and __fish_seen_subcommand_from react next" -F -d "Create in directory"
134 +
135 +
136 +
complete -c bun \
137 +
	-n "__fish_use_subcommand" -a 'init' -F -d 'Start an empty Bun project'
138 +
139 +
complete -c bun \
140 +
	-n "__fish_use_subcommand" -a 'install' -f -d 'Install packages from package.json'
141 +
142 +
complete -c bun \
143 +
	-n "__fish_use_subcommand" -a 'add' -F -d 'Add a package to package.json'
144 +
145 +
complete -c bun \
146 +
	-n "__fish_use_subcommand" -a 'remove' -F -d 'Remove a package from package.json'
147 +
148 +
149 +
for i in (seq (count $bun_install_boolean_flags))
150 +
	complete -c bun \
151 +
		-n "__fish_seen_subcommand_from install add remove" -l "$bun_install_boolean_flags[$i]" -d "$bun_install_boolean_flags_descriptions[$i]"
152 +
end
153 +
154 +
complete -c bun \
155 +
	-n "__fish_seen_subcommand_from install add remove" -l 'cwd' -d 'Change working directory'
156 +
157 +
complete -c bun \
158 +
	-n "__fish_seen_subcommand_from install add remove" -l 'cache-dir' -d 'Choose a cache directory (default: $HOME/.bun/install/cache)'
159 +
160 +
complete -c bun \
161 +
	-n "__fish_seen_subcommand_from add" -d 'Popular' -a '(__fish__get_bun_packages)'
162 +
163 +
complete -c bun \
164 +
	-n "__fish_seen_subcommand_from add" -d 'History' -a '(__history_completions)'
165 +
166 +
complete -c bun \
167 +
	-n "__fish_seen_subcommand_from pm; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) cache;" -a 'bin ls cache hash hash-print hash-string' -f
168 +
169 +
complete -c bun \
170 +
	-n "__fish_seen_subcommand_from pm; and __fish_seen_subcommand_from cache; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts);" -a 'rm' -f
171 +
172 +
# Add built-in subcommands with descriptions.
173 +
complete -c bun -n "__fish_use_subcommand" -a "create" -f -d "Create a new project from a template"
174 +
complete -c bun -n "__fish_use_subcommand" -a "build bun" --require-parameter -F -d "Transpile and bundle one or more files"
175 +
complete -c bun -n "__fish_use_subcommand" -a "upgrade" -d "Upgrade Bun"
176 +
complete -c bun -n "__fish_use_subcommand" -a "run" -d "Run a script or package binary"
177 +
complete -c bun -n "__fish_use_subcommand" -a "install" -d "Install dependencies from package.json" -f
178 +
complete -c bun -n "__fish_use_subcommand" -a "remove" -d "Remove a dependency from package.json" -f
179 +
complete -c bun -n "__fish_use_subcommand" -a "add" -d "Add a dependency to package.json" -f
180 +
complete -c bun -n "__fish_use_subcommand" -a "init" -d "Initialize a Bun project in this directory" -f
181 +
complete -c bun -n "__fish_use_subcommand" -a "link" -d "Register or link a local npm package" -f
182 +
complete -c bun -n "__fish_use_subcommand" -a "link" -d "Unregister a local npm package" -f
183 +
complete -c bun -n "__fish_use_subcommand" -a "pm" -d "Additional package management utilities" -f
184 +
complete -c bun -n "__fish_use_subcommand" -a "x" -d "Execute a package binary, installing if needed" -f
fish/completions/fisher.fish (added) +7 −0
1 +
complete --command fisher --exclusive --long help --description "Print help"
2 +
complete --command fisher --exclusive --long version --description "Print version"
3 +
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments install --description "Install plugins"
4 +
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments update --description "Update installed plugins"
5 +
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments remove --description "Remove installed plugins"
6 +
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments list --description "List installed plugins matching regex"
7 +
complete --command fisher --exclusive --condition "__fish_seen_subcommand_from update remove" --arguments "(fisher list)"
fish/completions/nvm.fish (added) +21 −0
1 +
complete --command nvm --exclusive
2 +
complete --command nvm --exclusive --long version --description "Print version"
3 +
complete --command nvm --exclusive --long help --description "Print help"
4 +
complete --command nvm --long silent --description "Suppress standard output"
5 +
6 +
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments install --description "Download and activate the specified Node version"
7 +
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments use --description "Activate the specified Node version in the current shell"
8 +
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments list --description "List installed Node versions"
9 +
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments list-remote --description "List available Node versions to install"
10 +
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments current --description "Print the currently-active Node version"
11 +
complete --command nvm --exclusive --condition "__fish_seen_subcommand_from install" --arguments "(
12 +
    test -e $nvm_data && string split ' ' <$nvm_data/.index
13 +
)"
14 +
complete --command nvm --exclusive --condition "__fish_seen_subcommand_from use" --arguments "(_nvm_list | string split ' ')"
15 +
complete --command nvm --exclusive --condition __fish_use_subcommand --arguments uninstall --description "Uninstall the specified Node version"
16 +
complete --command nvm --exclusive --condition "__fish_seen_subcommand_from uninstall" --arguments "(
17 +
    _nvm_list | string split ' ' | string replace system ''
18 +
)"
19 +
complete --command nvm --exclusive --condition "__fish_seen_subcommand_from use uninstall" --arguments "(
20 +
    set --query nvm_default_version && echo default
21 +
)"
fish/conf.d (deleted) +0 −1
1 -
/Users/stevedylandev/.config/fish/conf.d
fish/conf.d/aliases.fish (added) +25 −0
1 +
# Aliases
2 +
3 +
abbr f zi
4 +
abbr nvimrc 'nvim ~/.config/nvim/init.lua'
5 +
abbr nf neofetch
6 +
abbr weather "curl wttr.in/Chattanooga"
7 +
abbr pwdc "pwd | tr -d '\n' | pbcopy"
8 +
abbr nvim-kickstart "set -gx NVIM_APPNAME nvim-kickstart"
9 +
abbr nvim-old "set -gx NVIM_APPNAME nvim"
10 +
abbr nvim-new "set -gx NVIM_APPNAME nvim-new"
11 +
# Colorize grep output (good for log files)
12 +
abbr grep 'grep --color=auto'
13 +
abbr egrep 'egrep --color=auto'
14 +
abbr fgrep 'fgrep --color=auto'
15 +
# confirm before overwriting something
16 +
abbr lnd "sudo arp-scan -l"
17 +
abbr ls eza --icons=always
18 +
abbr lt eza -l --git -T --header --no-permissions --no-user
19 +
abbr lg lazygit
20 +
abbr rm trash
21 +
abbr cat bat
22 +
abbr p pinata
23 +
abbr t sesh_start
24 +
abbr ☕ "ssh terminal.shop"
25 +
fish/conf.d/deno.fish (added) +2 −0
1 +
2 +
source "/Users/stevedsimkins/.deno/env.fish"
fish/conf.d/nvm.fish (added) +28 −0
1 +
set --query nvm_mirror || set --global nvm_mirror https://nodejs.org/dist
2 +
set --query XDG_DATA_HOME || set --local XDG_DATA_HOME ~/.local/share
3 +
set --global nvm_data $XDG_DATA_HOME/nvm
4 +
5 +
function _nvm_install --on-event nvm_install
6 +
    test ! -d $nvm_data && command mkdir -p $nvm_data
7 +
    echo "Downloading the Node distribution index..." 2>/dev/null
8 +
    _nvm_index_update
9 +
end
10 +
11 +
function _nvm_update --on-event nvm_update
12 +
    set --query --universal nvm_data && set --erase --universal nvm_data
13 +
    set --query --universal nvm_mirror && set --erase --universal nvm_mirror
14 +
    set --query nvm_mirror || set --global nvm_mirror https://nodejs.org/dist
15 +
end
16 +
17 +
function _nvm_uninstall --on-event nvm_uninstall
18 +
    command rm -rf $nvm_data
19 +
20 +
    set --query nvm_current_version && _nvm_version_deactivate $nvm_current_version
21 +
22 +
    set --names | string replace --filter --regex -- "^nvm" "set --erase nvm" | source
23 +
    functions --erase (functions --all | string match --entire --regex -- "^_nvm_")
24 +
end
25 +
26 +
if status is-interactive && set --query nvm_default_version && ! set --query nvm_current_version
27 +
    nvm use --silent $nvm_default_version
28 +
end
fish/conf.d/omf.fish (added) +7 −0
1 +
# Path to Oh My Fish install.
2 +
set -q XDG_DATA_HOME
3 +
  and set -gx OMF_PATH "$XDG_DATA_HOME/omf"
4 +
  or set -gx OMF_PATH "$HOME/.local/share/omf"
5 +
6 +
# Load Oh My Fish configuration.
7 +
source $OMF_PATH/init.fish
fish/conf.d/rustup.fish (added) +2 −0
1 +
2 +
source "$HOME/.cargo/env.fish"
fish/conf.d/sponge.fish (added) +52 −0
1 +
# Sponge version
2 +
set --global sponge_version 1.1.0
3 +
4 +
# Allow to repeat previous command by default
5 +
if not set --query --universal sponge_delay
6 +
  set --universal sponge_delay 2
7 +
end
8 +
9 +
# Purge entries both after `sponge_delay` entries and on exit by default
10 +
if not set --query --universal sponge_purge_only_on_exit
11 +
  set --universal sponge_purge_only_on_exit false
12 +
end
13 +
14 +
# Add default filters
15 +
if not set --query --universal sponge_filters
16 +
  set --universal sponge_filters sponge_filter_failed sponge_filter_matched
17 +
end
18 +
19 +
# Don't filter out commands that already have been in the history by default
20 +
if not set --query --universal sponge_allow_previously_successful
21 +
  set --universal sponge_allow_previously_successful true
22 +
end
23 +
24 +
# Consider `0` the only successful exit code by default
25 +
if not set --query --universal sponge_successful_exit_codes
26 +
  set --universal sponge_successful_exit_codes 0
27 +
end
28 +
29 +
# No active regex patterns by default
30 +
if not set --query --universal sponge_regex_patterns
31 +
  set --universal sponge_regex_patterns
32 +
end
33 +
34 +
# Attach event handlers
35 +
functions --query \
36 +
  _sponge_on_prompt \
37 +
  _sponge_on_preexec \
38 +
  _sponge_on_postexec \
39 +
  _sponge_on_exit
40 +
41 +
# Initialize empty state for the first run
42 +
function _sponge_install --on-event sponge_install
43 +
  set --global _sponge_current_command ''
44 +
  set --global _sponge_current_command_exit_code 0
45 +
  set --global _sponge_current_command_previously_in_history false
46 +
end
47 +
48 +
# Clean up variables
49 +
function _sponge_uninstall --on-event sponge_uninstall
50 +
  _sponge_clear_state
51 +
  set --erase sponge_version
52 +
end
fish/config.fish +44 −1
1 -
/Users/stevedylandev/.config/fish/config.fish
1 +
eval "$(/opt/homebrew/bin/brew shellenv)"
2 +
set -U fish_greeting
3 +
set -U fish_key_bindings fish_vi_key_bindings
4 +
set -U fish_cursor_default
5 +
set -Ux EDITOR nvim
6 +
set -Ux fish_color_autosuggestion normal
7 +
zoxide init fish | source
8 +
starship init fish | source
9 +
# source "/Users/stevedsimkins/.starkli/env"
10 +
11 +
export PATH="$PATH:/Users/stevedsimkins/.foundry/bin"
12 +
13 +
# Added by Radicle.
14 +
export PATH="$PATH:/Users/stevedsimkins/.radicle/bin"
15 +
16 +
function oatsesh
17 +
    set selected_session (oatmeal sessions list | awk '{print substr($0, index($0, "latest, ") + 8)}' | fzf)
18 +
    
19 +
    if test -n "$selected_session"
20 +
        set full_line (oatmeal sessions list | grep "$selected_session")
21 +
        set id_value (echo $full_line | grep -o '[a-f0-9]\{8\}-[a-f0-9]\{4\}' | head -n 1)
22 +
        
23 +
        if test -n "$id_value"
24 +
            oatmeal sessions open -i $id_value
25 +
        end
26 +
    end
27 +
end
28 +
29 +
30 +
fzf --fish | source
31 +
export PATH="/Users/stevedsimkins/.local/share/pinata:$PATH"
32 +
export PATH="/Users/stevedsimkins/.local/share/pinata:$PATH"
33 +
export PATH="/Users/stevedsimkins/.local/share/pinata:$PATH"
34 +
export PATH="/Users/stevedsimkins/.local/share/pinata:$PATH"
35 +
export PATH="/Users/stevedsimkins/.local/share/pinata-go-cli:$PATH"
36 +
export PATH="/Users/stevedsimkins/.local/share/pinata-go-cli:$PATH"
37 +
export PATH="/Users/stevedsimkins/.local/share/cast:$PATH"
38 +
export PATH="/Users/stevedsimkins/.local/share/cast:$PATH"
39 +
export PATH="/Users/stevedsimkins/.local/share/mast:$PATH"
40 +
export PATH="/Users/stevedsimkins/.local/share/mast:$PATH"
41 +
export PATH="/Users/stevedsimkins/.local/share/pinata:$PATH"
42 +
export PATH="/Users/stevedsimkins/.local/share/pinata:$PATH"
43 +
44 +
export PATH="$PATH:/Users/stevedsimkins/.sp1/bin"
fish/fish_plugins +6 −1
1 -
/Users/stevedylandev/.config/fish/fish_plugins
1 +
jorgebucaran/fisher
2 +
meaningful-ooo/sponge
3 +
jorgebucaran/nvm.fish
4 +
rose-pine/fish
5 +
jorgebucaran/autopair.fish
6 +
fabioantunes/base16-fish-shell
fish/fish_variables +52 −1
1 -
/Users/stevedylandev/.config/fish/fish_variables
1 +
# This file contains fish universal variable definitions.
2 +
# VERSION: 3.0
3 +
SETUVAR --export EDITOR:nvim
4 +
SETUVAR --export FZF_DEFAULT_OPTS:\x2d\x2dheight\x2060\x25\x20\x2d\x2dlayout\x3dreverse\x20\x2d\x2dinline\x2dinfo\x20\x2d\x2dborder
5 +
SETUVAR --export TINTED_SHELL_ENABLE_BASE16_VARS:1
6 +
SETUVAR __fish_initialized:3800
7 +
SETUVAR _fisher_fabioantunes_2F_base16_2D_fish_2D_shell_files:\x7e/\x2econfig/fish/functions/__base16_fish_shell_color_test\x2efish\x1e\x7e/\x2econfig/fish/functions/__base16_fish_shell_create_vimrc_background\x2efish\x1e\x7e/\x2econfig/fish/functions/__base16_fish_shell_set_background\x2efish\x1e\x7e/\x2econfig/fish/functions/__put_template\x2efish\x1e\x7e/\x2econfig/fish/functions/__put_template_custom\x2efish\x1e\x7e/\x2econfig/fish/functions/__put_template_var\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2d3024\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dapathy\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dapprentice\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dashes\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2datelier\x2dcave\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2datelier\x2dcave\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2datelier\x2ddune\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2datelier\x2ddune\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2datelier\x2destuary\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2datelier\x2destuary\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2datelier\x2dforest\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2datelier\x2dforest\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2datelier\x2dheath\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2datelier\x2dheath\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2datelier\x2dlakeside\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2datelier\x2dlakeside\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2datelier\x2dplateau\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2datelier\x2dplateau\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2datelier\x2dsavanna\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2datelier\x2dsavanna\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2datelier\x2dseaside\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2datelier\x2dseaside\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2datelier\x2dsulphurpool\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2datelier\x2dsulphurpool\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2datlas\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dbespin\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dblack\x2dmetal\x2dbathory\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dblack\x2dmetal\x2dburzum\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dblack\x2dmetal\x2ddark\x2dfuneral\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dblack\x2dmetal\x2dgorgoroth\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dblack\x2dmetal\x2dimmortal\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dblack\x2dmetal\x2dkhold\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dblack\x2dmetal\x2dmarduk\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dblack\x2dmetal\x2dmayhem\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dblack\x2dmetal\x2dnile\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dblack\x2dmetal\x2dvenom\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dblack\x2dmetal\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dbrewer\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dbright\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dbrogrammer\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dbrushtrees\x2ddark\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dbrushtrees\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dchalk\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dcircus\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dclassic\x2ddark\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dclassic\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dcodeschool\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dcolors\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dcupcake\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dcupertino\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2ddanqing\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2ddarcula\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2ddarkmoss\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2ddarktooth\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2ddarkviolet\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2ddecaf\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2ddefault\x2ddark\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2ddefault\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2ddirtysea\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2ddracula\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dedge\x2ddark\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dedge\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2deighties\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dembers\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dequilibrium\x2ddark\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dequilibrium\x2dgray\x2ddark\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dequilibrium\x2dgray\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dequilibrium\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2despresso\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2deva\x2ddim\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2deva\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dflat\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dframer\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dfruit\x2dsoda\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dgigavolt\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dgithub\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dgoogle\x2ddark\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dgoogle\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dgrayscale\x2ddark\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dgrayscale\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dgreenscreen\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dgruvbox\x2ddark\x2dhard\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dgruvbox\x2ddark\x2dmedium\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dgruvbox\x2ddark\x2dpale\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dgruvbox\x2ddark\x2dsoft\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dgruvbox\x2dlight\x2dhard\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dgruvbox\x2dlight\x2dmedium\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dgruvbox\x2dlight\x2dsoft\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dhardcore\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dharmonic\x2ddark\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dharmonic\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dheetch\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dheetch\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dhelios\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dhopscotch\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dhorizon\x2ddark\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dhorizon\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dhorizon\x2dterminal\x2ddark\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dhorizon\x2dterminal\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dhumanoid\x2ddark\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dhumanoid\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dia\x2ddark\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dia\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dicy\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dirblack\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2disotope\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dkimber\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dmacintosh\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dmarrakesh\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dmateria\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dmaterial\x2ddarker\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dmaterial\x2dlighter\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dmaterial\x2dpalenight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dmaterial\x2dvivid\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dmaterial\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dmellow\x2dpurple\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dmexico\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dmocha\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dmonokai\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dnebula\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dnord\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dnova\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2docean\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2doceanicnext\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2done\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2donedark\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2doutrun\x2ddark\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dpapercolor\x2ddark\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dpapercolor\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dparaiso\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dpasque\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dphd\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dpico\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dpinky\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dpop\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dporple\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dqualia\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2drailscasts\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2drebecca\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2drose\x2dpine\x2ddawn\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2drose\x2dpine\x2dmoon\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2drose\x2dpine\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dsagelight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dsakura\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dsandcastle\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dseti\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dshades\x2dof\x2dpurple\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dshapeshifter\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dsilk\x2ddark\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dsilk\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dsnazzy\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dsolarflare\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dsolarflare\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dsolarized\x2ddark\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dsolarized\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dspacemacs\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dsummercamp\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dsummerfruit\x2ddark\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dsummerfruit\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dsynth\x2dmidnight\x2ddark\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dsynth\x2dmidnight\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dtango\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dtender\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dtomorrow\x2dnight\x2deighties\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dtomorrow\x2dnight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dtomorrow\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dtube\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dtwilight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dunikitty\x2ddark\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dunikitty\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dvulcan\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dwindows\x2d10\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dwindows\x2d10\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dwindows\x2d95\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dwindows\x2d95\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dwindows\x2dhighcontrast\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dwindows\x2dhighcontrast\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dwindows\x2dnt\x2dlight\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dwindows\x2dnt\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dwoodland\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dxcode\x2ddusk\x2efish\x1e\x7e/\x2econfig/fish/functions/base16\x2dzenburn\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/base16\x2efish
8 +
SETUVAR _fisher_jorgebucaran_2F_autopair_2E_fish_files:\x7e/\x2econfig/fish/functions/_autopair_backspace\x2efish\x1e\x7e/\x2econfig/fish/functions/_autopair_insert_left\x2efish\x1e\x7e/\x2econfig/fish/functions/_autopair_insert_right\x2efish\x1e\x7e/\x2econfig/fish/functions/_autopair_insert_same\x2efish\x1e\x7e/\x2econfig/fish/functions/_autopair_tab\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/autopair\x2efish
9 +
SETUVAR _fisher_jorgebucaran_2F_fisher_files:\x7e/\x2econfig/fish/functions/fisher\x2efish\x1e\x7e/\x2econfig/fish/completions/fisher\x2efish
10 +
SETUVAR _fisher_jorgebucaran_2F_nvm_2E_fish_files:\x7e/\x2econfig/fish/functions/_nvm_index_update\x2efish\x1e\x7e/\x2econfig/fish/functions/_nvm_list\x2efish\x1e\x7e/\x2econfig/fish/functions/_nvm_version_activate\x2efish\x1e\x7e/\x2econfig/fish/functions/_nvm_version_deactivate\x2efish\x1e\x7e/\x2econfig/fish/functions/nvm\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/nvm\x2efish\x1e\x7e/\x2econfig/fish/completions/nvm\x2efish
11 +
SETUVAR _fisher_meaningful_2D_ooo_2F_sponge_files:\x7e/\x2econfig/fish/functions/_sponge_clear_state\x2efish\x1e\x7e/\x2econfig/fish/functions/_sponge_on_exit\x2efish\x1e\x7e/\x2econfig/fish/functions/_sponge_on_postexec\x2efish\x1e\x7e/\x2econfig/fish/functions/_sponge_on_preexec\x2efish\x1e\x7e/\x2econfig/fish/functions/_sponge_on_prompt\x2efish\x1e\x7e/\x2econfig/fish/functions/_sponge_remove_from_history\x2efish\x1e\x7e/\x2econfig/fish/functions/sponge_filter_failed\x2efish\x1e\x7e/\x2econfig/fish/functions/sponge_filter_matched\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/sponge\x2efish
12 +
SETUVAR _fisher_plugins:jorgebucaran/fisher\x1emeaningful\x2dooo/sponge\x1ejorgebucaran/nvm\x2efish\x1erose\x2dpine/fish\x1ejorgebucaran/autopair\x2efish\x1efabioantunes/base16\x2dfish\x2dshell
13 +
SETUVAR _fisher_rose_2D_pine_2F_fish_files:\x7e/\x2econfig/fish/themes/Ros\u00e9\x20Pine\x20Dawn\x2etheme\x1e\x7e/\x2econfig/fish/themes/Ros\u00e9\x20Pine\x20Moon\x2etheme\x1e\x7e/\x2econfig/fish/themes/Ros\u00e9\x20Pine\x2etheme
14 +
SETUVAR _fisher_upgraded_to_4_4:\x1d
15 +
SETUVAR --export fish_color_autosuggestion:normal
16 +
SETUVAR fish_color_cancel:\x2dr
17 +
SETUVAR fish_color_command:blue
18 +
SETUVAR fish_color_comment:red
19 +
SETUVAR fish_color_cwd:green
20 +
SETUVAR fish_color_cwd_root:red
21 +
SETUVAR fish_color_end:green
22 +
SETUVAR fish_color_error:brred
23 +
SETUVAR fish_color_escape:brcyan
24 +
SETUVAR fish_color_history_current:\x2d\x2dbold
25 +
SETUVAR fish_color_host:normal
26 +
SETUVAR fish_color_host_remote:yellow
27 +
SETUVAR fish_color_normal:normal
28 +
SETUVAR fish_color_operator:brcyan
29 +
SETUVAR fish_color_param:cyan
30 +
SETUVAR fish_color_quote:yellow
31 +
SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold
32 +
SETUVAR fish_color_search_match:white\x1e\x2d\x2dbackground\x3dbrblack
33 +
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
34 +
SETUVAR fish_color_status:red
35 +
SETUVAR fish_color_user:brgreen
36 +
SETUVAR fish_color_valid_path:\x2d\x2dunderline
37 +
SETUVAR fish_cursor_default:\x1d
38 +
SETUVAR fish_cursor_external:yes
39 +
SETUVAR fish_greeting:\x1d
40 +
SETUVAR fish_key_bindings:fish_vi_key_bindings
41 +
SETUVAR fish_pager_color_completion:normal
42 +
SETUVAR fish_pager_color_description:B3A06D\x1eyellow\x1e\x2di
43 +
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
44 +
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
45 +
SETUVAR fish_pager_color_selected_background:\x2dr
46 +
SETUVAR fish_user_paths:/Users/stevedsimkins/Library/Application\x20Support/Herd/bin
47 +
SETUVAR sponge_allow_previously_successful:true
48 +
SETUVAR sponge_delay:2
49 +
SETUVAR sponge_filters:sponge_filter_failed\x1esponge_filter_matched
50 +
SETUVAR sponge_purge_only_on_exit:false
51 +
SETUVAR sponge_regex_patterns:\x1d
52 +
SETUVAR sponge_successful_exit_codes:0
fish/functions (deleted) +0 −1
1 -
/Users/stevedylandev/.config/fish/functions
fish/functions/__put_template.fish (added) +11 −0
1 +
function __put_template -d "base16-fish-shell private function"
2 +
  if test -n "$TMUX"
3 +
    printf '\033Ptmux;\033\033]4;%d;rgb:%s\033\033\\\\\033\\' $argv
4 +
  else if string match -q -- '*screen*' $TERM
5 +
    printf '\033P\033]4;%d;rgb:%s\007\033\\' $argv
6 +
  else if string match -q -- 'linux*' $TERM
7 +
    test $argv[1] -lt 16 && printf "\e]P%x%s" $argv[1] (echo $argv[2] | sed 's/\///g')
8 +
  else
9 +
    printf '\033]4;%d;rgb:%s\033\\' $argv
10 +
  end
11 +
end
fish/functions/__put_template_custom.fish (added) +11 −0
1 +
function __put_template_custom
2 +
  if test -n "$TMUX"
3 +
    printf '\033Ptmux;\033\033]%s%s\033\033\\\\\033\\' $argv
4 +
  else if string match -q -- 'screen*' $TERM
5 +
    printf '\033P\033]%s%s\007\033\\' $argv
6 +
  else if string match -q -- 'linux*' $TERM
7 +
      true
8 +
  else
9 +
    printf '\033]%s%s\033\\' $argv
10 +
  end
11 +
end
fish/functions/__put_template_var.fish (added) +11 −0
1 +
function __put_template_var -d "base16-fish-shell private function"
2 +
  if test -n "$TMUX"
3 +
    printf '\033Ptmux;\033\033]%d;rgb:%s\033\033\\\\\033\\' $argv
4 +
  else if string match -q -- 'screen*' $TERM
5 +
    printf '\033P\033]%d;rgb:%s\007\033\\' $argv
6 +
  else if string match -q -- 'linux*' $TERM
7 +
    true
8 +
  else
9 +
    printf '\033]%d;rgb:%s\033\\' $argv
10 +
  end
11 +
end
fish/functions/_autopair_backspace.fish (added) +9 −0
1 +
function _autopair_backspace
2 +
    set --local index (commandline --cursor)
3 +
    set --local buffer (commandline)
4 +
5 +
    test $index -ge 1 &&
6 +
        contains -- (string sub --start=$index --length=2 -- "$buffer") $autopair_pairs &&
7 +
        commandline --function delete-char
8 +
    commandline --function backward-delete-char
9 +
end
fish/functions/_autopair_insert_left.fish (added) +13 −0
1 +
function _autopair_insert_left --argument-names left right
2 +
    set --local buffer (commandline)
3 +
    set --local before (commandline --cut-at-cursor)
4 +
5 +
    commandline --insert -- $left
6 +
7 +
    switch "$buffer"
8 +
        case "$before"{," "\*,$autopair_right\*}
9 +
            set --local index (commandline --cursor)
10 +
            commandline --insert -- $right
11 +
            commandline --cursor $index
12 +
    end
13 +
end
fish/functions/_autopair_insert_right.fish (added) +11 −0
1 +
function _autopair_insert_right --argument-names key
2 +
    set --local buffer (commandline)
3 +
    set --local before (commandline --cut-at-cursor)
4 +
5 +
    switch "$buffer"
6 +
        case "$before$key"\*
7 +
            commandline --cursor (math (commandline --cursor) + 1)
8 +
        case \*
9 +
            commandline --insert -- $key
10 +
    end
11 +
end
fish/functions/_autopair_insert_same.fish (added) +20 −0
1 +
function _autopair_insert_same --argument-names key
2 +
    set --local buffer (commandline)
3 +
    set --local index (commandline --cursor)
4 +
    set --local next (string sub --start=(math $index + 1) --length=1 -- "$buffer")
5 +
6 +
    if test (math (count (string match --all --regex -- "$key" "$buffer")) % 2) = 0
7 +
        test $key = $next && commandline --cursor (math $index + 1) && return
8 +
9 +
        commandline --insert -- $key
10 +
11 +
        if test $index -lt 1 ||
12 +
                contains -- (string sub --start=$index --length=1 -- "$buffer") "" " " $autopair_left &&
13 +
                contains -- $next "" " " $autopair_right
14 +
            commandline --insert -- $key
15 +
            commandline --cursor (math $index + 1)
16 +
        end
17 +
    else
18 +
        commandline --insert -- $key
19 +
    end
20 +
end
fish/functions/_autopair_tab.fish (added) +7 −0
1 +
function _autopair_tab
2 +
    commandline --paging-mode && down-or-search && return
3 +
4 +
    string match --quiet --regex -- '\$[^\s]*"$' (commandline --current-token) &&
5 +
        commandline --function end-of-line --function backward-delete-char
6 +
    commandline --function complete
7 +
end
fish/functions/_nvm_index_update.fish (added) +20 −0
1 +
function _nvm_index_update
2 +
    test ! -d $nvm_data && command mkdir -p $nvm_data
3 +
4 +
    set --local index $nvm_data/.index
5 +
6 +
    if not command curl --location --silent $nvm_mirror/index.tab >$index.temp
7 +
        command rm -f $index.temp
8 +
        echo "nvm: Can't update index, host unavailable: \"$nvm_mirror\"" >&2
9 +
        return 1
10 +
    end
11 +
12 +
    command awk -v OFS=\t '
13 +
        /v0.9.12/ { exit } # Unsupported
14 +
        NR > 1 {
15 +
            print $1 (NR == 2  ? " latest" : $10 != "-" ? " lts/" tolower($10) : "")
16 +
        }
17 +
    ' $index.temp >$index
18 +
19 +
    command rm -f $index.temp
20 +
end
fish/functions/_nvm_list.fish (added) +11 −0
1 +
function _nvm_list
2 +
    set --local versions $nvm_data/*
3 +
    set --query versions[1] &&
4 +
        string match --entire --regex -- (string match --regex -- "v\d.+" $versions |
5 +
            string escape --style=regex |
6 +
            string join "|"
7 +
        ) <$nvm_data/.index
8 +
9 +
    command --all node |
10 +
        string match --quiet --invert --regex -- "^$nvm_data" && echo system
11 +
end
fish/functions/_nvm_version_activate.fish (added) +4 −0
1 +
function _nvm_version_activate --argument-names ver
2 +
    set --global --export nvm_current_version $ver
3 +
    set --prepend PATH $nvm_data/$ver/bin
4 +
end
fish/functions/_nvm_version_deactivate.fish (added) +5 −0
1 +
function _nvm_version_deactivate --argument-names ver
2 +
    test "$nvm_current_version" = "$ver" && set --erase nvm_current_version
3 +
    set --local index (contains --index -- $nvm_data/$ver/bin $PATH) &&
4 +
        set --erase PATH[$index]
5 +
end
fish/functions/_sponge_clear_state.fish (added) +5 −0
1 +
function _sponge_clear_state
2 +
  set --erase --global _sponge_current_command
3 +
  set --erase --global _sponge_current_command_exit_code
4 +
  set --erase --global _sponge_current_command_previously_in_history
5 +
end
fish/functions/_sponge_on_exit.fish (added) +3 −0
1 +
function _sponge_on_exit --on-event fish_exit
2 +
  sponge_delay=0 _sponge_remove_from_history
3 +
end
fish/functions/_sponge_on_postexec.fish (added) +24 −0
1 +
function _sponge_on_postexec --on-event fish_postexec
2 +
  set --global _sponge_current_command_exit_code $status
3 +
4 +
  # Remove command from the queue if it's been added previously
5 +
  if set --local index (contains --index -- $_sponge_current_command $_sponge_queue)
6 +
    set --erase _sponge_queue[$index]
7 +
  end
8 +
9 +
  # Ignore empty commands
10 +
  if test -n $_sponge_current_command
11 +
    set --local command ''
12 +
    # Run filters
13 +
    for filter in $sponge_filters
14 +
      if $filter \
15 +
          $_sponge_current_command \
16 +
          $_sponge_current_command_exit_code \
17 +
          $_sponge_current_command_previously_in_history
18 +
        set command $_sponge_current_command
19 +
        break
20 +
      end
21 +
    end
22 +
    set --prepend --global _sponge_queue $command
23 +
  end
24 +
end
fish/functions/_sponge_on_preexec.fish (added) +16 −0
1 +
function _sponge_on_preexec --on-event fish_preexec \
2 +
  --argument-names command
3 +
  _sponge_clear_state
4 +
5 +
  set --global _sponge_current_command $command
6 +
7 +
  builtin history search --case-sensitive --exact --max=1 --null $command \
8 +
    | read --local --null found_entries
9 +
10 +
  # If a command is in the history and in the queue, ignore it, like if it wasn’t in the history
11 +
  if test (count $found_entries) -ne 0; and not contains $command $_sponge_queue
12 +
    set --global _sponge_current_command_previously_in_history true
13 +
  else
14 +
    set --global _sponge_current_command_previously_in_history false
15 +
  end
16 +
end
fish/functions/_sponge_on_prompt.fish (added) +5 −0
1 +
function _sponge_on_prompt --on-event fish_prompt
2 +
  if test $sponge_purge_only_on_exit = false
3 +
    _sponge_remove_from_history
4 +
  end
5 +
end
fish/functions/_sponge_remove_from_history.fish (added) +9 −0
1 +
function _sponge_remove_from_history
2 +
3 +
  while test (count $_sponge_queue) -gt $sponge_delay
4 +
    builtin history delete --case-sensitive --exact -- $_sponge_queue[-1]
5 +
    set --erase _sponge_queue[-1]
6 +
  end
7 +
8 +
  builtin history save
9 +
end
fish/functions/fcd.fish (added) +9 −0
1 +
function fcd
2 +
    set selected_file (fd . -t d --exclude node_modules | gum filter --prompt=" " --match.foreground="2" --indicator.foreground="2")
3 +
    if test "$status" -eq 0
4 +
        cd "$selected_file"
5 +
    else
6 +
        echo ""
7 +
    end
8 +
end
9 +
fish/functions/fisher.fish (added) +240 −0
1 +
function fisher --argument-names cmd --description "A plugin manager for Fish"
2 +
    set --query fisher_path || set --local fisher_path $__fish_config_dir
3 +
    set --local fisher_version 4.4.4
4 +
    set --local fish_plugins $__fish_config_dir/fish_plugins
5 +
6 +
    switch "$cmd"
7 +
        case -v --version
8 +
            echo "fisher, version $fisher_version"
9 +
        case "" -h --help
10 +
            echo "Usage: fisher install <plugins...>  Install plugins"
11 +
            echo "       fisher remove  <plugins...>  Remove installed plugins"
12 +
            echo "       fisher update  <plugins...>  Update installed plugins"
13 +
            echo "       fisher update                Update all installed plugins"
14 +
            echo "       fisher list    [<regex>]     List installed plugins matching regex"
15 +
            echo "Options:"
16 +
            echo "       -v, --version  Print version"
17 +
            echo "       -h, --help     Print this help message"
18 +
            echo "Variables:"
19 +
            echo "       \$fisher_path  Plugin installation path. Default: $__fish_config_dir" | string replace --regex -- $HOME \~
20 +
        case ls list
21 +
            string match --entire --regex -- "$argv[2]" $_fisher_plugins
22 +
        case install update remove
23 +
            isatty || read --local --null --array stdin && set --append argv $stdin
24 +
25 +
            set --local install_plugins
26 +
            set --local update_plugins
27 +
            set --local remove_plugins
28 +
            set --local arg_plugins $argv[2..-1]
29 +
            set --local old_plugins $_fisher_plugins
30 +
            set --local new_plugins
31 +
32 +
            test -e $fish_plugins && set --local file_plugins (string match --regex -- '^[^\s]+$' <$fish_plugins)
33 +
34 +
            if ! set --query argv[2]
35 +
                if test "$cmd" != update
36 +
                    echo "fisher: Not enough arguments for command: \"$cmd\"" >&2 && return 1
37 +
                else if ! set --query file_plugins
38 +
                    echo "fisher: \"$fish_plugins\" file not found: \"$cmd\"" >&2 && return 1
39 +
                end
40 +
                set arg_plugins $file_plugins
41 +
            end
42 +
43 +
            for plugin in $arg_plugins
44 +
                set plugin (test -e "$plugin" && realpath $plugin || string lower -- $plugin)
45 +
                contains -- "$plugin" $new_plugins || set --append new_plugins $plugin
46 +
            end
47 +
48 +
            if set --query argv[2]
49 +
                for plugin in $new_plugins
50 +
                    if contains -- "$plugin" $old_plugins
51 +
                        test "$cmd" = remove &&
52 +
                            set --append remove_plugins $plugin ||
53 +
                            set --append update_plugins $plugin
54 +
                    else if test "$cmd" = install
55 +
                        set --append install_plugins $plugin
56 +
                    else
57 +
                        echo "fisher: Plugin not installed: \"$plugin\"" >&2 && return 1
58 +
                    end
59 +
                end
60 +
            else
61 +
                for plugin in $new_plugins
62 +
                    contains -- "$plugin" $old_plugins &&
63 +
                        set --append update_plugins $plugin ||
64 +
                        set --append install_plugins $plugin
65 +
                end
66 +
67 +
                for plugin in $old_plugins
68 +
                    contains -- "$plugin" $new_plugins || set --append remove_plugins $plugin
69 +
                end
70 +
            end
71 +
72 +
            set --local pid_list
73 +
            set --local source_plugins
74 +
            set --local fetch_plugins $update_plugins $install_plugins
75 +
            set --local fish_path (status fish-path)
76 +
77 +
            echo (set_color --bold)fisher $cmd version $fisher_version(set_color normal)
78 +
79 +
            for plugin in $fetch_plugins
80 +
                set --local source (command mktemp -d)
81 +
                set --append source_plugins $source
82 +
83 +
                command mkdir -p $source/{completions,conf.d,themes,functions}
84 +
85 +
                $fish_path --command "
86 +
                    if test -e $plugin
87 +
                        command cp -Rf $plugin/* $source
88 +
                    else
89 +
                        set temp (command mktemp -d)
90 +
                        set repo (string split -- \@ $plugin) || set repo[2] HEAD
91 +
92 +
                        if set path (string replace --regex -- '^(https://)?gitlab.com/' '' \$repo[1])
93 +
                            set name (string split -- / \$path)[-1]
94 +
                            set url https://gitlab.com/\$path/-/archive/\$repo[2]/\$name-\$repo[2].tar.gz
95 +
                        else
96 +
                            set url https://api.github.com/repos/\$repo[1]/tarball/\$repo[2]
97 +
                        end
98 +
99 +
                        echo Fetching (set_color --underline)\$url(set_color normal)
100 +
101 +
                        if command curl -q --silent -L \$url | command tar -xzC \$temp -f - 2>/dev/null
102 +
                            command cp -Rf \$temp/*/* $source
103 +
                        else
104 +
                            echo fisher: Invalid plugin name or host unavailable: \\\"$plugin\\\" >&2
105 +
                            command rm -rf $source
106 +
                        end
107 +
108 +
                        command rm -rf \$temp
109 +
                    end
110 +
111 +
                    set files $source/* && string match --quiet --regex -- .+\.fish\\\$ \$files
112 +
                " &
113 +
114 +
                set --append pid_list (jobs --last --pid)
115 +
            end
116 +
117 +
            wait $pid_list 2>/dev/null
118 +
119 +
            for plugin in $fetch_plugins
120 +
                if set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)] && test ! -e $source
121 +
                    if set --local index (contains --index -- "$plugin" $install_plugins)
122 +
                        set --erase install_plugins[$index]
123 +
                    else
124 +
                        set --erase update_plugins[(contains --index -- "$plugin" $update_plugins)]
125 +
                    end
126 +
                end
127 +
            end
128 +
129 +
            for plugin in $update_plugins $remove_plugins
130 +
                if set --local index (contains --index -- "$plugin" $_fisher_plugins)
131 +
                    set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files
132 +
133 +
                    if contains -- "$plugin" $remove_plugins
134 +
                        for name in (string replace --filter --regex -- '.+/conf\.d/([^/]+)\.fish$' '$1' $$plugin_files_var)
135 +
                            emit {$name}_uninstall
136 +
                        end
137 +
                        printf "%s\n" Removing\ (set_color red --bold)$plugin(set_color normal) "         "$$plugin_files_var | string replace -- \~ ~
138 +
                        set --erase _fisher_plugins[$index]
139 +
                    end
140 +
141 +
                    command rm -rf (string replace -- \~ ~ $$plugin_files_var)
142 +
143 +
                    functions --erase (string replace --filter --regex -- '.+/functions/([^/]+)\.fish$' '$1' $$plugin_files_var)
144 +
145 +
                    for name in (string replace --filter --regex -- '.+/completions/([^/]+)\.fish$' '$1' $$plugin_files_var)
146 +
                        complete --erase --command $name
147 +
                    end
148 +
149 +
                    set --erase $plugin_files_var
150 +
                end
151 +
            end
152 +
153 +
            if set --query update_plugins[1] || set --query install_plugins[1]
154 +
                command mkdir -p $fisher_path/{functions,themes,conf.d,completions}
155 +
            end
156 +
157 +
            for plugin in $update_plugins $install_plugins
158 +
                set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)]
159 +
                set --local files $source/{functions,themes,conf.d,completions}/*
160 +
161 +
                if set --local index (contains --index -- $plugin $install_plugins)
162 +
                    set --local user_files $fisher_path/{functions,themes,conf.d,completions}/*
163 +
                    set --local conflict_files
164 +
165 +
                    for file in (string replace -- $source/ $fisher_path/ $files)
166 +
                        contains -- $file $user_files && set --append conflict_files $file
167 +
                    end
168 +
169 +
                    if set --query conflict_files[1] && set --erase install_plugins[$index]
170 +
                        echo -s "fisher: Cannot install \"$plugin\": please remove or move conflicting files first:" \n"        "$conflict_files >&2
171 +
                        continue
172 +
                    end
173 +
                end
174 +
175 +
                for file in (string replace -- $source/ "" $files)
176 +
                    command cp -RLf $source/$file $fisher_path/$file
177 +
                end
178 +
179 +
                set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files
180 +
181 +
                set --query files[1] && set --universal $plugin_files_var (string replace -- $source $fisher_path $files | string replace -- ~ \~)
182 +
183 +
                contains -- $plugin $_fisher_plugins || set --universal --append _fisher_plugins $plugin
184 +
                contains -- $plugin $install_plugins && set --local event install || set --local event update
185 +
186 +
                printf "%s\n" Installing\ (set_color --bold)$plugin(set_color normal) "           "$$plugin_files_var | string replace -- \~ ~
187 +
188 +
                for file in (string match --regex -- '.+/[^/]+\.fish$' $$plugin_files_var | string replace -- \~ ~)
189 +
                    source $file
190 +
                    if set --local name (string replace --regex -- '.+conf\.d/([^/]+)\.fish$' '$1' $file)
191 +
                        emit {$name}_$event
192 +
                    end
193 +
                end
194 +
            end
195 +
196 +
            command rm -rf $source_plugins
197 +
198 +
            if set --query _fisher_plugins[1]
199 +
                set --local commit_plugins
200 +
201 +
                for plugin in $file_plugins
202 +
                    contains -- (string lower -- $plugin) (string lower -- $_fisher_plugins) && set --append commit_plugins $plugin
203 +
                end
204 +
205 +
                for plugin in $_fisher_plugins
206 +
                    contains -- (string lower -- $plugin) (string lower -- $commit_plugins) || set --append commit_plugins $plugin
207 +
                end
208 +
209 +
                printf "%s\n" $commit_plugins >$fish_plugins
210 +
            else
211 +
                set --erase _fisher_plugins
212 +
                command rm -f $fish_plugins
213 +
            end
214 +
215 +
            set --local total (count $install_plugins) (count $update_plugins) (count $remove_plugins)
216 +
217 +
            test "$total" != "0 0 0" && echo (string join ", " (
218 +
                test $total[1] = 0 || echo "Installed $total[1]") (
219 +
                test $total[2] = 0 || echo "Updated $total[2]") (
220 +
                test $total[3] = 0 || echo "Removed $total[3]")
221 +
            ) plugin/s
222 +
        case \*
223 +
            echo "fisher: Unknown command: \"$cmd\"" >&2 && return 1
224 +
    end
225 +
end
226 +
227 +
if ! set --query _fisher_upgraded_to_4_4
228 +
    set --universal _fisher_upgraded_to_4_4
229 +
    if functions --query _fisher_list
230 +
        set --query XDG_DATA_HOME[1] || set --local XDG_DATA_HOME ~/.local/share
231 +
        command rm -rf $XDG_DATA_HOME/fisher
232 +
        functions --erase _fisher_{list,plugin_parse}
233 +
        fisher update >/dev/null 2>/dev/null
234 +
    else
235 +
        for var in (set --names | string match --entire --regex '^_fisher_.+_files$')
236 +
            set $var (string replace -- ~ \~ $$var)
237 +
        end
238 +
        functions --erase _fisher_fish_postexec
239 +
    end
240 +
end
fish/functions/inv.fish (added) +8 −0
1 +
function inv
2 +
    set selected_file (fzf -m --preview='bat --color=always {}')
3 +
    if test "$status" -eq 0
4 +
        nvim "$selected_file"
5 +
    else
6 +
        echo "Selection canceled."
7 +
    end
8 +
end
fish/functions/nvm.fish (added) +234 −0
1 +
function nvm --description "Node version manager"
2 +
    for silent in --silent -s
3 +
        if set --local index (contains --index -- $silent $argv)
4 +
            set --erase argv[$index] && break
5 +
        end
6 +
        set --erase silent
7 +
    end
8 +
9 +
    set --local cmd $argv[1]
10 +
    set --local ver $argv[2]
11 +
12 +
    if set --query silent && ! set --query cmd[1]
13 +
        echo "nvm: Version number not specified (see nvm -h for usage)" >&2
14 +
        return 1
15 +
    end
16 +
17 +
    if ! set --query ver[1] && contains -- "$cmd" install use
18 +
        for file in .nvmrc .node-version
19 +
            set file (_nvm_find_up $PWD $file) && read ver <$file && break
20 +
        end
21 +
22 +
        if ! set --query ver[1]
23 +
            echo "nvm: Invalid version or missing \".nvmrc\" file" >&2
24 +
            return 1
25 +
        end
26 +
    end
27 +
28 +
    set --local their_version $ver
29 +
30 +
    switch "$cmd"
31 +
        case -v --version
32 +
            echo "nvm, version 2.2.13"
33 +
        case "" -h --help
34 +
            echo "Usage: nvm install <version>    Download and activate the specified Node version"
35 +
            echo "       nvm install              Install the version specified in the nearest .nvmrc file"
36 +
            echo "       nvm use <version>        Activate the specified Node version in the current shell"
37 +
            echo "       nvm use                  Activate the version specified in the nearest .nvmrc file"
38 +
            echo "       nvm list                 List installed Node versions"
39 +
            echo "       nvm list-remote          List available Node versions to install"
40 +
            echo "       nvm list-remote <regex>  List Node versions matching a given regex pattern"
41 +
            echo "       nvm current              Print the currently-active Node version"
42 +
            echo "       nvm uninstall <version>  Uninstall the specified Node version"
43 +
            echo "Options:"
44 +
            echo "       -s, --silent             Suppress standard output"
45 +
            echo "       -v, --version            Print the version of nvm"
46 +
            echo "       -h, --help               Print this help message"
47 +
            echo "Variables:"
48 +
            echo "       nvm_arch                 Override architecture, e.g. x64-musl"
49 +
            echo "       nvm_mirror               Use a mirror for downloading Node binaries"
50 +
            echo "       nvm_default_version      Set the default version for new shells"
51 +
            echo "       nvm_default_packages     Install a list of packages every time a Node version is installed"
52 +
            echo "Examples:"
53 +
            echo "       nvm install latest       Install the latest version of Node"
54 +
            echo "       nvm use 14.15.1          Use Node version 14.15.1"
55 +
            echo "       nvm use system           Activate the system's Node version"
56 +
57 +
        case install
58 +
            _nvm_index_update
59 +
60 +
            string match --entire --regex -- (_nvm_version_match $ver) <$nvm_data/.index | read ver alias
61 +
62 +
            if ! set --query ver[1]
63 +
                echo "nvm: Invalid version number or alias: \"$their_version\"" >&2
64 +
                return 1
65 +
            end
66 +
67 +
            if test ! -e $nvm_data/$ver
68 +
                set --local os (command uname -s | string lower)
69 +
                set --local ext tar.gz
70 +
                set --local arch (command uname -m)
71 +
72 +
                switch $os
73 +
                    case aix
74 +
                        set arch ppc64
75 +
                    case sunos
76 +
                    case linux
77 +
                    case darwin
78 +
                    case {MSYS_NT,MINGW\*_NT}\*
79 +
                        set os win
80 +
                        set ext zip
81 +
                    case \*
82 +
                        echo "nvm: Unsupported operating system: \"$os\"" >&2
83 +
                        return 1
84 +
                end
85 +
86 +
                switch $arch
87 +
                    case i\*86
88 +
                        set arch x86
89 +
                    case x86_64
90 +
                        set arch x64
91 +
                    case arm64
92 +
                        string match --regex --quiet "v(?<major>\d+)" $ver
93 +
                        if test "$os" = darwin -a $major -lt 16
94 +
                            set arch x64
95 +
                        end
96 +
                    case armv6 armv6l
97 +
                        set arch armv6l
98 +
                    case armv7 armv7l
99 +
                        set arch armv7l
100 +
                    case armv8 armv8l aarch64
101 +
                        set arch arm64
102 +
                end
103 +
104 +
                set --query nvm_arch && set arch $nvm_arch
105 +
106 +
                set --local dir "node-$ver-$os-$arch"
107 +
                set --local url $nvm_mirror/$ver/$dir.$ext
108 +
109 +
                command mkdir -p $nvm_data/$ver
110 +
111 +
                if ! set --query silent
112 +
                    echo -e "Installing Node \x1b[1m$ver\x1b[22m $alias"
113 +
                    echo -e "Fetching \x1b[4m$url\x1b[24m\x1b[7m"
114 +
                end
115 +
116 +
                if ! command curl $silent --progress-bar --location $url |
117 +
                        command tar --extract --gzip --directory $nvm_data/$ver 2>/dev/null
118 +
                    command rm -rf $nvm_data/$ver
119 +
                    echo -e "\033[F\33[2K\x1b[0mnvm: Invalid mirror or host unavailable: \"$url\"" >&2
120 +
                    return 1
121 +
                end
122 +
123 +
                set --query silent || echo -en "\033[F\33[2K\x1b[0m"
124 +
125 +
                if test "$os" = win
126 +
                    command mv $nvm_data/$ver/$dir $nvm_data/$ver/bin
127 +
                else
128 +
                    command mv $nvm_data/$ver/$dir/* $nvm_data/$ver
129 +
                    command rm -rf $nvm_data/$ver/$dir
130 +
                end
131 +
            end
132 +
133 +
            if test $ver != "$nvm_current_version"
134 +
                set --query nvm_current_version && _nvm_version_deactivate $nvm_current_version
135 +
                _nvm_version_activate $ver
136 +
137 +
                set --query nvm_default_packages[1] && npm install --global $silent $nvm_default_packages
138 +
            end
139 +
140 +
            set --query silent || printf "Now using Node %s (npm %s) %s\n" (_nvm_node_info)
141 +
        case use
142 +
            test $ver = default && set ver $nvm_default_version
143 +
            _nvm_list | string match --entire --regex -- (_nvm_version_match $ver) | read ver __
144 +
145 +
            if ! set --query ver[1]
146 +
                echo "nvm: Can't use Node \"$their_version\", version must be installed first" >&2
147 +
                return 1
148 +
            end
149 +
150 +
            if test $ver != "$nvm_current_version"
151 +
                set --query nvm_current_version && _nvm_version_deactivate $nvm_current_version
152 +
                test $ver != system && _nvm_version_activate $ver
153 +
            end
154 +
155 +
            set --query silent || printf "Now using Node %s (npm %s) %s\n" (_nvm_node_info)
156 +
        case uninstall
157 +
            if test -z "$ver"
158 +
                echo "nvm: Not enough arguments for command: \"$cmd\"" >&2
159 +
                return 1
160 +
            end
161 +
162 +
            test $ver = default && test ! -z "$nvm_default_version" && set ver $nvm_default_version
163 +
164 +
            _nvm_list | string match --entire --regex -- (_nvm_version_match $ver) | read ver __
165 +
166 +
            if ! set -q ver[1]
167 +
                echo "nvm: Node version not installed or invalid: \"$their_version\"" >&2
168 +
                return 1
169 +
            end
170 +
171 +
            set --query silent || printf "Uninstalling Node %s %s\n" $ver (string replace ~ \~ "$nvm_data/$ver/bin/node")
172 +
173 +
            _nvm_version_deactivate $ver
174 +
175 +
            command rm -rf $nvm_data/$ver
176 +
        case current
177 +
            _nvm_current
178 +
        case ls list
179 +
            _nvm_list | _nvm_list_format (_nvm_current) $argv[2]
180 +
        case lsr {ls,list}-remote
181 +
            _nvm_index_update || return
182 +
            _nvm_list | command awk '
183 +
                FILENAME == "-" && (is_local[$1] = FNR == NR) { next } {
184 +
                    print $0 (is_local[$1] ? " ✓" : "")
185 +
                }
186 +
            ' - $nvm_data/.index | _nvm_list_format (_nvm_current) $argv[2]
187 +
        case \*
188 +
            echo "nvm: Unknown command or option: \"$cmd\" (see nvm -h for usage)" >&2
189 +
            return 1
190 +
    end
191 +
end
192 +
193 +
function _nvm_find_up --argument-names path file
194 +
    test -e "$path/$file" && echo $path/$file || begin
195 +
        test ! -z "$path" || return
196 +
        _nvm_find_up (string replace --regex -- '/[^/]*$' "" $path) $file
197 +
    end
198 +
end
199 +
200 +
function _nvm_version_match --argument-names ver
201 +
    string replace --regex -- '^v?(\d+|\d+\.\d+)$' 'v$1.' $ver |
202 +
        string replace --filter --regex -- '^v?(\d+)' 'v$1' |
203 +
        string escape --style=regex || string lower '\b'$ver'(?:/\w+)?$'
204 +
end
205 +
206 +
function _nvm_list_format --argument-names current regex
207 +
    command awk -v current="$current" -v regex="$regex" '
208 +
        $0 ~ regex {
209 +
            aliases[versions[i++] = $1] = $2 " " $3
210 +
            pad = (n = length($1)) > pad ? n : pad
211 +
        }
212 +
        END {
213 +
            if (!i) exit 1
214 +
            while (i--)
215 +
                printf((current == versions[i] ? " ▶ " : "   ") "%"pad"s %s\n",
216 +
                    versions[i], aliases[versions[i]])
217 +
        }
218 +
    '
219 +
end
220 +
221 +
function _nvm_current
222 +
    command --search --quiet node || return
223 +
    set --query nvm_current_version && echo $nvm_current_version || echo system
224 +
end
225 +
226 +
function _nvm_node_info
227 +
    set --local npm_path (string replace bin/npm-cli.js "" (realpath (command --search npm)))
228 +
    test -f $npm_path/package.json || set --local npm_version_default (command npm --version)
229 +
    command node --eval "
230 +
        console.log(process.version)
231 +
        console.log('$npm_version_default' ? '$npm_version_default': require('$npm_path/package.json').version)
232 +
        console.log(process.execPath)
233 +
    " | string replace -- ~ \~
234 +
end
fish/functions/oatsesh.fish (added) +11 −0
1 +
function oatshesh
2 +
    set selected_session (oatmeal sessions list | fzf)
3 +
    
4 +
    if test -n "$selected_session"
5 +
        set id_value (echo $selected_session | grep -o '[a-f0-9]\{8\}-[a-f0-9]\{4\}' | head -n 1)
6 +
        
7 +
        if test -n "$id_value"
8 +
            oatmeal sessions open -i $id_value
9 +
        end
10 +
    end
11 +
end
fish/functions/pin.fish (added) +22 −0
1 +
#!/usr/bin/env
2 +
3 +
# Get the URL from the command-line argument
4 +
set url $argv[1]
5 +
6 +
# Download the file using wget
7 +
wget -O downloaded_file $url
8 +
9 +
# Upload the file using Pinata
10 +
pinata upload downloaded_file
11 +
12 +
# Get the "bafy" value from the upload command
13 +
set bafy (echo $last_status | grep -o 'bafy.*')
14 +
15 +
# Construct the IPFS URL
16 +
set ipfs_url "https://docs.mypinata.cloud/ipfs/"$bafy
17 +
18 +
# Copy the IPFS URL
19 +
echo $ipfs_url
20 +
21 +
# Delete the original downloaded file
22 +
rm downloaded_file
fish/functions/sesh_start (added) +4 −0
1 +
#!/usr/bin/env fish
2 +
sesh connect $(
3 +
	sesh list -i | gum filter --limit 1 --placeholder "Choose a session" --height 50 --prompt="⚡"
4 +
)
fish/functions/sponge_filter_failed.fish (added) +11 −0
1 +
function sponge_filter_failed \
2 +
  --argument-names command exit_code previously_in_history
3 +
4 +
  if test $previously_in_history = true -a $sponge_allow_previously_successful = true
5 +
    return 1
6 +
  end
7 +
8 +
  if contains $exit_code $sponge_successful_exit_codes
9 +
    return 1
10 +
  end
11 +
end
fish/functions/sponge_filter_matched.fish (added) +11 −0
1 +
function sponge_filter_matched \
2 +
  --argument-names command
3 +
4 +
  for pattern in $sponge_regex_patterns
5 +
    if string match --regex --quiet $pattern -- $command
6 +
      return
7 +
    end
8 +
  end
9 +
10 +
  return 1
11 +
end
fish/themes (deleted) +0 −1
1 -
/Users/stevedylandev/.config/fish/themes
fish/themes/Rosé Pine Dawn.theme (added) +41 −0
1 +
# syntax highlighting variables
2 +
# https://fishshell.com/docs/current/interactive.html#syntax-highlighting-variables
3 +
fish_color_normal 575279
4 +
fish_color_command 907aa9
5 +
fish_color_keyword 56949f
6 +
fish_color_quote ea9d34
7 +
fish_color_redirection 286983
8 +
fish_color_end 797593
9 +
fish_color_error b4637a
10 +
fish_color_param d7827e
11 +
fish_color_comment 797593
12 +
# fish_color_match --background=brblue
13 +
fish_color_selection --reverse
14 +
# fish_color_history_current --bold
15 +
fish_color_operator 575279
16 +
fish_color_escape 286983
17 +
fish_color_autosuggestion 797593
18 +
fish_color_cwd d7827e
19 +
# fish_color_cwd_root red
20 +
fish_color_user ea9d34
21 +
fish_color_host 56949f
22 +
fish_color_host_remote 907aa9
23 +
fish_color_cancel 575279
24 +
fish_color_search_match --background=faf4ed
25 +
fish_color_valid_path
26 +
27 +
# pager color variables
28 +
# https://fishshell.com/docs/current/interactive.html#pager-color-variables
29 +
fish_pager_color_progress d7827e
30 +
fish_pager_color_background --background=fffaf3
31 +
fish_pager_color_prefix 56949f
32 +
fish_pager_color_completion 797593
33 +
fish_pager_color_description 797593
34 +
fish_pager_color_secondary_background
35 +
fish_pager_color_secondary_prefix
36 +
fish_pager_color_secondary_completion
37 +
fish_pager_color_secondary_description
38 +
fish_pager_color_selected_background --background=f2e9e1
39 +
fish_pager_color_selected_prefix 56949f
40 +
fish_pager_color_selected_completion 575279
41 +
fish_pager_color_selected_description 575279
fish/themes/Rosé Pine Moon.theme (added) +41 −0
1 +
# syntax highlighting variables
2 +
# https://fishshell.com/docs/current/interactive.html#syntax-highlighting-variables
3 +
fish_color_normal e0def4
4 +
fish_color_command c4a7e7
5 +
fish_color_keyword 9ccfd8
6 +
fish_color_quote f6c177
7 +
fish_color_redirection 3e8fb0
8 +
fish_color_end 908caa
9 +
fish_color_error eb6f92
10 +
fish_color_param ea9a97
11 +
fish_color_comment 908caa
12 +
# fish_color_match --background=brblue
13 +
fish_color_selection --reverse
14 +
# fish_color_history_current --bold
15 +
fish_color_operator e0def4
16 +
fish_color_escape 3e8fb0
17 +
fish_color_autosuggestion 908caa
18 +
fish_color_cwd ea9a97
19 +
# fish_color_cwd_root red
20 +
fish_color_user f6c177
21 +
fish_color_host 9ccfd8
22 +
fish_color_host_remote c4a7e7
23 +
fish_color_cancel e0def4
24 +
fish_color_search_match --background=232136
25 +
fish_color_valid_path
26 +
27 +
# pager color variables
28 +
# https://fishshell.com/docs/current/interactive.html#pager-color-variables
29 +
fish_pager_color_progress ea9a97
30 +
fish_pager_color_background --background=2a273f
31 +
fish_pager_color_prefix 9ccfd8
32 +
fish_pager_color_completion 908caa
33 +
fish_pager_color_description 908caa
34 +
fish_pager_color_secondary_background
35 +
fish_pager_color_secondary_prefix
36 +
fish_pager_color_secondary_completion
37 +
fish_pager_color_secondary_description
38 +
fish_pager_color_selected_background --background=393552
39 +
fish_pager_color_selected_prefix 9ccfd8
40 +
fish_pager_color_selected_completion e0def4
41 +
fish_pager_color_selected_description e0def4
fish/themes/Rosé Pine.theme (added) +41 −0
1 +
# syntax highlighting variables
2 +
# https://fishshell.com/docs/current/interactive.html#syntax-highlighting-variables
3 +
fish_color_normal e0def4
4 +
fish_color_command c4a7e7
5 +
fish_color_keyword 9ccfd8
6 +
fish_color_quote f6c177
7 +
fish_color_redirection 31748f
8 +
fish_color_end 908caa
9 +
fish_color_error eb6f92
10 +
fish_color_param ebbcba
11 +
fish_color_comment 908caa
12 +
# fish_color_match --background=brblue
13 +
fish_color_selection --reverse
14 +
# fish_color_history_current --bold
15 +
fish_color_operator e0def4
16 +
fish_color_escape 31748f
17 +
fish_color_autosuggestion 908caa
18 +
fish_color_cwd ebbcba
19 +
# fish_color_cwd_root red
20 +
fish_color_user f6c177
21 +
fish_color_host 9ccfd8
22 +
fish_color_host_remote c4a7e7
23 +
fish_color_cancel e0def4
24 +
fish_color_search_match --background=191724
25 +
fish_color_valid_path
26 +
27 +
# pager color variables
28 +
# https://fishshell.com/docs/current/interactive.html#pager-color-variables
29 +
fish_pager_color_progress ebbcba
30 +
fish_pager_color_background --background=1f1d2e
31 +
fish_pager_color_prefix 9ccfd8
32 +
fish_pager_color_completion 908caa
33 +
fish_pager_color_description 908caa
34 +
fish_pager_color_secondary_background
35 +
fish_pager_color_secondary_prefix
36 +
fish_pager_color_secondary_completion
37 +
fish_pager_color_secondary_description
38 +
fish_pager_color_selected_background --background=26233a
39 +
fish_pager_color_selected_prefix 9ccfd8
40 +
fish_pager_color_selected_completion e0def4
41 +
fish_pager_color_selected_description e0def4