A .config/fish/completions/fisher.fish => .config/fish/completions/fisher.fish +7 -0
@@ 0,0 1,7 @@
+complete --command fisher --exclusive --long help --description "Print help"
+complete --command fisher --exclusive --long version --description "Print version"
+complete --command fisher --exclusive --condition __fish_use_subcommand --arguments install --description "Install plugins"
+complete --command fisher --exclusive --condition __fish_use_subcommand --arguments update --description "Update installed plugins"
+complete --command fisher --exclusive --condition __fish_use_subcommand --arguments remove --description "Remove installed plugins"
+complete --command fisher --exclusive --condition __fish_use_subcommand --arguments list --description "List installed plugins matching regex"
+complete --command fisher --exclusive --condition "__fish_seen_subcommand_from update remove" --arguments "(fisher list)"
A .config/fish/completions/nix-channel.fish => .config/fish/completions/nix-channel.fish +9 -0
@@ 0,0 1,9 @@
+complete nix-channel --exclusive
+
+complete nix-channel -n __fish_is_first_arg -a --add -d "Subscribe to a channel"
+complete nix-channel -n __fish_is_first_arg -a --remove -d "Unsubscribe from a channel"
+complete nix-channel -n __fish_is_first_arg -a --list -d "List subscribed channels"
+complete nix-channel -n __fish_is_first_arg -a --update -d "Update and activate channels"
+complete nix-channel -n __fish_is_first_arg -a --rollback -d "Revert the previous nix-channel --update"
+
+complete nix-channel -n "__fish_seen_argument -l remove -l update" -a "(nix-channel --list | string split --fields 1 ' ')"
A .config/fish/completions/nix-collect-garbage.fish => .config/fish/completions/nix-collect-garbage.fish +6 -0
@@ 0,0 1,6 @@
+complete nix-collect-garbage --exclusive
+
+complete nix-collect-garbage -l delete-old -s d -d "Delete all old generations of all profiles"
+complete nix-collect-garbage -l delete-older-than -d "Delete generations older than the given time"
+complete nix-collect-garbage -l max-freed
+complete nix-collect-garbage -l dry-run
A .config/fish/completions/nix-copy-closure.fish => .config/fish/completions/nix-copy-closure.fish +8 -0
@@ 0,0 1,8 @@
+complete nix-copy-closure --exclusive
+
+complete nix-copy-closure -l to -d "Copy the closure to the remote machine (default)"
+complete nix-copy-closure -l from -d "Copy the closure from the remote machine"
+complete nix-copy-closure -l gzip -d "Enable compression of the SSH connection"
+complete nix-copy-closure -l include-outputs -d "Also copy outputs of store derivations included in the closure"
+complete nix-copy-closure -l use-substitutes -s s -d "Download files from the binary cache if possible"
+complete nix-copy-closure -s v
A .config/fish/completions/nix-env.fish => .config/fish/completions/nix-env.fish +70 -0
@@ 0,0 1,70 @@
+complete nix-env --exclusive
+
+# Common options
+complete nix-env -l file -s f -d "Specify Nix expression used to obtain derivations"
+complete nix-env -l profile -s p -d "Specify the profile to use"
+complete nix-env -l dry-run
+complete nix-env -l system-filter -d "Only show derivations matching the specified platform"
+
+_nix_complete_common_options nix-env
+
+# Operation --install
+complete nix-env -n "__fish_not_contain_opt install upgrade uninstall set set-flag query switch-profile list-generations delete-generations switch-generation rollback -s i -s u -s e -s q -s S -s G" -a "--install -i" -d "Install package"
+complete nix-env -n "__fish_seen_argument -l install -s i" -l prebuilt-only -s b -d "Fail if there is no pre-built binary available"
+complete nix-env -n "__fish_seen_argument -l install -s i" -l from-expressions
+complete nix-env -n "__fish_seen_argument -l install -s i" -l from-profile -d "Fetch store paths from another profile"
+complete nix-env -n "__fish_seen_argument -l install -s i" -l preserve-installed -s P -d "Do not remove derivations with the same name"
+complete nix-env -n "__fish_seen_argument -l install -s i" -l remove-all -s r -d "Remove all previously installed packages prior to installing"
+
+# Operation --upgrade
+complete nix-env -n "__fish_not_contain_opt install upgrade uninstall set set-flag query switch-profile list-generations delete-generations switch-generation rollback -s i -s u -s e -s q -s S -s G" -a "--upgrade -u" -d "Upgrade package"
+complete nix-env -n "__fish_seen_argument -l upgrade -s u" -l prebuilt-only -s b -d "Fail if there is no pre-built binary available"
+complete nix-env -n "__fish_seen_argument -l upgrade -s u" -l from-expressions
+complete nix-env -n "__fish_seen_argument -l upgrade -s u" -l from-profile -d "Fetch store paths from another profile"
+complete nix-env -n "__fish_seen_argument -l upgrade -s u" -l lt -d "Upgrade derivations with newer versions (default)"
+complete nix-env -n "__fish_seen_argument -l upgrade -s u" -l leq -d "Upgrade derivations with the same or newer version"
+complete nix-env -n "__fish_seen_argument -l upgrade -s u" -l eq -d "Upgrade derivations with equivalent versions"
+complete nix-env -n "__fish_seen_argument -l upgrade -s u" -l always -d "Upgrade even if version number decreases"
+
+# Operation --uninstall
+complete nix-env -n "__fish_not_contain_opt install upgrade uninstall set set-flag query switch-profile list-generations delete-generations switch-generation rollback -s i -s u -s e -s q -s S -s G" -a "--uninstall -e" -d "Uninstall package"
+
+# Operation --set
+complete nix-env -n "__fish_not_contain_opt install upgrade uninstall set set-flag query switch-profile list-generations delete-generations switch-generation rollback -s i -s u -s e -s q -s S -s G" -a --set -d "Modify profile to only contain specified derivation"
+
+# Operation --set-flag
+complete nix-env -n "__fish_not_contain_opt install upgrade uninstall set set-flag query switch-profile list-generations delete-generations switch-generation rollback -s i -s u -s e -s q -s S -s G" -a --set-flag -d "Modify meta attribute of installed package"
+
+# Operation --query
+complete nix-env -n "__fish_not_contain_opt install upgrade uninstall set set-flag query switch-profile list-generations delete-generations switch-generation rollback -s i -s u -s e -s q -s S -s G" -a "--query -q" -d "List information about derivations"
+complete nix-env -n "__fish_seen_argument -l query -s q" -l installed
+complete nix-env -n "__fish_seen_argument -l query -s q" -l available -s a -d "Display all installable derivations"
+complete nix-env -n "__fish_seen_argument -l query -s q" -l status -s s -d "Print status of derivation"
+complete nix-env -n "__fish_seen_argument -l query -s q" -l attr-path -s P -d "Print attribute path of derivations"
+complete nix-env -n "__fish_seen_argument -l query -s q" -l no-name -d "Suppress printing of name attribute"
+complete nix-env -n "__fish_seen_argument -l query -s q" -l compare-versions -s c -d "Compare installed and available version"
+complete nix-env -n "__fish_seen_argument -l query -s q" -l system -d "Print system attribute"
+complete nix-env -n "__fish_seen_argument -l query -s q" -l drv-path -d "Print store derivation path"
+complete nix-env -n "__fish_seen_argument -l query -s q" -l out-path -d "Print output path"
+complete nix-env -n "__fish_seen_argument -l query -s q" -l description -d "Print description"
+complete nix-env -n "__fish_seen_argument -l query -s q" -l meta -d "Print all meta attributes (only available with --xml)"
+complete nix-env -n "__fish_seen_argument -l query -s q" -l xml -d "Print output as xml"
+complete nix-env -n "__fish_seen_argument -l query -s q" -l json -d "Print output as json"
+complete nix-env -n "__fish_seen_argument -l query -s q" -l prebuilt-only -s b -d "Fail if there is no pre-built binary available"
+
+# Operation --switch-profile
+complete nix-env -n "__fish_not_contain_opt install upgrade uninstall set set-flag query switch-profile list-generations delete-generations switch-generation rollback -s i -s u -s e -s q -s S -s G" -a "--switch-profile -S" -d "Set the current profile path"
+
+# Operation --list-generations
+complete nix-env -n "__fish_not_contain_opt install upgrade uninstall set set-flag query switch-profile list-generations delete-generations switch-generation rollback -s i -s u -s e -s q -s S -s G" -a --list-generations -d "Print a list of all generations in the active profile"
+
+# Operation --delete-generations
+complete nix-env -n "__fish_not_contain_opt install upgrade uninstall set set-flag query switch-profile list-generations delete-generations switch-generation rollback -s i -s u -s e -s q -s S -s G" -a --delete-generations -d "Delete specified generations"
+
+# Operation --switch-generation
+complete nix-env -n "__fish_not_contain_opt install upgrade uninstall set set-flag query switch-profile list-generations delete-generations switch-generation rollback -s i -s u -s e -s q -s S -s G" -a "--switch-generation -G" -d "Activate specified generation"
+
+# Operation --rollback
+complete nix-env -n "__fish_not_contain_opt install upgrade uninstall set set-flag query switch-profile list-generations delete-generations switch-generation rollback -s i -s u -s e -s q -s S -s G" -a --rollback -d "Switch to the previous generation of active profile"
+
+complete nix-env -n "__fish_seen_argument -l delete-generations -l switch-generation -s G" -a "(nix-env --list-generations | string split --fields 2 ' ')"
A .config/fish/completions/nix-hash.fish => .config/fish/completions/nix-hash.fish +10 -0
@@ 0,0 1,10 @@
+complete nix-hash --exclusive
+
+complete nix-hash -l flat -d "Print hash of regular files rather than their NAR dump"
+complete nix-hash -l base32 -d "Print hash in base 32 rather than hexadecimal"
+complete nix-hash -l truncate -d "Truncate hashes to 160 bits"
+complete nix-hash -l type -d "Hash algorithm to use"
+complete nix-hash -l to-base16 -d "Convert a base 32 hash to hexadecimal"
+complete nix-hash -l to-base32 -d "Convert a hexadecimal hash to base 32"
+
+complete nix-hash -n "__fish_seen_argument -l type" -a "md5 sha1 sha256 sha512"
A .config/fish/completions/nix-instantiate.fish => .config/fish/completions/nix-instantiate.fish +11 -0
@@ 0,0 1,11 @@
+complete nix-instantiate -l add-root
+complete nix-instantiate -l indirect
+complete nix-instantiate -l parse -d "Just parse the input files and print their abstract syntax trees"
+complete nix-instantiate -l eval -d "Just parse and evaluate the input files, and print the resulting values"
+complete nix-instantiate -l find-file -d "Look up the given files on Nix's search path"
+complete nix-instantiate -l strict -d "Cause --eval to recursively evaluate list elements and attributes"
+complete nix-instantiate -l json -d "Print output from --eval as JSON"
+complete nix-instantiate -l xml -d "Print output from --eval as XML"
+complete nix-instantiate -l read-write-mode -d "Perform evaluation in read/write mode"
+
+_nix_complete_common_options nix-instantiate
A .config/fish/completions/nix-prefetch-url.fish => .config/fish/completions/nix-prefetch-url.fish +9 -0
@@ 0,0 1,9 @@
+complete nix-prefetch-url --exclusive
+
+complete nix-prefetch-url -l version
+complete nix-prefetch-url -l type -d "Use the specified hash algorithm"
+complete nix-prefetch-url -l print-path -d "Print the resulting store path"
+complete nix-prefetch-url -l unpack -d "Unpack tarball/zip first"
+complete nix-prefetch-url -l name -d "Override the resulting nix store filename"
+
+complete nix-prefetch-url -n "__fish_seen_argument -l type" -a "md5 sha1 sha256 sha512"
A .config/fish/completions/nix.fish => .config/fish/completions/nix.fish +47 -0
@@ 0,0 1,47 @@
+complete nix --exclusive
+
+# Common options
+complete nix -l debug -d "enable debug output"
+complete nix -l help -d "show usage information"
+complete nix -l help-config -d "show configuration options"
+complete nix -l no-net -d "disable substituters and consider all previously downloaded files up-to-date"
+complete nix -l option -d "set a Nix configuration option (overriding nix.conf)"
+complete nix -l print-build-logs -s L -d "print full build logs on stderr"
+complete nix -l quiet -d "decrease verbosity level"
+complete nix -l verbose -s v -d "increase verbosity level"
+complete nix -l version -d "show version information"
+
+# Subcommands
+# Generated from `nix` help text with:
+# string replace --regex '([\w-]+)\s+(.+)' 'complete nix -n __fish_use_subcommand -a $1 -d "$2"'
+complete nix -n __fish_use_subcommand -a add-to-store -d "add a path to the Nix store"
+complete nix -n __fish_use_subcommand -a build -d "build a derivation or fetch a store path"
+complete nix -n __fish_use_subcommand -a cat-nar -d "print the contents of a file inside a NAR file"
+complete nix -n __fish_use_subcommand -a cat-store -d "print the contents of a store file on stdout"
+complete nix -n __fish_use_subcommand -a copy -d "copy paths between Nix stores"
+complete nix -n __fish_use_subcommand -a copy-sigs -d "copy path signatures from substituters (like binary caches)"
+complete nix -n __fish_use_subcommand -a doctor -d "check your system for potential problems"
+complete nix -n __fish_use_subcommand -a dump-path -d "dump a store path to stdout (in NAR format)"
+complete nix -n __fish_use_subcommand -a edit -d "open the Nix expression of a Nix package in $EDITOR"
+complete nix -n __fish_use_subcommand -a eval -d "evaluate a Nix expression"
+complete nix -n __fish_use_subcommand -a hash-file -d "print cryptographic hash of a regular file"
+complete nix -n __fish_use_subcommand -a hash-path -d "print cryptographic hash of the NAR serialisation of a path"
+complete nix -n __fish_use_subcommand -a log -d "show the build log of the specified packages or paths, if available"
+complete nix -n __fish_use_subcommand -a ls-nar -d "show information about the contents of a NAR file"
+complete nix -n __fish_use_subcommand -a ls-store -d "show information about a store path"
+complete nix -n __fish_use_subcommand -a optimise-store -d "replace identical files in the store by hard links"
+complete nix -n __fish_use_subcommand -a path-info -d "query information about store paths"
+complete nix -n __fish_use_subcommand -a ping-store -d "test whether a store can be opened"
+complete nix -n __fish_use_subcommand -a repl -d "start an interactive environment for evaluating Nix expressions"
+complete nix -n __fish_use_subcommand -a run -d "run a shell in which the specified packages are available"
+complete nix -n __fish_use_subcommand -a search -d "query available packages"
+complete nix -n __fish_use_subcommand -a show-config -d "show the Nix configuration"
+complete nix -n __fish_use_subcommand -a show-derivation -d "show the contents of a store derivation"
+complete nix -n __fish_use_subcommand -a sign-paths -d "sign the specified paths"
+complete nix -n __fish_use_subcommand -a to-base16 -d "convert a hash to base-16 representation"
+complete nix -n __fish_use_subcommand -a to-base32 -d "convert a hash to base-32 representation"
+complete nix -n __fish_use_subcommand -a to-base64 -d "convert a hash to base-64 representation"
+complete nix -n __fish_use_subcommand -a to-sri -d "convert a hash to SRI representation"
+complete nix -n __fish_use_subcommand -a upgrade-nix -d "upgrade Nix to the latest stable version"
+complete nix -n __fish_use_subcommand -a verify -d "verify the integrity of store paths"
+complete nix -n __fish_use_subcommand -a why-depends -d "show why a package has another package in its closure"
A .config/fish/conf.d/autopair.fish => .config/fish/conf.d/autopair.fish +39 -0
@@ 0,0 1,39 @@
+status is-interactive || exit
+
+set --global autopair_left "(" "[" "{" '"' "'"
+set --global autopair_right ")" "]" "}" '"' "'"
+set --global autopair_pairs "()" "[]" "{}" '""' "''"
+
+function _autopair_fish_key_bindings --on-variable fish_key_bindings
+ set --query fish_key_bindings[1] || return
+
+ test $fish_key_bindings = fish_default_key_bindings &&
+ set --local mode default insert ||
+ set --local mode insert default
+
+ bind --mode $mode[-1] --erase \177 \b \t
+
+ bind --mode $mode[1] \177 _autopair_backspace # macOS ⌫
+ bind --mode $mode[1] \b _autopair_backspace
+ bind --mode $mode[1] \t _autopair_tab
+
+ printf "%s\n" $autopair_pairs | while read --local left right --delimiter ""
+ bind --mode $mode[-1] --erase $left $right
+ if test $left = $right
+ bind --mode $mode[1] $left "_autopair_insert_same \\$left"
+ else
+ bind --mode $mode[1] $left "_autopair_insert_left \\$left \\$right"
+ bind --mode $mode[1] $right "_autopair_insert_right \\$right"
+ end
+ end
+end
+
+_autopair_fish_key_bindings
+
+function _autopair_uninstall --on-event autopair_uninstall
+ string collect (
+ bind --all | string replace --filter --regex -- "_autopair.*" --erase
+ set --names | string replace --filter --regex -- "^autopair" "set --erase autopair"
+ ) | source
+ functions --erase (functions --all | string match "_autopair_*")
+end
A .config/fish/conf.d/done.fish => .config/fish/conf.d/done.fish +300 -0
@@ 0,0 1,300 @@
+# MIT License
+
+# Copyright (c) 2016 Francisco Lourenço & Daniel Wehner
+
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+
+# The above copyright notice and this permission notice shall be included in all
+# copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+if not status is-interactive
+ exit
+end
+
+set -g __done_version 1.16.5
+
+function __done_run_powershell_script
+ set -l powershell_exe (command --search "powershell.exe")
+
+ if test $status -ne 0
+ and command --search wslvar
+
+ set -l powershell_exe (wslpath (wslvar windir)/System32/WindowsPowerShell/v1.0/powershell.exe)
+ end
+
+ if string length --quiet "$powershell_exe"
+ and test -x "$powershell_exe"
+
+ set cmd (string escape $argv)
+
+ eval "$powershell_exe -Command $cmd"
+ end
+end
+
+function __done_windows_notification -a title -a message
+ if test "$__done_notify_sound" -eq 1
+ set soundopt "<audio silent=\"false\" src=\"ms-winsoundevent:Notification.Default\" />"
+ else
+ set soundopt "<audio silent=\"true\" />"
+ end
+
+ __done_run_powershell_script "
+[Windows.Data.Xml.Dom.XmlDocument, Windows.Data.Xml.Dom.XmlDocument, ContentType = WindowsRuntime] | Out-Null
+[Windows.UI.Notifications.ToastNotification, Windows.UI.Notifications, ContentType = WindowsRuntime] | Out-Null
+
+\$toast_xml_source = @\"
+ <toast>
+ $soundopt
+ <visual>
+ <binding template=\"ToastText02\">
+ <text id=\"1\">$title</text>
+ <text id=\"2\">$message</text>
+ </binding>
+ </visual>
+ </toast>
+\"@
+
+\$toast_xml = New-Object Windows.Data.Xml.Dom.XmlDocument
+\$toast_xml.loadXml(\$toast_xml_source)
+
+\$toast = New-Object Windows.UI.Notifications.ToastNotification \$toast_xml
+
+[Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier(\"fish\").Show(\$toast)
+"
+end
+
+function __done_get_focused_window_id
+ if type -q lsappinfo
+ lsappinfo info -only bundleID (lsappinfo front) | cut -d '"' -f4
+ else if test -n "$SWAYSOCK"
+ and type -q jq
+ swaymsg --type get_tree | jq '.. | objects | select(.focused == true) | .id'
+ else if begin
+ test "$XDG_SESSION_DESKTOP" = gnome; and type -q gdbus
+ end
+ gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval 'global.display.focus_window.get_id()'
+ else if type -q xprop
+ and test -n "$DISPLAY"
+ # Test that the X server at $DISPLAY is running
+ and xprop -grammar >/dev/null 2>&1
+ xprop -root 32x '\t$0' _NET_ACTIVE_WINDOW | cut -f 2
+ else if uname -a | string match --quiet --ignore-case --regex microsoft
+ __done_run_powershell_script '
+Add-Type @"
+ using System;
+ using System.Runtime.InteropServices;
+ public class WindowsCompat {
+ [DllImport("user32.dll")]
+ public static extern IntPtr GetForegroundWindow();
+ }
+"@
+[WindowsCompat]::GetForegroundWindow()
+'
+ else if set -q __done_allow_nongraphical
+ echo 12345 # dummy value
+ end
+end
+
+function __done_is_tmux_window_active
+ set -q fish_pid; or set -l fish_pid %self
+
+ # find the outermost process within tmux
+ # ppid != "tmux" -> pid = ppid
+ # ppid == "tmux" -> break
+ set tmux_fish_pid $fish_pid
+ while set tmux_fish_ppid (ps -o ppid= -p $tmux_fish_pid | string trim)
+ and ! string match -q "tmux*" (basename (ps -o command= -p $tmux_fish_ppid))
+ set tmux_fish_pid $tmux_fish_ppid
+ end
+
+ # tmux session attached and window is active -> no notification
+ # all other combinations -> send notification
+ tmux list-panes -a -F "#{session_attached} #{window_active} #{pane_pid}" | string match -q "1 1 $tmux_fish_pid"
+end
+
+function __done_is_screen_window_active
+ string match --quiet --regex "$STY\s+\(Attached" (screen -ls)
+end
+
+function __done_is_process_window_focused
+ # Return false if the window is not focused
+
+ if set -q __done_allow_nongraphical
+ return 1
+ end
+
+ set __done_focused_window_id (__done_get_focused_window_id)
+ if test "$__done_sway_ignore_visible" -eq 1
+ and test -n "$SWAYSOCK"
+ string match --quiet --regex "^true" (swaymsg -t get_tree | jq ".. | objects | select(.id == "$__done_initial_window_id") | .visible")
+ return $status
+ else if test "$__done_initial_window_id" != "$__done_focused_window_id"
+ return 1
+ end
+ # If inside a tmux session, check if the tmux window is focused
+ if type -q tmux
+ and test -n "$TMUX"
+ __done_is_tmux_window_active
+ return $status
+ end
+
+ # If inside a screen session, check if the screen window is focused
+ if type -q screen
+ and test -n "$STY"
+ __done_is_screen_window_active
+ return $status
+ end
+
+ return 0
+end
+
+function __done_humanize_duration -a milliseconds
+ set -l seconds (math --scale=0 "$milliseconds/1000" % 60)
+ set -l minutes (math --scale=0 "$milliseconds/60000" % 60)
+ set -l hours (math --scale=0 "$milliseconds/3600000")
+
+ if test $hours -gt 0
+ printf '%s' $hours'h '
+ end
+ if test $minutes -gt 0
+ printf '%s' $minutes'm '
+ end
+ if test $seconds -gt 0
+ printf '%s' $seconds's'
+ end
+end
+
+# verify that the system has graphical capabilities before initializing
+if test -z "$SSH_CLIENT" # not over ssh
+ and count (__done_get_focused_window_id) >/dev/null # is able to get window id
+ set __done_enabled
+end
+
+if set -q __done_allow_nongraphical
+ and set -q __done_notification_command
+ set __done_enabled
+end
+
+if set -q __done_enabled
+ set -g __done_initial_window_id ''
+ set -q __done_min_cmd_duration; or set -g __done_min_cmd_duration 5000
+ set -q __done_exclude; or set -g __done_exclude 'git (?!push|pull|fetch)'
+ set -q __done_notify_sound; or set -g __done_notify_sound 0
+ set -q __done_sway_ignore_visible; or set -g __done_sway_ignore_visible 0
+
+ function __done_started --on-event fish_preexec
+ set __done_initial_window_id (__done_get_focused_window_id)
+ end
+
+ function __done_ended --on-event fish_prompt
+ set -l exit_status $status
+
+ # backwards compatibility for fish < v3.0
+ set -q cmd_duration; or set -l cmd_duration $CMD_DURATION
+
+ if test $cmd_duration
+ and test $cmd_duration -gt $__done_min_cmd_duration # longer than notify_duration
+ and not __done_is_process_window_focused # process pane or window not focused
+ and not string match -qr $__done_exclude $history[1] # don't notify on git commands which might wait external editor
+
+ # Store duration of last command
+ set -l humanized_duration (__done_humanize_duration "$cmd_duration")
+
+ set -l title "Done in $humanized_duration"
+ set -l wd (string replace --regex "^$HOME" "~" (pwd))
+ set -l message "$wd/ $history[1]"
+ set -l sender $__done_initial_window_id
+
+ if test $exit_status -ne 0
+ set title "Failed ($exit_status) after $humanized_duration"
+ end
+
+ if set -q __done_notification_command
+ eval $__done_notification_command
+ if test "$__done_notify_sound" -eq 1
+ echo -e "\a" # bell sound
+ end
+ else if type -q terminal-notifier # https://github.com/julienXX/terminal-notifier
+ if test "$__done_notify_sound" -eq 1
+ terminal-notifier -message "$message" -title "$title" -sender "$__done_initial_window_id" -sound default
+ else
+ terminal-notifier -message "$message" -title "$title" -sender "$__done_initial_window_id"
+ end
+
+ else if type -q osascript # AppleScript
+ osascript -e "display notification \"$message\" with title \"$title\""
+ if test "$__done_notify_sound" -eq 1
+ echo -e "\a" # bell sound
+ end
+
+ else if type -q notify-send # Linux notify-send
+ # set urgency to normal
+ set -l urgency normal
+
+ # use user-defined urgency if set
+ if set -q __done_notification_urgency_level
+ set urgency "$__done_notification_urgency_level"
+ end
+ # override user-defined urgency level if non-zero exitstatus
+ if test $exit_status -ne 0
+ set urgency critical
+ if set -q __done_notification_urgency_level_failure
+ set urgency "$__done_notification_urgency_level_failure"
+ end
+ end
+
+ notify-send --hint=int:transient:1 --urgency=$urgency --icon=utilities-terminal --app-name=fish "$title" "$message"
+
+ if test "$__done_notify_sound" -eq 1
+ echo -e "\a" # bell sound
+ end
+
+ else if type -q notify-desktop # Linux notify-desktop
+ set -l urgency
+ if test $exit_status -ne 0
+ set urgency "--urgency=critical"
+ end
+ notify-desktop $urgency --icon=utilities-terminal --app-name=fish "$title" "$message"
+ if test "$__done_notify_sound" -eq 1
+ echo -e "\a" # bell sound
+ end
+
+ else if uname -a | string match --quiet --ignore-case --regex microsoft
+ __done_windows_notification "$title" "$message"
+
+ else # anything else
+ echo -e "\a" # bell sound
+ end
+
+ end
+ end
+end
+
+function __done_uninstall -e done_uninstall
+ # Erase all __done_* functions
+ functions -e __done_ended
+ functions -e __done_started
+ functions -e __done_get_focused_window_id
+ functions -e __done_is_tmux_window_active
+ functions -e __done_is_screen_window_active
+ functions -e __done_is_process_window_focused
+ functions -e __done_windows_notification
+ functions -e __done_run_powershell_script
+ functions -e __done_humanize_duration
+
+ # Erase __done variables
+ set -e __done_version
+end
A .config/fish/conf.d/puffer_fish_key_bindings.fish => .config/fish/conf.d/puffer_fish_key_bindings.fish +25 -0
@@ 0,0 1,25 @@
+status is-interactive || exit
+
+function _puffer_fish_key_bindings --on-variable fish_key_bindings
+ set -l modes
+ if test "$fish_key_bindings" = fish_default_key_bindings
+ set modes default insert
+ else
+ set modes insert default
+ end
+
+ bind --mode $modes[1] . _puffer_fish_expand_dots
+ bind --mode $modes[1] ! _puffer_fish_expand_bang
+ bind --mode $modes[1] '$' _puffer_fish_expand_lastarg
+ bind --mode $modes[2] --erase . ! '$'
+end
+
+_puffer_fish_key_bindings
+
+set -l uninstall_event puffer_fish_key_bindings_uninstall
+
+function _$uninstall_event --on-event $uninstall_event
+ bind -e .
+ bind -e !
+ bind -e '$'
+end
A .config/fish/fish_plugins => .config/fish/fish_plugins +6 -0
@@ 0,0 1,6 @@
+jorgebucaran/fisher
+kidonng/nix-completions.fish
+franciscolourenco/done
+nickeb96/puffer-fish
+jorgebucaran/autopair.fish
+vitallium/tokyonight-fish
A .config/fish/functions/1.fish => .config/fish/functions/1.fish +4 -0
@@ 0,0 1,4 @@
+function 1 --wraps=prevd --description 'alias 1=prevd'
+ prevd $argv
+
+end
A .config/fish/functions/2.fish => .config/fish/functions/2.fish +4 -0
@@ 0,0 1,4 @@
+function 2 --description 'alias 2=prevd 2'
+ prevd 2 $argv
+
+end
A .config/fish/functions/3.fish => .config/fish/functions/3.fish +4 -0
@@ 0,0 1,4 @@
+function 3 --description 'alias 3=prevd 3'
+ prevd 3 $argv
+
+end
A .config/fish/functions/4.fish => .config/fish/functions/4.fish +4 -0
@@ 0,0 1,4 @@
+function 4 --description 'alias 4=prevd 4'
+ prevd 4 $argv
+
+end
A .config/fish/functions/_autopair_backspace.fish => .config/fish/functions/_autopair_backspace.fish +9 -0
@@ 0,0 1,9 @@
+function _autopair_backspace
+ set --local index (commandline --cursor)
+ set --local buffer (commandline)
+
+ test $index -ge 1 &&
+ contains -- (string sub --start=$index --length=2 -- "$buffer") $autopair_pairs &&
+ commandline --function delete-char
+ commandline --function backward-delete-char
+end
A .config/fish/functions/_autopair_insert_left.fish => .config/fish/functions/_autopair_insert_left.fish +13 -0
@@ 0,0 1,13 @@
+function _autopair_insert_left --argument-names left right
+ set --local buffer (commandline)
+ set --local before (commandline --cut-at-cursor)
+
+ commandline --insert -- $left
+
+ switch "$buffer"
+ case "$before"{," "\*,$autopair_right\*}
+ set --local index (commandline --cursor)
+ commandline --insert -- $right
+ commandline --cursor $index
+ end
+end
A .config/fish/functions/_autopair_insert_right.fish => .config/fish/functions/_autopair_insert_right.fish +11 -0
@@ 0,0 1,11 @@
+function _autopair_insert_right --argument-names key
+ set --local buffer (commandline)
+ set --local before (commandline --cut-at-cursor)
+
+ switch "$buffer"
+ case "$before$key"\*
+ commandline --cursor (math (commandline --cursor) + 1)
+ case \*
+ commandline --insert -- $key
+ end
+end
A .config/fish/functions/_autopair_insert_same.fish => .config/fish/functions/_autopair_insert_same.fish +20 -0
@@ 0,0 1,20 @@
+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
A .config/fish/functions/_autopair_tab.fish => .config/fish/functions/_autopair_tab.fish +7 -0
@@ 0,0 1,7 @@
+function _autopair_tab
+ commandline --paging-mode && down-or-search && return
+
+ string match --quiet --regex -- '\$[^\s]*"$' (commandline --current-token) &&
+ commandline --function end-of-line --function backward-delete-char
+ commandline --function complete
+end
A .config/fish/functions/_nix_complete_common_options.fish => .config/fish/functions/_nix_complete_common_options.fish +23 -0
@@ 0,0 1,23 @@
+function _nix_complete_common_options --argument-names cmd
+ complete $cmd -l help
+ complete $cmd -l version
+ complete $cmd -l verbose -s v -d "Increase verbosity level"
+ complete $cmd -l quiet
+ complete $cmd -l no-build-output -s Q -d "Silence builder output"
+ complete $cmd -l max-jobs -s j -d "Set the maximum number of build jobs"
+ complete $cmd -l cores
+ complete $cmd -l max-silent-time
+ complete $cmd -l timeout
+ complete $cmd -l keep-going -s k -d "Keep going in case of failed builds"
+ complete $cmd -l keep-failed -s K -d "Keep temporary directory used by failed builds"
+ complete $cmd -l fallback
+ complete $cmd -l no-build-hook
+ complete $cmd -l readonly-mode
+ complete $cmd -l arg
+ complete $cmd -l argstr
+ complete $cmd -l attr -s A -d "Specify packages by attribute path instead of name"
+ complete $cmd -l expr -s E -d "Interpret arguments as Nix expressions"
+ complete $cmd -s I
+ complete $cmd -l option
+ complete $cmd -l repair
+end
A .config/fish/functions/_puffer_fish_expand_bang.fish => .config/fish/functions/_puffer_fish_expand_bang.fish +10 -0
@@ 0,0 1,10 @@
+function _puffer_fish_expand_bang
+ switch (commandline -t)
+ case '!'
+ commandline -t $history[1]
+ commandline -f repaint
+ case '*'
+ commandline -i '!'
+ end
+end
+
A .config/fish/functions/_puffer_fish_expand_dots.fish => .config/fish/functions/_puffer_fish_expand_dots.fish +9 -0
@@ 0,0 1,9 @@
+function _puffer_fish_expand_dots -d 'expand ... to ../.. etc'
+ set -l cmd (commandline --cut-at-cursor)
+ set -l split (string split ' ' $cmd)
+ switch $split[-1]
+ case './*'; commandline --insert '.'
+ case '*..'; commandline --insert '/..'
+ case '*'; commandline --insert '.'
+ end
+end
A .config/fish/functions/_puffer_fish_expand_lastarg.fish => .config/fish/functions/_puffer_fish_expand_lastarg.fish +9 -0
@@ 0,0 1,9 @@
+function _puffer_fish_expand_lastarg
+ switch (commandline -t)
+ case '!'
+ commandline -t ""
+ commandline -f history-token-search-backward
+ case '*'
+ commandline -i '$'
+ end
+end
A .config/fish/functions/convert.fish => .config/fish/functions/convert.fish +6 -0
@@ 0,0 1,6 @@
+function convert
+for f in *.mkv
+ffmpeg -v quiet -stats -i $f -vcodec libx265 -crf 28 -threads 2 $(basename $f .mkv).mp4
+mv "$f" "$f.done"
+end
+end
A .config/fish/functions/fisher.fish => .config/fish/functions/fisher.fish +240 -0
@@ 0,0 1,240 @@
+function fisher --argument-names cmd --description "A plugin manager for Fish"
+ set --query fisher_path || set --local fisher_path $__fish_config_dir
+ set --local fisher_version 4.4.3
+ set --local fish_plugins $__fish_config_dir/fish_plugins
+
+ switch "$cmd"
+ case -v --version
+ echo "fisher, version $fisher_version"
+ case "" -h --help
+ echo "Usage: fisher install <plugins...> Install plugins"
+ echo " fisher remove <plugins...> Remove installed plugins"
+ echo " fisher update <plugins...> Update installed plugins"
+ echo " fisher update Update all installed plugins"
+ echo " fisher list [<regex>] List installed plugins matching regex"
+ echo "Options:"
+ echo " -v or --version Print version"
+ echo " -h or --help Print this help message"
+ echo "Variables:"
+ echo " \$fisher_path Plugin installation path. Default: $__fish_config_dir" | string replace --regex -- $HOME \~
+ case ls list
+ string match --entire --regex -- "$argv[2]" $_fisher_plugins
+ case install update remove
+ isatty || read --local --null --array stdin && set --append argv $stdin
+
+ set --local install_plugins
+ set --local update_plugins
+ set --local remove_plugins
+ set --local arg_plugins $argv[2..-1]
+ set --local old_plugins $_fisher_plugins
+ set --local new_plugins
+
+ test -e $fish_plugins && set --local file_plugins (string match --regex -- '^[^\s]+$' <$fish_plugins)
+
+ if ! set --query argv[2]
+ if test "$cmd" != update
+ echo "fisher: Not enough arguments for command: \"$cmd\"" >&2 && return 1
+ else if ! set --query file_plugins
+ echo "fisher: \"$fish_plugins\" file not found: \"$cmd\"" >&2 && return 1
+ end
+ set arg_plugins $file_plugins
+ end
+
+ for plugin in $arg_plugins
+ set plugin (test -e "$plugin" && realpath $plugin || string lower -- $plugin)
+ contains -- "$plugin" $new_plugins || set --append new_plugins $plugin
+ end
+
+ if set --query argv[2]
+ for plugin in $new_plugins
+ if contains -- "$plugin" $old_plugins
+ test "$cmd" = remove &&
+ set --append remove_plugins $plugin ||
+ set --append update_plugins $plugin
+ else if test "$cmd" = install
+ set --append install_plugins $plugin
+ else
+ echo "fisher: Plugin not installed: \"$plugin\"" >&2 && return 1
+ end
+ end
+ else
+ for plugin in $new_plugins
+ contains -- "$plugin" $old_plugins &&
+ set --append update_plugins $plugin ||
+ set --append install_plugins $plugin
+ end
+
+ for plugin in $old_plugins
+ contains -- "$plugin" $new_plugins || set --append remove_plugins $plugin
+ end
+ end
+
+ set --local pid_list
+ set --local source_plugins
+ set --local fetch_plugins $update_plugins $install_plugins
+ set --local fish_path (status fish-path)
+
+ echo (set_color --bold)fisher $cmd version $fisher_version(set_color normal)
+
+ for plugin in $fetch_plugins
+ set --local source (command mktemp -d)
+ set --append source_plugins $source
+
+ command mkdir -p $source/{completions,conf.d,themes,functions}
+
+ $fish_path --command "
+ if test -e $plugin
+ command cp -Rf $plugin/* $source
+ else
+ set temp (command mktemp -d)
+ set repo (string split -- \@ $plugin) || set repo[2] HEAD
+
+ if set path (string replace --regex -- '^(https://)?gitlab.com/' '' \$repo[1])
+ set name (string split -- / \$path)[-1]
+ set url https://gitlab.com/\$path/-/archive/\$repo[2]/\$name-\$repo[2].tar.gz
+ else
+ set url https://api.github.com/repos/\$repo[1]/tarball/\$repo[2]
+ end
+
+ echo Fetching (set_color --underline)\$url(set_color normal)
+
+ if curl --silent -L \$url | tar -xzC \$temp -f - 2>/dev/null
+ command cp -Rf \$temp/*/* $source
+ else
+ echo fisher: Invalid plugin name or host unavailable: \\\"$plugin\\\" >&2
+ command rm -rf $source
+ end
+
+ command rm -rf \$temp
+ end
+
+ set files $source/* && string match --quiet --regex -- .+\.fish\\\$ \$files
+ " &
+
+ set --append pid_list (jobs --last --pid)
+ end
+
+ wait $pid_list 2>/dev/null
+
+ for plugin in $fetch_plugins
+ if set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)] && test ! -e $source
+ if set --local index (contains --index -- "$plugin" $install_plugins)
+ set --erase install_plugins[$index]
+ else
+ set --erase update_plugins[(contains --index -- "$plugin" $update_plugins)]
+ end
+ end
+ end
+
+ for plugin in $update_plugins $remove_plugins
+ if set --local index (contains --index -- "$plugin" $_fisher_plugins)
+ set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files
+
+ if contains -- "$plugin" $remove_plugins
+ for name in (string replace --filter --regex -- '.+/conf\.d/([^/]+)\.fish$' '$1' $$plugin_files_var)
+ emit {$name}_uninstall
+ end
+ printf "%s\n" Removing\ (set_color red --bold)$plugin(set_color normal) " "$$plugin_files_var | string replace -- \~ ~
+ set --erase _fisher_plugins[$index]
+ end
+
+ command rm -rf (string replace -- \~ ~ $$plugin_files_var)
+
+ functions --erase (string replace --filter --regex -- '.+/functions/([^/]+)\.fish$' '$1' $$plugin_files_var)
+
+ for name in (string replace --filter --regex -- '.+/completions/([^/]+)\.fish$' '$1' $$plugin_files_var)
+ complete --erase --command $name
+ end
+
+ set --erase $plugin_files_var
+ end
+ end
+
+ if set --query update_plugins[1] || set --query install_plugins[1]
+ command mkdir -p $fisher_path/{functions,themes,conf.d,completions}
+ end
+
+ for plugin in $update_plugins $install_plugins
+ set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)]
+ set --local files $source/{functions,themes,conf.d,completions}/*
+
+ if set --local index (contains --index -- $plugin $install_plugins)
+ set --local user_files $fisher_path/{functions,themes,conf.d,completions}/*
+ set --local conflict_files
+
+ for file in (string replace -- $source/ $fisher_path/ $files)
+ contains -- $file $user_files && set --append conflict_files $file
+ end
+
+ if set --query conflict_files[1] && set --erase install_plugins[$index]
+ echo -s "fisher: Cannot install \"$plugin\": please remove or move conflicting files first:" \n" "$conflict_files >&2
+ continue
+ end
+ end
+
+ for file in (string replace -- $source/ "" $files)
+ command cp -RLf $source/$file $fisher_path/$file
+ end
+
+ set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files
+
+ set --query files[1] && set --universal $plugin_files_var (string replace -- $source $fisher_path $files | string replace -- ~ \~)
+
+ contains -- $plugin $_fisher_plugins || set --universal --append _fisher_plugins $plugin
+ contains -- $plugin $install_plugins && set --local event install || set --local event update
+
+ printf "%s\n" Installing\ (set_color --bold)$plugin(set_color normal) " "$$plugin_files_var | string replace -- \~ ~
+
+ for file in (string match --regex -- '.+/[^/]+\.fish$' $$plugin_files_var | string replace -- \~ ~)
+ source $file
+ if set --local name (string replace --regex -- '.+conf\.d/([^/]+)\.fish$' '$1' $file)
+ emit {$name}_$event
+ end
+ end
+ end
+
+ command rm -rf $source_plugins
+
+ if set --query _fisher_plugins[1]
+ set --local commit_plugins
+
+ for plugin in $file_plugins
+ contains -- (string lower -- $plugin) (string lower -- $_fisher_plugins) && set --append commit_plugins $plugin
+ end
+
+ for plugin in $_fisher_plugins
+ contains -- (string lower -- $plugin) (string lower -- $commit_plugins) || set --append commit_plugins $plugin
+ end
+
+ printf "%s\n" $commit_plugins >$fish_plugins
+ else
+ set --erase _fisher_plugins
+ command rm -f $fish_plugins
+ end
+
+ set --local total (count $install_plugins) (count $update_plugins) (count $remove_plugins)
+
+ test "$total" != "0 0 0" && echo (string join ", " (
+ test $total[1] = 0 || echo "Installed $total[1]") (
+ test $total[2] = 0 || echo "Updated $total[2]") (
+ test $total[3] = 0 || echo "Removed $total[3]")
+ ) plugin/s
+ case \*
+ echo "fisher: Unknown command: \"$cmd\"" >&2 && return 1
+ end
+end
+
+if ! set --query _fisher_upgraded_to_4_4
+ set --universal _fisher_upgraded_to_4_4
+ if functions --query _fisher_list
+ set --query XDG_DATA_HOME[1] || set --local XDG_DATA_HOME ~/.local/share
+ command rm -rf $XDG_DATA_HOME/fisher
+ functions --erase _fisher_{list,plugin_parse}
+ fisher update >/dev/null 2>/dev/null
+ else
+ for var in (set --names | string match --entire --regex '^_fisher_.+_files$')
+ set $var (string replace -- ~ \~ $$var)
+ end
+ functions --erase _fisher_fish_postexec
+ end
+end
A .config/fish/functions/gaa.fish => .config/fish/functions/gaa.fish +4 -0
@@ 0,0 1,4 @@
+function gaa --wraps='git add --all' --description 'alias gaa=git add --all'
+ git add --all $argv
+
+end
A .config/fish/functions/gau.fish => .config/fish/functions/gau.fish +4 -0
@@ 0,0 1,4 @@
+function gau --wraps='git add -u' --description 'alias gau=git add -u'
+ git add -u $argv
+
+end
A .config/fish/functions/start-jellyfin.fish => .config/fish/functions/start-jellyfin.fish +11 -0
@@ 0,0 1,11 @@
+function start-jellyfin --wraps=/usr/bin/docker\ run\ -d\ --restart\ unless-stopped\ --name\ jellyfin\ --net=host\ --group-add=\"986\"\ \\\n\ \ \ \ -v\ /srv/jellyfin/config:/config\ \\\n\ \ \ \ -v\ /srv/jellyfin/cache:/cache\ \\\n\ \ \ \ -v\ /p1/media:/media\ \\\n\ \ \ \ -v\ /srv/jellyfin/skip-intro-web/dist:/jellyfin/jellyfin-web:ro\ \\\n\ \ \ \ --device\ /dev/dri/renderD128:/dev/dri/renderD128\ \\\n\ \ \ \ --device\ /dev/dri/card0:/dev/dri/card0\ \\\n\ \ \ \ jellyfin/jellyfin:latest --description alias\ start-jellyfin=/usr/bin/docker\ run\ -d\ --restart\ unless-stopped\ --name\ jellyfin\ --net=host\ --group-add=\"986\"\ \\\n\ \ \ \ -v\ /srv/jellyfin/config:/config\ \\\n\ \ \ \ -v\ /srv/jellyfin/cache:/cache\ \\\n\ \ \ \ -v\ /p1/media:/media\ \\\n\ \ \ \ -v\ /srv/jellyfin/skip-intro-web/dist:/jellyfin/jellyfin-web:ro\ \\\n\ \ \ \ --device\ /dev/dri/renderD128:/dev/dri/renderD128\ \\\n\ \ \ \ --device\ /dev/dri/card0:/dev/dri/card0\ \\\n\ \ \ \ jellyfin/jellyfin:latest
+ /usr/bin/docker run -d --restart unless-stopped --name jellyfin --net=host --group-add="986" \
+ -v /srv/jellyfin/config:/config \
+ -v /srv/jellyfin/cache:/cache \
+ -v /p1/media:/media \
+ -v /srv/jellyfin/skip-intro-web/dist:/jellyfin/jellyfin-web:ro \
+ --device /dev/dri/renderD128:/dev/dri/renderD128 \
+ --device /dev/dri/card0:/dev/dri/card0 \
+ jellyfin/jellyfin:latest $argv
+
+end
A .config/fish/themes/TokyoNight Day.theme => .config/fish/themes/TokyoNight Day.theme +23 -0
@@ 0,0 1,23 @@
+# Upstream: https://github.com/folke/tokyonight.nvim/blob/main/extras/fish/tokyonight_day.fish
+# Syntax Highlighting Colors
+fish_color_normal 3760bf
+fish_color_command 007197
+fish_color_keyword 9854f1
+fish_color_quote 8c6c3e
+fish_color_redirection 3760bf
+fish_color_end f52a65
+fish_color_error f52a65
+fish_color_param 7847bd
+fish_color_comment 848cb5
+fish_color_selection --background=99a7df
+fish_color_search_match --background=99a7df
+fish_color_operator 587539
+fish_color_escape 9854f1
+fish_color_autosuggestion 848cb5
+
+# Completion Pager Colors
+fish_pager_color_progress 848cb5
+fish_pager_color_prefix 007197
+fish_pager_color_completion 3760bf
+fish_pager_color_description 848cb5
+fish_pager_color_selected_background --background=99a7df
A .config/fish/themes/TokyoNight Moon.theme => .config/fish/themes/TokyoNight Moon.theme +23 -0
@@ 0,0 1,23 @@
+# Upstream: https://github.com/folke/tokyonight.nvim/blob/main/extras/fish/tokyonight_moon.fish
+# Syntax Highlighting Colors
+fish_color_normal c8d3f5
+fish_color_command 86e1fc
+fish_color_keyword c099ff
+fish_color_quote ffc777
+fish_color_redirection c8d3f5
+fish_color_end ff966c
+fish_color_error ff757f
+fish_color_param fca7ea
+fish_color_comment 636da6
+fish_color_selection --background=3654a7
+fish_color_search_match --background=3654a7
+fish_color_operator c3e88d
+fish_color_escape c099ff
+fish_color_autosuggestion 636da6
+
+# Completion Pager Colors
+fish_pager_color_progress 636da6
+fish_pager_color_prefix 86e1fc
+fish_pager_color_completion c8d3f5
+fish_pager_color_description 636da6
+fish_pager_color_selected_background --background=3654a7
A .config/fish/themes/TokyoNight Night.theme => .config/fish/themes/TokyoNight Night.theme +23 -0
@@ 0,0 1,23 @@
+# Upstream: https://github.com/folke/tokyonight.nvim/blob/main/extras/fish/tokyonight_night.fish
+# Syntax Highlighting Colors
+fish_color_normal c0caf5
+fish_color_command 7dcfff
+fish_color_keyword bb9af7
+fish_color_quote e0af68
+fish_color_redirection c0caf5
+fish_color_end ff9e64
+fish_color_error f7768e
+fish_color_param 9d7cd8
+fish_color_comment 565f89
+fish_color_selection --background=33467c
+fish_color_search_match --background=33467c
+fish_color_operator 9ece6a
+fish_color_escape bb9af7
+fish_color_autosuggestion 565f89
+
+# Completion Pager Colors
+fish_pager_color_progress 565f89
+fish_pager_color_prefix 7dcfff
+fish_pager_color_completion c0caf5
+fish_pager_color_description 565f89
+fish_pager_color_selected_background --background=33467c
A .config/fish/themes/TokyoNight Storm.theme => .config/fish/themes/TokyoNight Storm.theme +23 -0
@@ 0,0 1,23 @@
+# Upstream: https://github.com/folke/tokyonight.nvim/blob/main/extras/fish/tokyonight_storm.fish
+# Syntax Highlighting Colors
+fish_color_normal c0caf5
+fish_color_command 7dcfff
+fish_color_keyword bb9af7
+fish_color_quote e0af68
+fish_color_redirection c0caf5
+fish_color_end ff9e64
+fish_color_error f7768e
+fish_color_param 9d7cd8
+fish_color_comment 565f89
+fish_color_selection --background=364a82
+fish_color_search_match --background=364a82
+fish_color_operator 9ece6a
+fish_color_escape bb9af7
+fish_color_autosuggestion 565f89
+
+# Completion Pager Colors
+fish_pager_color_progress 565f89
+fish_pager_color_prefix 7dcfff
+fish_pager_color_completion c0caf5
+fish_pager_color_description 565f89
+fish_pager_color_selected_background --background=364a82