Browse Source

[fish] The big cleanup

Colin Powell 3 years ago
parent
commit
4806cef4c6
38 changed files with 894 additions and 1056 deletions
  1. 0 110
      fish/.config/fish/completions/asdf.fish
  2. 0 1
      fish/.config/fish/completions/fisher.fish
  3. 34 0
      fish/.config/fish/conf.d/.gitnow
  4. 45 0
      fish/.config/fish/conf.d/_tide_init.fish
  5. 5 0
      fish/.config/fish/conf.d/asdf.fish
  6. 8 0
      fish/.config/fish/conf.d/direnv.fish
  7. 684 0
      fish/.config/fish/conf.d/gitnow.fish
  8. 32 0
      fish/.config/fish/conf.d/gitnow_config.fish
  9. 63 0
      fish/.config/fish/conf.d/z.fish
  10. 13 14
      fish/.config/fish/config.fish
  11. 6 0
      fish/.config/fish/fish_plugins
  12. 1 15
      fish/.config/fish/fish_variables
  13. 0 46
      fish/.config/fish/fishd.8c85907056c9
  14. 0 41
      fish/.config/fish/fishd.auklet
  15. 0 41
      fish/.config/fish/fishd.dione
  16. 0 43
      fish/.config/fish/fishd.galah
  17. 0 39
      fish/.config/fish/fishd.iapetus
  18. 0 42
      fish/.config/fish/fishd.kestrel
  19. 0 41
      fish/.config/fish/fishd.mimas
  20. 0 42
      fish/.config/fish/fishd.rhea
  21. 0 10
      fish/.config/fish/fishfile
  22. 0 4
      fish/.config/fish/functions/fish_user_key_bindings.fish
  23. 0 452
      fish/.config/fish/functions/fisher.fish
  24. 0 1
      fish/.config/fish/functions/fzf_key_bindings.fish
  25. 0 8
      fish/.config/fish/functions/git_ahead.fish
  26. 0 15
      fish/.config/fish/functions/git_branch_name.fish
  27. 0 3
      fish/.config/fish/functions/git_is_detached_head.fish
  28. 0 3
      fish/.config/fish/functions/git_is_dirty.fish
  29. 0 3
      fish/.config/fish/functions/git_is_empty.fish
  30. 0 5
      fish/.config/fish/functions/git_is_repo.fish
  31. 0 3
      fish/.config/fish/functions/git_is_staged.fish
  32. 0 3
      fish/.config/fish/functions/git_is_stashed.fish
  33. 0 3
      fish/.config/fish/functions/git_is_tag.fish
  34. 0 3
      fish/.config/fish/functions/git_is_touched.fish
  35. 0 3
      fish/.config/fish/functions/git_repository_root.fish
  36. 0 15
      fish/.config/fish/functions/git_untracked_files.fish
  37. 3 0
      fish/.config/fish/functions/sshuttle-cloud100.fish
  38. 0 47
      fish/.config/starship.toml

+ 0 - 110
fish/.config/fish/completions/asdf.fish

@@ -1,110 +0,0 @@
-function __fish_asdf_needs_command
-    set -l cmd (commandline -opc)
-    if test (count $cmd) -eq 1
-        return 0
-    end
-    return 1
-end
-
-function __fish_asdf_using_command -a current_command
-    set -l cmd (commandline -opc)
-    if test (count $cmd) -gt 1
-        if test $current_command = $cmd[2]
-            return 0
-        end
-    end
-    return 1
-end
-
-function __fish_asdf_arg_number -a number
-    set -l cmd (commandline -opc)
-    test (count $cmd) -eq $number
-end
-
-function __fish_asdf_arg_at -a number
-    set -l cmd (commandline -opc)
-    echo $cmd[$number]
-end
-
-function __fish_asdf_list_versions -a plugin
-    asdf list $plugin 2> /dev/null | sed -e 's/^\s*//'
-end
-
-function __fish_asdf_list_all -a plugin
-    asdf list-all $plugin 2> /dev/null
-end
-
-function __fish_asdf_plugin_list
-    asdf plugin-list 2> /dev/null
-end
-
-function __fish_asdf_plugin_list_all
-    asdf plugin-list-all 2> /dev/null
-end
-
-# plugin-add completion
-complete -f -c asdf -n '__fish_asdf_needs_command' -a plugin-add -d "Add git repo as plugin"
-complete -f -c asdf -n '__fish_asdf_using_command plugin-add; and __fish_asdf_arg_number 2' -a '(__fish_asdf_plugin_list_all | grep -v \'*\' | awk \'{ print $1 }\')'
-complete -f -c asdf -n '__fish_asdf_using_command plugin-add; and __fish_asdf_arg_number 3' -a '(__fish_asdf_plugin_list_all | grep (__fish_asdf_arg_at 3) | awk \'{ print $2 }\')'
-complete -f -c asdf -n '__fish_asdf_using_command plugin-add; and __fish_asdf_arg_number 4'
-
-# plugin-list completion
-complete -f -c asdf -n '__fish_asdf_needs_command' -a plugin-list -d "List installed plugins"
-
-# plugin-list-all completion
-complete -f -c asdf -n '__fish_asdf_needs_command' -a plugin-list-all -d "List all existing plugins"
-
-# plugin-remove completion
-complete -f -c asdf -n '__fish_asdf_needs_command' -a plugin-remove -d "Remove plugin and package versions"
-complete -f -c asdf -n '__fish_asdf_using_command plugin-remove; and __fish_asdf_arg_number 2' -a '(__fish_asdf_plugin_list)'
-
-# plugin-update completion
-complete -f -c asdf -n '__fish_asdf_needs_command' -a plugin-update -d "Update plugin"
-complete -f -c asdf -n '__fish_asdf_using_command plugin-update; and __fish_asdf_arg_number 2' -a '(__fish_asdf_plugin_list)'
-complete -f -c asdf -n '__fish_asdf_using_command plugin-update; and __fish_asdf_arg_number 2' -a --all
-
-# install completion
-complete -f -c asdf -n '__fish_asdf_needs_command' -a install -d "Install a specific version of a package"
-complete -f -c asdf -n '__fish_asdf_using_command install; and __fish_asdf_arg_number 2' -a '(__fish_asdf_plugin_list)'
-complete -f -c asdf -n '__fish_asdf_using_command install; and __fish_asdf_arg_number 3' -a '(__fish_asdf_list_all (__fish_asdf_arg_at 3))'
-
-# uninstall completion
-complete -f -c asdf -n '__fish_asdf_needs_command' -a uninstall -d "Remove a specific version of a package"
-complete -f -c asdf -n '__fish_asdf_using_command uninstall; and __fish_asdf_arg_number 2' -a '(__fish_asdf_plugin_list)'
-complete -f -c asdf -n '__fish_asdf_using_command uninstall; and __fish_asdf_arg_number 3' -a '(__fish_asdf_list_versions (__fish_asdf_arg_at 3))'
-
-# current completion
-complete -f -c asdf -n '__fish_asdf_needs_command' -a current -d "Display version set or being used for package"
-complete -f -c asdf -n '__fish_asdf_using_command current; and __fish_asdf_arg_number 2' -a '(__fish_asdf_plugin_list)'
-
-# where completion
-complete -f -c asdf -n '__fish_asdf_needs_command' -a where -d "Display install path for an installed version"
-complete -f -c asdf -n '__fish_asdf_using_command where; and __fish_asdf_arg_number 2' -a '(__fish_asdf_plugin_list)'
-complete -f -c asdf -n '__fish_asdf_using_command where; and __fish_asdf_arg_number 3' -a '(__fish_asdf_list_versions (__fish_asdf_arg_at 3))'
-
-# list completion
-complete -f -c asdf -n '__fish_asdf_needs_command' -a list -d "List installed versions of a package"
-complete -f -c asdf -n '__fish_asdf_using_command list; and __fish_asdf_arg_number 2' -a '(__fish_asdf_plugin_list)'
-
-# list-all completion
-complete -f -c asdf -n '__fish_asdf_needs_command' -a list-all -d "List all versions of a package"
-complete -f -c asdf -n '__fish_asdf_using_command list-all; and __fish_asdf_arg_number 2' -a '(__fish_asdf_plugin_list)'
-
-# reshim completion
-complete -f -c asdf -n '__fish_asdf_needs_command' -a reshim -d "Recreate shims for version of a package"
-complete -f -c asdf -n '__fish_asdf_using_command reshim; and __fish_asdf_arg_number 2' -a '(__fish_asdf_plugin_list)'
-complete -f -c asdf -n '__fish_asdf_using_command reshim; and __fish_asdf_arg_number 3' -a '(__fish_asdf_list_versions (__fish_asdf_arg_at 3))'
-
-# local completion
-complete -f -c asdf -n '__fish_asdf_needs_command' -a local -d "Set local version for a plugin"
-complete -f -c asdf -n '__fish_asdf_using_command local; and __fish_asdf_arg_number 2' -a '(__fish_asdf_plugin_list)'
-complete -f -c asdf -n '__fish_asdf_using_command local; and test (count (commandline -opc)) -gt 2' -a '(__fish_asdf_list_versions (__fish_asdf_arg_at 3)) system'
-
-# global completion
-complete -f -c asdf -n '__fish_asdf_needs_command' -a global -d "Set global version for a plugin"
-complete -f -c asdf -n '__fish_asdf_using_command global; and __fish_asdf_arg_number 2' -a '(__fish_asdf_plugin_list)'
-complete -f -c asdf -n '__fish_asdf_using_command global; and test (count (commandline -opc)) -gt 2' -a '(__fish_asdf_list_versions (__fish_asdf_arg_at 3)) system'
-
-# misc
-complete -f -c asdf -n '__fish_asdf_needs_command' -l "help" -d "Displays help"
-complete -f -c asdf -n '__fish_asdf_needs_command' -l "version" -d "Displays asdf version"

+ 0 - 1
fish/.config/fish/completions/fisher.fish

@@ -1 +0,0 @@
-fisher self-complete

+ 34 - 0
fish/.config/fish/conf.d/.gitnow

@@ -0,0 +1,34 @@
+[ keybindings ]
+
+# Alt + S
+state = \es
+
+# Alt + E
+stage = \ee
+
+# Ctrl + E
+unstage = \ce
+
+# Alt + M
+show = \em
+
+# Alt + C
+commit-all = \ec
+
+# Alt + D
+pull = \ed
+
+# Alt + P
+push = \ep
+
+# Alt + U
+upstream = \eu
+
+# Alt + L
+logs = \el
+
+# Alt + F
+feature = \ef
+
+# Alt + H
+hotfix = \eh

+ 45 - 0
fish/.config/fish/conf.d/_tide_init.fish

@@ -0,0 +1,45 @@
+function _tide_init_install --on-event _tide_init_install
+    set -U tide_os_icon (_tide_detect_os)
+    set -U VIRTUAL_ENV_DISABLE_PROMPT true
+    set -U _tide_var_list tide_os_icon VIRTUAL_ENV_DISABLE_PROMPT
+
+    source (functions --details _tide_sub_configure)
+    _load_config lean
+    _tide_finish
+    set -a _tide_var_list (set --names | string match --regex "^tide.*")
+
+    status is-interactive && switch (read --prompt-str="Configure tide prompt? [Y/n] " | string lower)
+        case y ye yes ''
+            tide configure
+        case '*'
+            printf '%s' \n 'Run ' (printf '%s' "tide configure" | fish_indent --ansi) ' to customize your prompt.' \n
+    end
+end
+
+function _tide_init_update --on-event _tide_init_update
+    # v5 introduced tide_prompt_min_cols. Only proceed if older than v5
+    set --query tide_prompt_min_cols && return
+
+    # Save old vars to tmp file
+    set -l tmp (mktemp -t tide_old_config.XXXXX)
+    tide bug-report --verbose >$tmp
+
+    # Delete old vars
+    set -e $_tide_var_list _tide_var_list $_tide_prompt_var
+
+    # Print a warning
+    set_color yellow
+    echo "You have upgraded to version 5 of Tide."
+    echo "Since there are breaking changes, your old configuraton has been saved in:"
+    set_color normal
+    echo $tmp
+
+    sleep 5
+
+    _tide_init_install
+end
+
+function _tide_init_uninstall --on-event _tide_init_uninstall
+    set -e $_tide_var_list _tide_var_list $_tide_prompt_var
+    functions --erase (functions --all | string match --entire --regex '^_tide_')
+end

+ 5 - 0
fish/.config/fish/conf.d/asdf.fish

@@ -0,0 +1,5 @@
+if test -n "$ASDF_DATA_DIR" -a -d "$ASDF_DATA_DIR"
+    source $ASDF_DATA_DIR/asdf.fish
+else if test -d ~/.asdf
+    source ~/.asdf/asdf.fish
+end

+ 8 - 0
fish/.config/fish/conf.d/direnv.fish

@@ -0,0 +1,8 @@
+if type -q direnv
+  function __direnv_export_eval --on-variable PWD
+    status --is-command-substitution; and return
+    eval (direnv export fish)
+  end
+else
+  echo "Install direnv first! Check http://direnv.net" 2>&1
+end

+ 684 - 0
fish/.config/fish/conf.d/gitnow.fish

@@ -0,0 +1,684 @@
+# GitNow — Speed up your Git workflow. 🐠
+# https://github.com/joseluisq/gitnow
+
+function __gitnow_install -e gitnow_install
+    echo (gitnow -v)" is installed and ready to use!"
+    echo "Just run the `gitnow` command if you want explore the API."
+end
+
+function __gitnow_uninstall -e gitnow_uninstall
+    echo "GitNow was uninstalled successfully."
+end
+
+function gitnow -d "Gitnow: Speed up your Git workflow. 🐠" -a xversion
+    if [ "$xversion" = "-v" ]; or [ "$xversion" = "--version" ]
+        echo "GitNow version $gitnow_version"
+    else
+        __gitnow_manual | command less -r
+    end
+end
+
+function state -d "Gitnow: Show the working tree status in compact way"
+    if not __gitnow_is_git_repository
+        __gitnow_msg_not_valid_repository "state"
+        return
+    end
+
+    command git status -sb
+end
+
+function stage -d "Gitnow: Stage files in current working directory"
+    if not __gitnow_is_git_repository
+        __gitnow_msg_not_valid_repository "stage"
+        return
+    end
+
+    set -l len (count $argv)
+    set -l opts .
+
+    if test $len -gt 0
+        set opts $argv
+    end
+
+    command git add $opts
+end
+
+function unstage -d "Gitnow: Unstage files in current working directory"
+    if not __gitnow_is_git_repository
+        __gitnow_msg_not_valid_repository "unstage"
+        return
+    end
+
+    set -l len (count $argv)
+    set -l opts .
+
+    if test $len -gt 0
+        set opts $argv
+    end
+
+    command git reset $opts
+end
+
+function show -d "Gitnow: Show commit detail objects"
+    if not __gitnow_is_git_repository
+        __gitnow_msg_not_valid_repository "show"
+        return
+    end
+
+    set -l len (count $argv)
+
+    if test $len -gt 0
+        command git show $argv
+    else
+        command git show --compact-summary --patch HEAD
+    end
+
+end
+
+function untracked -d "Gitnow: Check for untracked files and directories on current working directory"
+    if not __gitnow_is_git_repository
+        __gitnow_msg_not_valid_repository "untracked"
+        return
+    end
+
+    command git clean --dry-run -d
+
+end
+
+function commit -d "Gitnow: Commit changes to the repository"
+    if not __gitnow_is_git_repository
+        __gitnow_msg_not_valid_repository "commit"
+        return
+    end
+
+    set -l len (count $argv)
+
+    if test $len -gt 0
+        command git commit $argv
+    else
+        command git commit
+    end
+
+end
+
+function commit-all -d "Gitnow: Add and commit all changes to the repository"
+    if not __gitnow_is_git_repository
+        __gitnow_msg_not_valid_repository "commit-all"
+        return
+    end
+
+    stage
+    commit .
+end
+
+function pull -d "Gitnow: Pull changes from remote server but stashing uncommitted changes"
+    if not __gitnow_is_git_repository
+        __gitnow_msg_not_valid_repository "pull"
+        return
+    end
+
+    set -l len (count $argv)
+    set -l xorigin (__gitnow_current_remote)
+    set -l xbranch (__gitnow_current_branch_name)
+    set -l xcmd ""
+
+    echo "⚡️ Pulling changes..."
+
+    set -l xdefaults --rebase --autostash --tags
+
+    if test $len -gt 2
+        set xcmd $argv
+
+        echo "Mode: Manual"
+        echo "Default flags: $xdefaults"
+        echo
+    else
+        echo "Mode: Auto"
+        echo "Default flags: $xdefaults"
+
+        if test $len -eq 1
+            set xbranch $argv[1]
+        end
+
+        if test $len -eq 2
+            set xorigin $argv[1]
+            set xbranch $argv[2]
+        end
+
+        set xcmd $xorigin $xbranch
+        set -l xremote_url (command git config --get "remote.$xorigin.url")
+
+        echo "Remote URL: $xorigin ($xremote_url)"
+        echo "Remote branch: $xbranch"
+        echo
+    end
+
+    command git pull $xcmd $xdefaults
+end
+
+# Git push with --set-upstream
+# Shortcut inspired from https://github.com/jamiew/git-friendly
+function push -d "Gitnow: Push commit changes to remote repository"
+    if not __gitnow_is_git_repository
+        __gitnow_msg_not_valid_repository "push"
+        return
+    end
+
+    set -l opts $argv
+    set -l xorigin (__gitnow_current_remote)
+    set -l xbranch (__gitnow_current_branch_name)
+
+
+    if test (count $opts) -eq 0
+        set opts $xorigin $xbranch
+        set -l xremote_url (command git config --get "remote.$xorigin.url")
+
+        echo "🚀 Pushing changes..."
+        echo "Mode: Auto"
+        echo "Remote URL: $xorigin ($xremote_url)"
+        echo "Remote branch: $xbranch"
+    else
+        set -l v_mode "auto"
+
+        for v in $argv
+            switch $v
+                case -t --tags
+                    set opts $xorigin $xbranch --follow-tags
+                    set -l xremote_url (command git config --get "remote.$xorigin.url")
+
+                    echo "🚀 Pushing changes..."
+                    echo "Mode: Auto (incl. tags)"
+                    echo "Remote URL: $xorigin ($xremote_url)"
+                    echo "Remote branch: $xbranch"
+                case -h --help
+                    echo "NAME"
+                    echo "      Gitnow: push - Push current branch to default origin"
+                    echo "OPTIONS:"
+                    echo "      -t --tags               (auto mode) include annotated tags that relate to the commits"
+                    echo "      -h --help               Show information about the options for this command"
+                    return
+                case -\*
+                case '*'
+                    set -l v_mode "manual"
+                    echo "Mode: Manual"
+            end
+        end
+    end
+
+    echo
+
+    command git push --set-upstream $opts
+end
+
+function upstream -d "Gitnow: Commit all changes and push them to remote server"
+    if not __gitnow_is_git_repository
+        __gitnow_msg_not_valid_repository "upstream"
+        return
+    end
+
+    commit-all
+    push
+end
+
+function feature -d "GitNow: Creates a new Gitflow feature branch from current branch" -a xbranch
+    if not __gitnow_is_git_repository
+        __gitnow_msg_not_valid_repository "feature"
+        return
+    end
+
+    __gitnow_gitflow_branch "feature" $xbranch
+end
+
+function hotfix -d "GitNow: Creates a new Gitflow hotfix branch from current branch" -a xbranch
+    if not __gitnow_is_git_repository
+        __gitnow_msg_not_valid_repository "hotfix"
+        return
+    end
+
+    __gitnow_gitflow_branch "hotfix" $xbranch
+end
+
+function bugfix -d "GitNow: Creates a new Gitflow bugfix branch from current branch" -a xbranch
+    if not __gitnow_is_git_repository
+        __gitnow_msg_not_valid_repository "bugfix"
+        return
+    end
+
+    __gitnow_gitflow_branch "bugfix" $xbranch
+end
+
+function release -d "GitNow: Creates a new Gitflow release branch from current branch" -a xbranch
+    if not __gitnow_is_git_repository
+        __gitnow_msg_not_valid_repository "release"
+        return
+    end
+
+    __gitnow_gitflow_branch "release" $xbranch
+end
+
+function merge -d "GitNow: Merges given branch into the active one"
+    if not __gitnow_is_git_repository
+        __gitnow_msg_not_valid_repository "merge"
+        return
+    end
+
+    set -l len (count $argv)
+    if test $len -eq 0
+        echo "Merge: No argument given, needs one parameter"
+        return
+    end
+
+    set -l v_abort
+    set -l v_continue
+    set -l v_branch
+
+    for v in $argv
+        switch $v
+            case -a --abort
+                set v_abort $v
+            case -c --continue
+                set v_continue $v
+            case -h --help
+                echo "NAME"
+                echo "      Gitnow: merge - Merge given branch into the active one"
+                echo "EXAMPLES"
+                echo "      merge <branch to merge>"
+                echo "OPTIONS:"
+                echo "      -a --abort              Abort a conflicted merge"
+                echo "      -c --continue           Continue a conflicted merge"
+                echo "      -h --help               Show information about the options for this command"
+                return
+            case -\*
+            case '*'
+                set v_branch $v
+        end
+    end
+
+    # abort
+    if test "$v_abort";
+        echo "Abort the current merge"
+        command git merge --abort
+        return
+    end
+
+    # continue
+    if test "$v_continue";
+        echo "Continue the current merge"
+        command git merge --continue
+        return
+    end
+
+    # No branch defined
+    if not test -n "$v_branch"
+        echo "Provide a valid branch name to merge."
+        return
+    end
+
+    set -l v_found (__gitnow_check_if_branch_exist $v_branch)
+
+    # Branch was not found
+    if test $v_found -eq 0;
+        echo "Local branch `$v_branch` was not found. Not possible to merge."
+
+        return
+    end
+
+    # Detect merging current branch
+    if [ "$v_branch" = (__gitnow_current_branch_name) ]
+        echo "Branch `$v_branch` is the same as current branch. Nothing to do."
+        return
+    end
+
+    command git merge $v_branch
+end
+
+function move -d "GitNow: Switch from current branch to another but stashing uncommitted changes"
+    if not __gitnow_is_git_repository
+        __gitnow_msg_not_valid_repository "move"
+        return
+    end
+
+    set -l v_upstream
+    set -l v_no_apply_stash
+    set -l v_branch
+
+    for v in $argv
+        switch $v
+            case -u --upstream
+                set v_upstream $v
+            case -n --no-apply-stash
+                set v_no_apply_stash $v
+            case -nu -un
+                set v_upstream "-u"
+                set v_no_apply_stash "-n"
+            case -h --help
+                echo "NAME"
+                echo "      Gitnow: move - Switch from current branch to another but stashing uncommitted changes"
+                echo "EXAMPLES"
+                echo "      move <branch to switch to>"
+                echo "OPTIONS:"
+                echo "      -n --no-apply-stash     Switch to a local branch but without applying current stash"
+                echo "      -u --upstream           Fetch a remote branch and switch to it applying current stash. It can be combined with --no-apply-stash"
+                echo "      -h --help               Show information about the options for this command"
+                return
+            case -\*
+            case '*'
+                set v_branch $v
+        end
+    end
+
+    # No branch defined
+    if not test -n "$v_branch"
+        echo "Provide a valid branch name to switch to."
+
+        return
+    end
+
+    set -l v_fetched 0
+
+    # Fetch branch from remote
+    if test -n "$v_upstream"
+        set -l v_remote (__gitnow_current_remote)
+        command git fetch $v_remote $v_branch:refs/remotes/$v_remote/$v_branch
+        command git checkout --track $v_remote/$v_branch
+        return
+    end
+
+    set -l v_found (__gitnow_check_if_branch_exist $v_branch)
+
+    # Branch was not found
+    if begin test $v_found -eq 0; and test $v_fetched -eq 0; end
+        echo "Branch `$v_branch` was not found locally. No possible to switch."
+        echo "Tip: Use -u (--upstream) flag to fetch a remote branch."
+
+        return
+    end
+
+    # Prevent same branch switching
+    if [ "$v_branch" = (__gitnow_current_branch_name) ]
+        echo "Branch `$v_branch` is the same as current branch. Nothing to do."
+        return
+    end
+
+    set -l v_uncommited (__gitnow_has_uncommited_changes)
+
+    # Stash changes before checkout for uncommited changes only
+    if test $v_uncommited
+        command git stash
+    end
+
+    command git checkout $v_branch
+
+    # --no-apply-stash
+    if test -n "$v_no_apply_stash"
+        echo "Stashed changes were not applied. Use `git stash pop` to apply them."
+    end
+
+    if begin test $v_uncommited; and not test -n "$v_no_apply_stash"; end
+        command git stash pop
+        echo "Stashed changes applied."
+    end
+
+end
+
+function logs -d "Gitnow: Shows logs in a fancy way"
+    if not __gitnow_is_git_repository
+        __gitnow_msg_not_valid_repository "logs"
+        return
+    end
+
+    set -l v_max_commits "80"
+    set -l v_args
+
+    for v in $argv
+        switch $v
+            case -h --help
+                echo "NAME"
+                echo "      Gitnow: logs - Show logs in a fancy way (first $v_max_commits commits by default)"
+                echo "EXAMPLES"
+                echo "      logs [git log options]"
+                echo "EXTRA OPTIONS:"
+                echo "      -h, --help      Show information about the options for this command"
+                return
+            case -\*
+            case '*'
+                set v_args $argv
+                break
+        end
+    end
+
+    if test -n "$v_args"
+        set v_max_commits
+    else
+        set v_max_commits "-$v_max_commits"
+    end
+
+    LC_ALL=C command git log $v_max_commits $v_args --color --graph \
+        --pretty=format:"%C(red)%h%C(reset)%C(yellow)%d%Creset %s %C(green italic)(%cr)%C(reset) %C(blue)%an%C(reset) %C(white dim)%GK %C(reset)" --abbrev-commit \
+        | command less -R
+end
+
+function tag -d "Gitnow: Tag commits following Semver"
+    if not __gitnow_is_git_repository
+        __gitnow_msg_not_valid_repository "tag"
+        return
+    end
+
+    set -l v_major
+    set -l v_minor
+    set -l v_patch
+    set -l v_premajor
+    set -l v_preminor
+    set -l v_prepatch
+
+    set -l opts
+
+    # NOTE: this function only gets the latest *Semver release version* but no suffixed ones or others
+    set -l v_latest (__gitnow_get_latest_semver_release_tag)
+
+    for v in $argv
+        switch $v
+            case -x --major
+                set v_major $v
+            case -y --minor
+                set v_minor $v
+            case -z --patch
+                set v_patch $v
+            case -a --annotate
+                set opts $opts $v
+
+            # TODO: pre-release versions are not supported yet
+            # case -a --premajor
+            #     set v_premajor $v
+            # case -b --preminor
+            #     set v_preminor $v
+            # case -c --prepatch
+            #     set v_prepatch $v
+
+            case -l --latest
+                if not test -n "$v_latest"
+                    echo "There is no any tag created yet."
+                else
+                    echo $v_latest
+                end
+
+                return
+            case -h --help
+                echo "NAME"
+                echo "      Gitnow: tag - List or tag commits following The Semantic Versioning 2.0.0 (Semver) [1]"
+                echo "      [1] https://semver.org/"
+                echo "EXAMPLES"
+                echo "      List tags: tag"
+                echo "      Custom tag: tag <my tag name>"
+                echo "      Semver tag: tag --major"
+                echo "OPTIONS:"
+                echo "      Without options all tags are listed in a lexicographic order and tag names are treated as versions"
+                echo "      -x --major         Tag auto-incrementing a major version number"
+                echo "      -y --minor         Tag auto-incrementing a minor version number"
+                echo "      -z --patch         Tag auto-incrementing a patch version number"
+                echo "      -l --latest        Show only the latest Semver release tag version (no suffixed ones or others)"
+                echo "      -a --annotate      Create as annotated tag"
+                echo "      -h --help          Show information about the options for this command"
+
+                # TODO: pre-release versions are not supported yet
+                # echo "      -a --premajor      Tag auto-incrementing a premajor version number"
+                # echo "      -b --preminor      Tag auto-incrementing a preminor version number"
+                # echo "      -c --prepatch      Tag auto-incrementing a prepatch version number"
+
+                return
+            case -\*
+            case '*'
+                return
+        end
+    end
+
+    # List all tags in a lexicographic order and treating tag names as versions
+    if test -z "$argv"
+        __gitnow_get_tags_ordered
+        return
+    end
+
+    # Major version tags
+    if test -n "$v_major"
+        if not test -n "$v_latest"
+            command git tag $opts v1.0.0
+            echo "First major tag \"v1.0.0\" was created."
+            return
+        else
+            set -l vstr (__gitnow_get_valid_semver_release_value $v_latest)
+
+            # Validate Semver format before to proceed
+            if not test -n "$vstr"
+                echo "The latest tag \"$v_latest\" has no a valid Semver format."
+                return
+            end
+
+            set -l x (echo $vstr | LC_ALL=C command awk -F '.' '{print $1}')
+            set -l prefix (echo $v_latest | LC_ALL=C command awk -F "$vstr" '{print $1}')
+            set x (__gitnow_increment_number $x)
+            set -l xyz "$prefix$x.0.0"
+
+            command git tag $opts $xyz
+            echo "Major tag \"$xyz\" was created."
+            return
+        end
+    end
+
+
+    # Minor version tags
+    if test -n "$v_minor"
+        if not test -n "$v_latest"
+            command git tag $opts v0.1.0
+            echo "First minor tag \"v0.1.0\" was created."
+            return
+        else
+            set -l vstr (__gitnow_get_valid_semver_release_value $v_latest)
+
+            # Validate Semver format before to proceed
+            if not test -n "$vstr"
+                echo "The latest tag \"$v_latest\" has no a valid Semver format."
+                return
+            end
+
+            set -l x (echo $vstr | LC_ALL=C command awk -F '.' '{print $1}')
+            set -l y (echo $vstr | LC_ALL=C command awk -F '.' '{print $2}')
+            set -l prefix (echo $v_latest | LC_ALL=C command awk -F "$vstr" '{print $1}')
+            set y (__gitnow_increment_number $y)
+            set -l xyz "$prefix$x.$y.0"
+
+            command git tag $opts $xyz
+            echo "Minor tag \"$xyz\" was created."
+            return
+        end
+    end
+
+
+    # Patch version tags
+    if test -n "$v_patch"
+        if not test -n "$v_latest"
+            command git tag $opts v0.0.1
+            echo "First patch tag \"v0.1.0\" was created."
+            return
+        else
+            set -l vstr (__gitnow_get_valid_semver_release_value $v_latest)
+
+            # Validate Semver format before to proceed
+            if not test -n "$vstr"
+                echo "The latest tag \"$v_latest\" has no a valid Semver format."
+                return
+            end
+
+            set -l x (echo $vstr | LC_ALL=C command awk -F '.' '{print $1}')
+            set -l y (echo $vstr | LC_ALL=C command awk -F '.' '{print $2}')
+            set -l z (echo $vstr | LC_ALL=C command awk -F '.' '{print $3}')
+            set -l s (echo $z | LC_ALL=C command awk -F '-' '{print $1}')
+
+            if __gitnow_is_number $s
+                set -l prefix (echo $v_latest | LC_ALL=C command awk -F "$vstr" '{print $1}')
+                set s (__gitnow_increment_number $s)
+                set -l xyz "$prefix$x.$y.$s"
+
+                command git tag $opts $xyz
+                echo "Patch tag \"$xyz\" was created."
+            else
+                echo "No patch version found."
+            end
+
+            return
+        end
+    end
+
+
+    # TODO: pre-release versions are not supported yet
+    # TODO: Premajor version tags
+    # TODO: Preminor version tags
+    # TODO: Prepatch version tags
+
+
+end
+
+function assume -d "Gitnow: Ignore files temporarily"
+    if not __gitnow_is_git_repository
+        __gitnow_msg_not_valid_repository "assume"
+        return
+    end
+
+    set -l v_assume_unchanged "--assume-unchanged"
+    set -l v_files
+
+    for v in $argv
+        switch $v
+            case -n --no-assume
+                set v_assume_unchanged "--no-assume-unchanged"
+            case -h --help
+                echo "NAME"
+                echo "      Gitnow: assume - Ignores changes in certain files temporarily"
+                echo "OPTIONS:"
+                echo "      -n --no-assume  No assume unchanged files to be ignored (revert option)"
+                echo "      -h --help       Show information about the options for this command"
+                return
+            case -\*
+            case '*'
+                set v_files $v_files $v
+        end
+    end
+
+    if test (count $v_files) -lt 1
+        echo "Provide files in order to ignore them temporarily. E.g `assume Cargo.lock`"
+        return
+    end
+
+    command git update-index $v_assume_unchanged $v_files
+end
+
+function github -d "Gitnow: Clone a GitHub repository using SSH"
+    set -l repo (__gitnow_clone_params $argv)
+    __gitnow_clone_repo $repo "github"
+
+end
+
+function bitbucket -d "Gitnow: Clone a Bitbucket Cloud repository using SSH"
+    set -l repo (__gitnow_clone_params $argv)
+    __gitnow_clone_repo $repo "bitbucket"
+
+end

+ 32 - 0
fish/.config/fish/conf.d/gitnow_config.fish

@@ -0,0 +1,32 @@
+# GitNow — Speed up your Git workflow. 🐠
+# https://github.com/joseluisq/gitnow
+
+set -g gitnow_version 2.9.0
+
+if set -q __fish_config_dir
+    set -g fish_config "$__fish_config_dir"
+else
+    set -q XDG_CONFIG_HOME
+        and set -g fish_config "$XDG_CONFIG_HOME/fish"
+        or set -g fish_config "~/.config/fish"
+end
+
+set -q fish_snippets; or set -g fish_snippets "$fish_config/conf.d"
+set -q fish_functions; or set -g fish_functions "$fish_config/functions"
+set -q fish_completions; or set -g fish_completions "$fish_config/completions"
+set -q GITNOW_CONFIG_FILE; or set -g GITNOW_CONFIG_FILE ~/.gitnow
+
+if functions -q __fundle_plugins_dir
+    set -l fundledir (__fundle_plugins_dir)
+    source "$fundledir/joseluisq/gitnow/functions/__gitnow_functions.fish"
+    source "$fundledir/joseluisq/gitnow/functions/__gitnow_manual.fish"
+    source "$fundledir/joseluisq/gitnow/functions/__gitnow_config_file.fish"
+    source "$fundledir/joseluisq/gitnow/completions/__gitnow_completions.fish"
+else
+    source "$fish_functions/__gitnow_functions.fish"
+    source "$fish_functions/__gitnow_manual.fish"
+    source "$fish_functions/__gitnow_config_file.fish"
+    source "$fish_completions/__gitnow_completions.fish"
+end
+
+__gitnow_read_config

+ 63 - 0
fish/.config/fish/conf.d/z.fish

@@ -0,0 +1,63 @@
+if test -z "$Z_DATA"
+    if test -z "$XDG_DATA_HOME"
+        set -U Z_DATA_DIR "$HOME/.local/share/z"
+    else
+        set -U Z_DATA_DIR "$XDG_DATA_HOME/z"
+    end
+    set -U Z_DATA "$Z_DATA_DIR/data"
+end
+
+if test ! -e "$Z_DATA"
+    if test ! -e "$Z_DATA_DIR"
+        mkdir -p -m 700 "$Z_DATA_DIR"
+    end
+    touch "$Z_DATA"
+end
+
+if test -z "$Z_CMD"
+    set -U Z_CMD z
+end
+
+set -U ZO_CMD "$Z_CMD"o
+
+if test ! -z $Z_CMD
+    function $Z_CMD -d "jump around"
+        __z $argv
+    end
+end
+
+if test ! -z $ZO_CMD
+    function $ZO_CMD -d "open target dir"
+        __z -d $argv
+    end
+end
+
+if not set -q Z_EXCLUDE
+    set -U Z_EXCLUDE "^$HOME\$"
+else if contains $HOME $Z_EXCLUDE
+    # Workaround: migrate old default values to a regex (see #90).
+    set Z_EXCLUDE (string replace -r -- "^$HOME\$" '^'$HOME'$$' $Z_EXCLUDE)
+end
+
+# Setup completions once first
+__z_complete
+
+function __z_on_variable_pwd --on-variable PWD
+    __z_add
+end
+
+function __z_uninstall --on-event z_uninstall
+    functions -e __z_on_variable_pwd
+    functions -e $Z_CMD
+    functions -e $ZO_CMD
+
+    if test ! -z "$Z_DATA"
+        printf "To completely erase z's data, remove:\n" >/dev/stderr
+        printf "%s\n" "$Z_DATA" >/dev/stderr
+    end
+
+    set -e Z_CMD
+    set -e ZO_CMD
+    set -e Z_DATA
+    set -e Z_EXCLUDE
+end

+ 13 - 14
fish/.config/fish/config.fish

@@ -1,14 +1,13 @@
-source ~/.asdf/asdf.fish
-set -gx PATH ~/.cargo/bin $PATH
-set -gx PATH ~/.bin $PATH
-set -gx PATH ~/.screenlayout $PATH
-set -gx PATH ~/.emacs.d/bin $PATH
-set -gx GIT_CU_DIR ~/src
-#set -gx PATH ~/.fzf/bin $PATH
-set -gx PATH ~/.local/bin $PATH
-set -gx PATH ~/.asdf/installs/rust/latest/bin $PATH
-fzf_key_bindings
-set -gx EDITOR vi
-set -gx XDG_RUNTIME_DIR /run/user/(id -u)
-direnv hook fish | source
-alias ls=lsd
+if status is-interactive
+    set -gx PATH ~/.asdf/installs/rust/latest/bin $PATH
+    set -gx PATH ~/.cargo/bin $PATH
+    set -gx PATH ~/.bin $PATH
+    set -gx PATH ~/.screenlayout $PATH
+    set -gx PATH ~/.emacs.d/bin $PATH
+    set -gx GIT_CU_DIR ~/src
+    set -gx PATH ~/.local/bin $PATH
+    set -gx EDITOR vi
+    set -gx XDG_RUNTIME_DIR /run/user/(id -u)
+    direnv hook fish | source
+    alias ls=lsd
+end

+ 6 - 0
fish/.config/fish/fish_plugins

@@ -0,0 +1,6 @@
+jorgebucaran/fisher
+ilancosman/tide
+jethrokuan/z
+joseluisq/gitnow
+2m/fish-gpg-tty
+oh-my-fish/plugin-direnv

File diff suppressed because it is too large
+ 1 - 15
fish/.config/fish/fish_variables


+ 0 - 46
fish/.config/fish/fishd.8c85907056c9

@@ -1,46 +0,0 @@
-# This file is automatically generated by the fish.
-# Do NOT edit it directly, your changes will be overwritten.
-SET FZF_DEFAULT_OPTS:\x2d\x2dheight\x2040\x25
-SET FZF_LEGACY_KEYBINDINGS:1
-SET FZF_PREVIEW_DIR_CMD:ls
-SET FZF_PREVIEW_FILE_CMD:head\x20\x2dn\x2010
-SET FZF_TMUX_HEIGHT:40\x25
-SET_EXPORT TERM:screen\x2d256color
-SET THEME_EDEN_PROMPT_CHAR:\u00bb
-SET ZO_CMD:zo
-SET Z_CMD:z
-SET Z_DATA:/Users/colinpowell/\x2elocal/share/z/data
-SET Z_DATA_DIR:/Users/colinpowell/\x2elocal/share/z
-SET Z_EXCLUDE:/Users/colinpowell
-SET __fish_init_2_39_8:\x1d
-SET __fish_init_2_3_0:\x1d
-SET __tf_func:function\x20__tf_alias\x20\x2dd\x20\x22Correct\x20your\x20previous\x20console\x20command\x22\x3b\x20\x20set\x20\x2dl\x20fucked_up_command\x20\x24history\x5b1\x5d\x3b\x20\x20env\x20TF_SHELL\x3dfish\x20TF_ALIAS\x3d__tf_alias\x20PYTHONIOENCODING\x3dutf\x2d8\x20thefuck\x20\x24fucked_up_command\x20\x7c\x20read\x20\x2dl\x20unfucked_command\x3b\x20\x20if\x20\x5b\x20\x22\x24unfucked_command\x22\x20\x21\x3d\x20\x22\x22\x20\x5d\x3b\x20\x20\x20\x20eval\x20\x24unfucked_command\x3b\x20\x20\x20\x20builtin\x20history\x20delete\x20\x2d\x2dexact\x20\x2d\x2dcase\x2dsensitive\x20\x2d\x2d\x20\x24fucked_up_command\x3b\x20\x20\x20\x20builtin\x20history\x20merge\x20\x5e\x20/dev/null\x3b\x20\x20end\x3bend\x3b
-SET __tf_vers:The\x20Fuck\x203\x2e28\x20using\x20Python\x203\x2e7\x2e1\x20and\x20Fish\x20Shell\x202\x2e7\x2e1
-SET chain_links:chain\x2elinks\x2eroot\x1echain\x2elinks\x2ejobs\x1echain\x2elinks\x2epwd\x1echain\x2elinks\x2evcs_branch\x1echain\x2elinks\x2evcs_dirty\x1echain\x2elinks\x2evcs_stashed
-SET fish_color_autosuggestion:555\x1ebrblack
-SET fish_color_cancel:\x2dr
-SET fish_color_command:\x2d\x2dbold
-SET fish_color_comment:red
-SET fish_color_cwd:green
-SET fish_color_cwd_root:red
-SET fish_color_end:brmagenta
-SET fish_color_error:brred
-SET fish_color_escape:bryellow\x1e\x2d\x2dbold
-SET fish_color_history_current:\x2d\x2dbold
-SET fish_color_host:normal
-SET fish_color_match:\x2d\x2dbackground\x3dbrblue
-SET fish_color_normal:normal
-SET fish_color_operator:bryellow
-SET fish_color_param:cyan
-SET fish_color_quote:yellow
-SET fish_color_redirection:brblue
-SET fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
-SET fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
-SET fish_color_user:brgreen
-SET fish_color_valid_path:\x2d\x2dunderline
-SET fish_greeting:\x1d
-SET fish_key_bindings:fish_vi_key_bindings
-SET fish_pager_color_completion:\x1d
-SET fish_pager_color_description:B3A06D\x1eyellow
-SET fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
-SET fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan

+ 0 - 41
fish/.config/fish/fishd.auklet

@@ -1,41 +0,0 @@
-# This file is automatically generated by the fish.
-# Do NOT edit it directly, your changes will be overwritten.
-SET FZF_DEFAULT_OPTS:\x2d\x2dheight\x2040\x25
-SET FZF_LEGACY_KEYBINDINGS:1
-SET FZF_PREVIEW_DIR_CMD:ls
-SET FZF_PREVIEW_FILE_CMD:head\x20\x2dn\x2010
-SET FZF_TMUX_HEIGHT:40\x25
-SET ZO_CMD:zo
-SET Z_CMD:z
-SET Z_DATA:/home/powellc/\x2elocal/share/z/data
-SET Z_DATA_DIR:/home/powellc/\x2elocal/share/z
-SET Z_EXCLUDE:/home/powellc
-SET __fish_init_2_39_8:\x1d
-SET __fish_init_2_3_0:\x1d
-SET fish_color_autosuggestion:555\x1ebrblack
-SET fish_color_cancel:\x2dr
-SET fish_color_command:\x2d\x2dbold
-SET fish_color_comment:red
-SET fish_color_cwd:green
-SET fish_color_cwd_root:red
-SET fish_color_end:brmagenta
-SET fish_color_error:brred
-SET fish_color_escape:bryellow\x1e\x2d\x2dbold
-SET fish_color_history_current:\x2d\x2dbold
-SET fish_color_host:normal
-SET fish_color_match:\x2d\x2dbackground\x3dbrblue
-SET fish_color_normal:normal
-SET fish_color_operator:bryellow
-SET fish_color_param:cyan
-SET fish_color_quote:yellow
-SET fish_color_redirection:brblue
-SET fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
-SET fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
-SET fish_color_user:brgreen
-SET fish_color_valid_path:\x2d\x2dunderline
-SET fish_greeting:Welcome\x20to\x20fish\x2c\x20the\x20friendly\x20interactive\x20shell
-SET fish_key_bindings:fish_default_key_bindings
-SET fish_pager_color_completion:\x1d
-SET fish_pager_color_description:B3A06D\x1eyellow
-SET fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
-SET fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan

+ 0 - 41
fish/.config/fish/fishd.dione

@@ -1,41 +0,0 @@
-# This file is automatically generated by the fish.
-# Do NOT edit it directly, your changes will be overwritten.
-SET FZF_DEFAULT_OPTS:\x2d\x2dheight\x2040\x25
-SET FZF_LEGACY_KEYBINDINGS:1
-SET FZF_PREVIEW_DIR_CMD:ls
-SET FZF_PREVIEW_FILE_CMD:head\x20\x2dn\x2010
-SET FZF_TMUX_HEIGHT:40\x25
-SET ZO_CMD:zo
-SET Z_CMD:z
-SET Z_DATA:/home/powellc/\x2elocal/share/z/data
-SET Z_DATA_DIR:/home/powellc/\x2elocal/share/z
-SET Z_EXCLUDE:/home/powellc
-SET __fish_init_2_39_8:\x1d
-SET __fish_init_2_3_0:\x1d
-SET fish_color_autosuggestion:555\x1ebrblack
-SET fish_color_cancel:\x2dr
-SET fish_color_command:\x2d\x2dbold
-SET fish_color_comment:red
-SET fish_color_cwd:green
-SET fish_color_cwd_root:red
-SET fish_color_end:brmagenta
-SET fish_color_error:brred
-SET fish_color_escape:bryellow\x1e\x2d\x2dbold
-SET fish_color_history_current:\x2d\x2dbold
-SET fish_color_host:normal
-SET fish_color_match:\x2d\x2dbackground\x3dbrblue
-SET fish_color_normal:normal
-SET fish_color_operator:bryellow
-SET fish_color_param:cyan
-SET fish_color_quote:yellow
-SET fish_color_redirection:brblue
-SET fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
-SET fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
-SET fish_color_user:brgreen
-SET fish_color_valid_path:\x2d\x2dunderline
-SET fish_greeting:Welcome\x20to\x20fish\x2c\x20the\x20friendly\x20interactive\x20shell
-SET fish_key_bindings:fish_default_key_bindings
-SET fish_pager_color_completion:\x1d
-SET fish_pager_color_description:B3A06D\x1eyellow
-SET fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
-SET fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan

+ 0 - 43
fish/.config/fish/fishd.galah

@@ -1,43 +0,0 @@
-# This file is automatically generated by the fish.
-# Do NOT edit it directly, your changes will be overwritten.
-SET FZF_DEFAULT_OPTS:\x2d\x2dheight\x2040\x25
-SET FZF_LEGACY_KEYBINDINGS:1
-SET FZF_PREVIEW_DIR_CMD:ls
-SET FZF_PREVIEW_FILE_CMD:head\x20\x2dn\x2010
-SET FZF_TMUX_HEIGHT:40\x25
-SET_EXPORT TERM:xterm\x2d256color
-SET ZO_CMD:zo
-SET Z_CMD:z
-SET Z_DATA:/home/powellc/\x2elocal/share/z/data
-SET Z_DATA_DIR:/home/powellc/\x2elocal/share/z
-SET Z_EXCLUDE:/home/powellc
-SET __fish_init_2_39_8:\x1d
-SET __fish_init_2_3_0:\x1d
-SET fish_color_autosuggestion:555\x1ebrblack
-SET fish_color_cancel:\x2dr
-SET fish_color_command:\x2d\x2dbold
-SET fish_color_comment:red
-SET fish_color_cwd:green
-SET fish_color_cwd_root:red
-SET fish_color_end:brmagenta
-SET fish_color_error:brred
-SET fish_color_escape:bryellow\x1e\x2d\x2dbold
-SET fish_color_history_current:\x2d\x2dbold
-SET fish_color_host:normal
-SET fish_color_match:\x2d\x2dbackground\x3dbrblue
-SET fish_color_normal:normal
-SET fish_color_operator:bryellow
-SET fish_color_param:cyan
-SET fish_color_quote:yellow
-SET fish_color_redirection:brblue
-SET fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
-SET fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
-SET fish_color_user:brgreen
-SET fish_color_valid_path:\x2d\x2dunderline
-SET fish_greeting:Welcome\x20to\x20fish\x2c\x20the\x20friendly\x20interactive\x20shell
-SET fish_key_bindings:fish_default_key_bindings
-SET fish_pager_color_completion:\x1d
-SET fish_pager_color_description:B3A06D\x1eyellow
-SET fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
-SET fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
-SET fish_user_paths:/home/powellc/\x2efzf/bin

+ 0 - 39
fish/.config/fish/fishd.iapetus

@@ -1,39 +0,0 @@
-# This file is automatically generated by the fish.
-# Do NOT edit it directly, your changes will be overwritten.
-SET FZF_DEFAULT_OPTS:\x2d\x2dheight\x2040\x25
-SET FZF_LEGACY_KEYBINDINGS:1
-SET FZF_PREVIEW_DIR_CMD:ls
-SET FZF_PREVIEW_FILE_CMD:head\x20\x2dn\x2010
-SET FZF_TMUX_HEIGHT:40\x25
-SET Z_DATA_DIR:/home/powellc/\x2elocal/share/z
-SET __fish_init_2_39_8:\x1d
-SET __fish_init_2_3_0:\x1d
-SET fish_color_autosuggestion:555\x1ebrblack
-SET fish_color_cancel:\x2dr
-SET fish_color_command:\x2d\x2dbold
-SET fish_color_comment:red
-SET fish_color_cwd:green
-SET fish_color_cwd_root:red
-SET fish_color_end:brmagenta
-SET fish_color_error:brred
-SET fish_color_escape:bryellow\x1e\x2d\x2dbold
-SET fish_color_history_current:\x2d\x2dbold
-SET fish_color_host:normal
-SET fish_color_match:\x2d\x2dbackground\x3dbrblue
-SET fish_color_normal:normal
-SET fish_color_operator:bryellow
-SET fish_color_param:cyan
-SET fish_color_quote:yellow
-SET fish_color_redirection:brblue
-SET fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
-SET fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
-SET fish_color_user:brgreen
-SET fish_color_valid_path:\x2d\x2dunderline
-SET fish_greeting:Welcome\x20to\x20fish\x2c\x20the\x20friendly\x20interactive\x20shell
-SET fish_key_bindings:fish_default_key_bindings
-SET fish_pager_color_completion:\x1d
-SET fish_pager_color_description:B3A06D\x1eyellow
-SET fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
-SET fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
-SET fish_user_paths:/home/powellc/\x2easdf/shims\x1e/home/powellc/\x2efzf/bin
-SET pure_version:2\x2e1\x2e8

+ 0 - 42
fish/.config/fish/fishd.kestrel

@@ -1,42 +0,0 @@
-# This file is automatically generated by the fish.
-# Do NOT edit it directly, your changes will be overwritten.
-SET FZF_DEFAULT_OPTS:\x2d\x2dheight\x2040\x25
-SET FZF_LEGACY_KEYBINDINGS:1
-SET FZF_PREVIEW_DIR_CMD:ls
-SET FZF_PREVIEW_FILE_CMD:head\x20\x2dn\x2010
-SET FZF_TMUX_HEIGHT:40\x25
-SET ZO_CMD:zo
-SET Z_CMD:z
-SET Z_DATA:/home/powellc/\x2elocal/share/z/data
-SET Z_DATA_DIR:/home/powellc/\x2elocal/share/z
-SET Z_EXCLUDE:/home/powellc
-SET __fish_init_2_39_8:\x1d
-SET __fish_init_2_3_0:\x1d
-SET fish_color_autosuggestion:555\x1ebrblack
-SET fish_color_cancel:\x2dr
-SET fish_color_command:\x2d\x2dbold
-SET fish_color_comment:red
-SET fish_color_cwd:green
-SET fish_color_cwd_root:red
-SET fish_color_end:brmagenta
-SET fish_color_error:brred
-SET fish_color_escape:bryellow\x1e\x2d\x2dbold
-SET fish_color_history_current:\x2d\x2dbold
-SET fish_color_host:normal
-SET fish_color_match:\x2d\x2dbackground\x3dbrblue
-SET fish_color_normal:normal
-SET fish_color_operator:bryellow
-SET fish_color_param:cyan
-SET fish_color_quote:yellow
-SET fish_color_redirection:brblue
-SET fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
-SET fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
-SET fish_color_user:brgreen
-SET fish_color_valid_path:\x2d\x2dunderline
-SET fish_greeting:Welcome\x20to\x20fish\x2c\x20the\x20friendly\x20interactive\x20shell
-SET fish_key_bindings:fish_default_key_bindings
-SET fish_pager_color_completion:\x1d
-SET fish_pager_color_description:B3A06D\x1eyellow
-SET fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
-SET fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
-SET fish_user_paths:/home/powellc/\x2efzf/bin

+ 0 - 41
fish/.config/fish/fishd.mimas

@@ -1,41 +0,0 @@
-# This file is automatically generated by the fish.
-# Do NOT edit it directly, your changes will be overwritten.
-SET FZF_DEFAULT_OPTS:\x2d\x2dheight\x2040\x25
-SET FZF_LEGACY_KEYBINDINGS:1
-SET FZF_PREVIEW_DIR_CMD:ls
-SET FZF_PREVIEW_FILE_CMD:head\x20\x2dn\x2010
-SET FZF_TMUX_HEIGHT:40\x25
-SET ZO_CMD:zo
-SET Z_CMD:z
-SET Z_DATA:/usr/home/powellc/\x2elocal/share/z/data
-SET Z_DATA_DIR:/usr/home/powellc/\x2elocal/share/z
-SET Z_EXCLUDE:/usr/home/powellc
-SET __fish_init_2_39_8:\x1d
-SET __fish_init_2_3_0:\x1d
-SET fish_color_autosuggestion:555\x1ebrblack
-SET fish_color_cancel:\x2dr
-SET fish_color_command:\x2d\x2dbold
-SET fish_color_comment:red
-SET fish_color_cwd:green
-SET fish_color_cwd_root:red
-SET fish_color_end:brmagenta
-SET fish_color_error:brred
-SET fish_color_escape:bryellow\x1e\x2d\x2dbold
-SET fish_color_history_current:\x2d\x2dbold
-SET fish_color_host:normal
-SET fish_color_match:\x2d\x2dbackground\x3dbrblue
-SET fish_color_normal:normal
-SET fish_color_operator:bryellow
-SET fish_color_param:cyan
-SET fish_color_quote:yellow
-SET fish_color_redirection:brblue
-SET fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
-SET fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
-SET fish_color_user:brgreen
-SET fish_color_valid_path:\x2d\x2dunderline
-SET fish_greeting:Welcome\x20to\x20fish\x2c\x20the\x20friendly\x20interactive\x20shell
-SET fish_key_bindings:fish_default_key_bindings
-SET fish_pager_color_completion:\x1d
-SET fish_pager_color_description:B3A06D\x1eyellow
-SET fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
-SET fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan

+ 0 - 42
fish/.config/fish/fishd.rhea

@@ -1,42 +0,0 @@
-# This file is automatically generated by the fish.
-# Do NOT edit it directly, your changes will be overwritten.
-SET FZF_DEFAULT_OPTS:\x2d\x2dheight\x2040\x25
-SET FZF_LEGACY_KEYBINDINGS:1
-SET FZF_PREVIEW_DIR_CMD:ls
-SET FZF_PREVIEW_FILE_CMD:head\x20\x2dn\x2010
-SET FZF_TMUX_HEIGHT:40\x25
-SET ZO_CMD:zo
-SET Z_CMD:z
-SET Z_DATA:/home/powellc/\x2elocal/share/z/data
-SET Z_DATA_DIR:/home/powellc/\x2elocal/share/z
-SET Z_EXCLUDE:/home/powellc
-SET __fish_init_2_39_8:\x1d
-SET __fish_init_2_3_0:\x1d
-SET fish_color_autosuggestion:555\x1ebrblack
-SET fish_color_cancel:\x2dr
-SET fish_color_command:\x2d\x2dbold
-SET fish_color_comment:red
-SET fish_color_cwd:green
-SET fish_color_cwd_root:red
-SET fish_color_end:brmagenta
-SET fish_color_error:brred
-SET fish_color_escape:bryellow\x1e\x2d\x2dbold
-SET fish_color_history_current:\x2d\x2dbold
-SET fish_color_host:normal
-SET fish_color_match:\x2d\x2dbackground\x3dbrblue
-SET fish_color_normal:normal
-SET fish_color_operator:bryellow
-SET fish_color_param:cyan
-SET fish_color_quote:yellow
-SET fish_color_redirection:brblue
-SET fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
-SET fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
-SET fish_color_user:brgreen
-SET fish_color_valid_path:\x2d\x2dunderline
-SET fish_greeting:Welcome\x20to\x20fish\x2c\x20the\x20friendly\x20interactive\x20shell
-SET fish_key_bindings:fish_default_key_bindings
-SET fish_pager_color_completion:\x1d
-SET fish_pager_color_description:B3A06D\x1eyellow
-SET fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
-SET fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
-SET fish_user_paths:/home/powellc/\x2easdf/bin\x1e/home/powellc/\x2easdf/shims\x1e/home/powellc/\x2efzf/bin

+ 0 - 10
fish/.config/fish/fishfile

@@ -1,10 +0,0 @@
-edc/bass
-2m/fish-gpg-tty
-oh-my-fish/plugin-direnv
-joseluisq/gitnow
-fishpkg/fish-git-util
-oh-my-fish/theme-krisleech
-lfiolhais/theme-simple-ass-prompt
-jethrokuan/z
-jethrokuan/fzf
-python

+ 0 - 4
fish/.config/fish/functions/fish_user_key_bindings.fish

@@ -1,4 +0,0 @@
-function fish_user_key_bindings
-end
-
-fzf_key_bindings

+ 0 - 452
fish/.config/fish/functions/fisher.fish

@@ -1,452 +0,0 @@
-set -g fisher_version 3.1.1
-
-type source >/dev/null; or function source; . $argv; end
-
-switch (command uname)
-    case Darwin FreeBSD
-        function _fisher_now -a elapsed
-            command perl -MTime::HiRes -e 'printf("%.0f\n", (Time::HiRes::time() * 1000) - $ARGV[0])' $elapsed
-        end
-    case \*
-        function _fisher_now -a elapsed
-            command date "+%s%3N" | command awk -v ELAPSED="$elapsed" '{ sub(/%?3N$/, "000") } $0 -= ELAPSED'
-        end
-end
-
-function fisher -a cmd -d "fish package manager"
-    if not command which curl >/dev/null
-        echo "curl is required to use fisher -- install curl and try again" >&2
-        return 1
-    end
-
-    test -z "$XDG_CACHE_HOME"; and set XDG_CACHE_HOME ~/.cache
-    test -z "$XDG_CONFIG_HOME"; and set XDG_CONFIG_HOME ~/.config
-
-    set -g fish_config $XDG_CONFIG_HOME/fish
-    set -g fisher_cache $XDG_CACHE_HOME/fisher
-    set -g fisher_config $XDG_CONFIG_HOME/fisher
-
-    test -z "$fisher_path"; and set -g fisher_path $fish_config
-
-    command mkdir -p {$fish_config,$fisher_path}/{functions,completions,conf.d} $fisher_cache
-
-    if test ! -e "$fisher_path/completions/fisher.fish"
-        echo "fisher self-complete" > $fisher_path/completions/fisher.fish
-        _fisher_self_complete
-    end
-
-    if test -e "$fisher_path/conf.d/fisher.fish"
-        command rm -f $fisher_path/conf.d/fisher.fish
-    end
-
-    switch "$version"
-        case \*-\*
-        case 2\*
-            echo "fisher copy-user-key-bindings" > $fisher_path/conf.d/fisher.fish
-    end
-
-    switch "$cmd"
-        case self-complete
-            _fisher_self_complete
-        case copy-user-key-bindings
-            _fisher_copy_user_key_bindings
-        case ls
-            _fisher_ls | command sed "s|$HOME|~|"
-        case -v {,--}version
-            _fisher_version (status -f)
-        case -h {,--}help
-            _fisher_help
-        case self-update
-            _fisher_self_update (status -f); or return
-            _fisher_self_complete
-        case self-uninstall
-            _fisher_self_uninstall
-        case add rm ""
-            if test ! -z "$argv"
-                if not isatty
-                    while read -l i
-                        set argv $argv $i
-                    end
-                end
-            end
-            _fisher_commit $argv; or return
-            _fisher_self_complete
-        case \*
-            echo "error: unknown flag or command \"$cmd\"" >&2
-            _fisher_help >&2
-            return 1
-    end
-end
-
-function _fisher_self_complete
-    complete -c fisher --erase
-    complete -xc fisher -n __fish_use_subcommand -a version -d "Show version"
-    complete -xc fisher -n __fish_use_subcommand -a help -d "Show help"
-    complete -xc fisher -n __fish_use_subcommand -a self-update -d "Update fisher"
-    complete -xc fisher -n __fish_use_subcommand -a ls -d "List installed packages"
-    complete -xc fisher -n __fish_use_subcommand -a rm -d "Remove packages"
-    complete -xc fisher -n __fish_use_subcommand -a add -d "Add packages"
-    for pkg in (_fisher_ls)
-        complete -xc fisher -n "__fish_seen_subcommand_from rm" -a $pkg
-    end
-end
-
-function _fisher_copy_user_key_bindings
-    if functions -q fish_user_key_bindings
-        functions -c fish_user_key_bindings fish_user_key_bindings_copy
-    end
-    function fish_user_key_bindings
-        for file in $fisher_path/conf.d/*_key_bindings.fish
-            source $file >/dev/null 2>/dev/null
-        end
-        if functions -q fish_user_key_bindings_copy
-            fish_user_key_bindings_copy
-        end
-    end
-end
-
-function _fisher_ls
-    set -l pkgs $fisher_config/*/*/*
-    for pkg in $pkgs
-        command readlink $pkg; and continue; or echo $pkg
-    end | command sed "s|$fisher_config/*||;s|github\.com/||"
-end
-
-function _fisher_version -a file
-    echo "fisher version $fisher_version $file" | command sed "s|$HOME|~|"
-end
-
-function _fisher_help
-    echo "usage: "
-    echo "       fisher add <PACKAGES>    add packages"
-    echo "       fisher rm  <PACKAGES>    remove packages"
-    echo "       fisher                   update installed packages"
-    echo "       fisher ls                show installed packages"
-    echo "       fisher help              show this help"
-    echo "       fisher version           show version"
-    echo "       fisher self-update       update fisher"
-    echo "       fisher self-uninstall    uninstall fisher"
-    echo
-    echo "examples:"
-    echo "       fisher add jethrokuan/z rafaelrinaldi/pure"
-    echo "       fisher add gitlab.com/owner/foobar@v2"
-    echo "       fisher add ~/path/to/myfish/pkg"
-    echo "       fisher rm rafaelrinaldi/pure"
-    echo "       fisher ls | fisher rm"
-    echo "       fisher add < bundle"
-end
-
-function _fisher_self_update -a file
-    set -l url "https://raw.githubusercontent.com/jorgebucaran/fisher/master/fisher.fish"
-    echo "fetching $url" >&2
-
-    curl -s "$url?nocache" >$file@
-
-    set -l next_version (awk 'NR == 1 { print $4; exit }' < $file@)
-    switch "$next_version"
-        case "" $fisher_version
-            command rm -f $file@
-            if test -z "$next_version"
-                echo "cannot update fisher -- are you offline?" >&2
-                return 1
-            end
-            echo "fisher is already up-to-date" >&2
-        case \*
-            echo "linking $file" | command sed "s|$HOME|~|" >&2
-            command mv -f $file@ $file
-            source $file
-            echo "updated fisher to $fisher_version -- hooray!" >&2
-    end
-end
-
-function _fisher_self_uninstall
-    set -l current_pkgs $fisher_config/*/*/*
-    for path in $fisher_cache (_fisher_pkg_remove_all $current_pkgs) $fisher_config $fisher_path/{functions,completions,conf.d}/fisher.fish $fish_config/fishfile
-        echo "removing $path"
-        command rm -rf $path 2>/dev/null
-    end | command sed "s|$HOME|~|" >&2
-
-    set -e fisher_cache
-    set -e fisher_config
-    set -e fisher_path
-    set -e fisher_version
-
-    complete -c fisher --erase
-    functions -e (functions -a | command awk '/^_fisher/') fisher
-
-    echo "done -- see you again!" >&2
-end
-
-function _fisher_commit
-    set -l elapsed (_fisher_now)
-    set -l current_pkgs $fisher_config/*/*/*
-    set -l removed_pkgs (_fisher_pkg_remove_all $current_pkgs)
-    command rm -rf $fisher_config
-    command mkdir -p $fisher_config
-
-    set -l fishfile $fish_config/fishfile
-    if test ! -e "$fishfile"
-        command touch $fishfile
-        echo "created empty fishfile in $fishfile" | command sed "s|$HOME|~|" >&2
-    end
-    printf "%s\n" (_fisher_fishfile_format (
-        echo -s $argv\;) (
-        echo -s $removed_pkgs\;
-    ) < $fishfile) > $fishfile
-
-    set -l expected_pkgs (_fisher_fishfile_read < $fishfile)
-    set -l added_pkgs (_fisher_pkg_fetch_all $expected_pkgs)
-    set -l updated_pkgs (
-        for pkg in $removed_pkgs
-            set pkg (echo $pkg | command sed "s|$fisher_config/*||")
-            if contains -- $pkg $added_pkgs
-                echo $pkg
-            end
-        end)
-
-    if test -z "$added_pkgs$updated_pkgs$removed_pkgs$expected_pkgs"
-        echo "nothing to commit -- try adding some packages" >&2
-        return 1
-    end
-
-    _fisher_status (count $added_pkgs) (count $updated_pkgs) (count $removed_pkgs) (_fisher_now $elapsed) >&2
-end
-
-function _fisher_pkg_remove_all
-    for pkg in $argv
-        echo $pkg
-        _fisher_pkg_uninstall $pkg
-    end
-end
-
-function _fisher_pkg_fetch_all
-    set -l pkg_jobs
-    set -l local_pkgs
-    set -l actual_pkgs
-    set -l expected_pkgs
-
-    for id in $argv
-        switch $id
-            case \~\* /\*
-                set -l path (echo "$id" | command sed "s|~|$HOME|")
-                if test -e "$path"
-                    set local_pkgs $local_pkgs $path
-                else
-                    echo "cannot install \"$id\" -- is this a valid file?" >&2
-                end
-                continue
-        end
-
-        command awk -v ID=$id -v FS=/  'BEGIN {
-            if (split(ID, tmp, /@+|:/) > 2) {
-                if (tmp[4]) sub("@"tmp[4], "", ID)
-                print ID "\t" tmp[2]"/"tmp[1]"/"tmp[3] "\t" (tmp[4] ? tmp[4] : "master")
-            } else {
-                pkg = split(ID, _, "/") <= 2 ? "github.com/"tmp[1] : tmp[1]
-                tag = tmp[2] ? tmp[2] : "master"
-                print (\
-                    pkg ~ /^github/ ? "https://codeload."pkg"/tar.gz/"tag : \
-                    pkg ~ /^gitlab/ ? "https://"pkg"/-/archive/"tag"/"tmp[split(pkg, tmp, "/")]"-"tag".tar.gz" : \
-                    pkg ~ /^bitbucket/ ? "https://"pkg"/get/"tag".tar.gz" : pkg \
-                ) "\t" pkg
-            }
-        }' | read -l url pkg tag
-
-        if test ! -d "$fisher_config/$pkg"
-            fish -c "
-                echo fetching $url >&2
-                command mkdir -p \"$fisher_config/$pkg\"
-                if test ! -z \"$tag\"
-                    command git clone $url \"$fisher_config/$pkg\" --branch $tag --depth 1 2>/dev/null
-                    or echo cannot clone \"$url\" -- is this a valid url\? >&2
-                else if command curl -Ss $url 2>&1 | command tar -xzf- -C \"$fisher_config/$pkg\" --strip-components=1 2>/dev/null
-                    command mkdir -p \"$fisher_cache/$pkg\"
-                    command cp -Rf \"$fisher_config/$pkg\" \"$fisher_cache/$pkg/..\"
-                else if test -d \"$fisher_cache/$pkg\"
-                    echo cannot connect to server -- searching in \"$fisher_cache/$pkg\" | command sed 's|$HOME|~|' >&2
-                    command cp -Rf \"$fisher_cache/$pkg\" \"$fisher_config/$pkg/..\"
-                else
-                    command rm -rf \"$fisher_config/$pkg\"
-                    echo cannot install \"$pkg\" -- is this a valid package\? >&2
-                end
-            " >/dev/null &
-
-            set pkg_jobs $pkg_jobs (_fisher_jobs --last)
-            set expected_pkgs $expected_pkgs "$pkg"
-        end
-    end
-
-    if test ! -z "$pkg_jobs"
-        _fisher_wait $pkg_jobs
-        for pkg in $expected_pkgs
-            if test -d "$fisher_config/$pkg"
-                set actual_pkgs $actual_pkgs $pkg
-                _fisher_pkg_install $fisher_config/$pkg
-            end
-        end
-    end
-
-    for pkg in $local_pkgs
-        set -l path local/$USER
-        set -l name (command basename $pkg)
-        command mkdir -p $fisher_config/$path
-        command ln -sf $pkg $fisher_config/$path
-        set actual_pkgs $actual_pkgs $path/$name
-        _fisher_pkg_install $fisher_config/$path/$name
-    end
-
-    if test ! -z "$actual_pkgs"
-        _fisher_pkg_fetch_all (_fisher_pkg_get_deps $actual_pkgs | command sort --unique)
-        printf "%s\n" $actual_pkgs
-    end
-end
-
-function _fisher_pkg_get_deps
-    for pkg in $argv
-        set -l path $fisher_config/$pkg
-        if test ! -d "$path"
-            echo $pkg
-        else if test -s "$path/fishfile"
-            _fisher_pkg_get_deps (_fisher_fishfile_format < $path/fishfile | _fisher_fishfile_read)
-        end
-    end
-end
-
-function _fisher_pkg_install -a pkg
-    set -l name (command basename $pkg)
-    set -l files $pkg/{functions,completions,conf.d}/**.* $pkg/*.fish
-    for source in $files
-        set -l target (command basename $source)
-        switch $source
-            case $pkg/conf.d\*
-                set target $fisher_path/conf.d/$target
-            case $pkg/completions\*
-                set target $fisher_path/completions/$target
-            case $pkg/{functions,}\*
-                switch $target
-                    case uninstall.fish
-                        continue
-                    case init.fish key_bindings.fish
-                        set target $fisher_path/conf.d/$name\_$target
-                    case \*
-                        set target $fisher_path/functions/$target
-                end
-        end
-        echo "linking $target" | command sed "s|$HOME|~|" >&2
-        command cp -f $source $target
-        switch $target
-            case \*.fish
-                source $target >/dev/null 2>/dev/null
-        end
-    end
-end
-
-function _fisher_pkg_uninstall -a pkg
-    set -l name (command basename $pkg)
-    set -l files $pkg/{conf.d,completions,functions}/**.* $pkg/*.fish
-    for source in $files
-        set -l target (command basename $source)
-        set -l filename (command basename $target .fish)
-        switch $source
-            case $pkg/conf.d\*
-                test "$filename.fish" = "$target"; and emit "$filename"_uninstall
-                set target conf.d/$target
-            case $pkg/completions\*
-                test "$filename.fish" = "$target"; and complete -ec $filename
-                set target completions/$target
-            case $pkg/{,functions}\*
-                test "$filename.fish" = "$target"; and functions -e $filename
-                switch $target
-                    case uninstall.fish
-                        source $source
-                        continue
-                    case init.fish key_bindings.fish
-                        set target conf.d/$name\_$target
-                    case \*
-                        set target functions/$target
-                end
-        end
-        command rm -f $fisher_path/$target
-    end
-    if not functions -q fish_prompt
-        source "$__fish_datadir$__fish_data_dir/functions/fish_prompt.fish"
-    end
-end
-
-function _fisher_fishfile_read
-    command awk -v FS=\# '!/^#/ && NF { print $1 }'
-end
-
-function _fisher_fishfile_format -a pkgs removed_pkgs
-    command awk -v PWD=$PWD -v HOME=$HOME -v PKGS="$pkgs" -v REMOVED_PKGS="$removed_pkgs" '
-        BEGIN {
-            pkg_count = split(PKGS, pkgs, ";") - 1
-            cmd = pkgs[1]
-            for (i = 2; i <= pkg_count; i++) {
-                pkg_ids[i - 1] = get_pkg_id( pkgs[i] = normalize(pkgs[i]) )
-            }
-        } {
-            if (NF) {
-                $0 = normalize($0)
-                newln = newln > 0 ? "" : newln
-                if (/^#/) print newln$0
-                else if (!seen_pkgs[(pkg_id = get_pkg_id($0))]++) {
-                    for (i = 1; i < pkg_count; i++) {
-                        if (pkg_ids[i] == pkg_id) {
-                            if (cmd == "rm") next
-                            $0 = pkgs[i + 1]
-                            break
-                        }
-                    }
-                    print newln$0
-                }
-                newln = NF
-            } else if (newln) newln = "\n"(newln > 0 ? "" : newln)
-        }
-        END {
-            if (cmd == "rm" || pkg_count <= 1) {
-                split(REMOVED_PKGS, tmp, ";")
-                for (i in tmp) removed_pkgs[normalize(tmp[i])] = i
-                for (i in pkg_ids) if (!(pkg_ids[i] in removed_pkgs)) {
-                    print "cannot remove \"" pkg_ids[i] "\" -- package not found" > "/dev/stderr"
-                }
-                exit
-            }
-            for (i in pkg_ids) if (!seen_pkgs[pkg_ids[i]]) print pkgs[i+1]
-        }
-        function normalize(s) {
-            gsub(/^[ \t]*(https?:\/\/)?(.*github\.com\/)?|[\/ \t]*$/, "", s)
-            sub(/^\.\//, PWD"/", s)
-            sub(HOME, "~", s)
-            return s
-        }
-        function get_pkg_id(s) {
-            return (split(s, tmp, /@+|:/) > 2) ? tmp[2]"/"tmp[1]"/"tmp[3] : tmp[1]
-        }
-    '
-end
-
-function _fisher_status -a added updated removed elapsed
-    command awk -v ADDED=$added -v UPDATED=$updated -v REMOVED=$removed -v ELAPSED=$elapsed '
-        BEGIN {
-            if (ADDED = ADDED - UPDATED) res = msg(res, "added", ADDED)
-            if (UPDATED) res = msg(res, "updated", UPDATED)
-            if (REMOVED = REMOVED - UPDATED) res = msg(res, "removed", REMOVED)
-            printf((res ? res : "done") " in %.2fs\n", ELAPSED / 1000)
-        }
-        function msg(res, str, n) {
-            return (res ? res ", " : "") str " " n " package" (n > 1 ? "s" : "")
-        }
-    '
-end
-
-function _fisher_jobs
-    jobs $argv | command awk '/[0-9]+\t/ { print $1 }'
-end
-
-function _fisher_wait
-    while for job in $argv
-            contains -- $job (_fisher_jobs); and break
-        end
-    end
-end

+ 0 - 1
fish/.config/fish/functions/fzf_key_bindings.fish

@@ -1 +0,0 @@
-/home/powellc/.fzf/shell/key-bindings.fish

+ 0 - 8
fish/.config/fish/functions/git_ahead.fish

@@ -1,8 +0,0 @@
-function git_ahead -a ahead behind diverged none
-    command git rev-list --count --left-right "@{upstream}...HEAD" 2>/dev/null | command awk "
-        /^0\t0/         { print \"$none\"       ? \"$none\"     : \"\";     exit 0 }
-        /^[0-9]+\t0/    { print \"$behind\"     ? \"$behind\"   : \"-\";    exit 0 }
-        /^0\t[0-9]+/    { print \"$ahead\"      ? \"$ahead\"    : \"+\";    exit 0 }
-        //              { print \"$diverged\"   ? \"$diverged\" : \"±\";    exit 0 }
-    "
-end

+ 0 - 15
fish/.config/fish/functions/git_branch_name.fish

@@ -1,15 +0,0 @@
-function git_branch_name -d "Get the name of the current Git branch, tag or sha1"
-    set -l branch_name (command git symbolic-ref --short HEAD 2>/dev/null)
-
-    if test -z "$branch_name"
-        set -l tag_name (command git describe --tags --exact-match HEAD 2>/dev/null)
-
-        if test -z "$tag_name"
-            command git rev-parse --short HEAD 2>/dev/null
-        else
-            printf "%s\n" "$tag_name"
-        end
-    else
-        printf "%s\n" "$branch_name"
-    end
-end

+ 0 - 3
fish/.config/fish/functions/git_is_detached_head.fish

@@ -1,3 +0,0 @@
-function git_is_detached_head -d "Test if the repository is in a detached HEAD state"
-    git_is_repo; and not command git symbolic-ref HEAD 2>/dev/null > /dev/null
-end

+ 0 - 3
fish/.config/fish/functions/git_is_dirty.fish

@@ -1,3 +0,0 @@
-function git_is_dirty -d "Test if there are changes not staged for commit"
-    git_is_repo; and not command git diff --no-ext-diff --quiet --exit-code 2>/dev/null
-end

+ 0 - 3
fish/.config/fish/functions/git_is_empty.fish

@@ -1,3 +0,0 @@
-function git_is_empty -d "Test if a repository is empty"
-    git_is_repo; and test -z (command git rev-list -n 1 --all 2>/dev/null)
-end

+ 0 - 5
fish/.config/fish/functions/git_is_repo.fish

@@ -1,5 +0,0 @@
-function git_is_repo -d "Test if the current directory is a Git repository"
-    if not command git rev-parse --git-dir > /dev/null 2>/dev/null
-        return 1
-    end
-end

+ 0 - 3
fish/.config/fish/functions/git_is_staged.fish

@@ -1,3 +0,0 @@
-function git_is_staged -d "Test if there are changes staged for commit"
-    git_is_repo; and not command git diff --cached --no-ext-diff --quiet --exit-code 2>/dev/null
-end

+ 0 - 3
fish/.config/fish/functions/git_is_stashed.fish

@@ -1,3 +0,0 @@
-function git_is_stashed -d "Test if there are changes in the Git stash"
-    command git rev-parse --verify --quiet refs/stash > /dev/null 2>/dev/null
-end

+ 0 - 3
fish/.config/fish/functions/git_is_tag.fish

@@ -1,3 +0,0 @@
-function git_is_tag -d "Test if HEAD is on top of a tag (can be simple, annotated or signed)"
-    git_is_detached_head; and command git describe --tags --exact-match HEAD 2>/dev/null > /dev/null
-end

+ 0 - 3
fish/.config/fish/functions/git_is_touched.fish

@@ -1,3 +0,0 @@
-function git_is_touched -d "Test if there are any changes in the working tree"
-    git_is_staged; or git_is_dirty
-end

+ 0 - 3
fish/.config/fish/functions/git_repository_root.fish

@@ -1,3 +0,0 @@
-function git_repository_root -d "Get the top level directory of the current git repository"
-    git_is_repo; and command git rev-parse --show-toplevel
-end

+ 0 - 15
fish/.config/fish/functions/git_untracked_files.fish

@@ -1,15 +0,0 @@
-function git_untracked_files -d "Get the number of untracked files in a repository"
-    git_is_repo; and command git ls-files --others --exclude-standard | command awk '
-
-        BEGIN {
-            n = 0
-        }
-
-        { n++ }
-
-        END {
-            print n
-            exit !n
-        }
-    '
-end

+ 3 - 0
fish/.config/fish/functions/sshuttle-cloud100.fish

@@ -0,0 +1,3 @@
+function sshuttle-cloud100
+sshuttle --remote bastion.cloud100.15five.com:155 10.100.0.0/16 --verbose
+end

+ 0 - 47
fish/.config/starship.toml

@@ -1,47 +0,0 @@
-# Don't print a new line at the start of the prompt
-add_newline = false
-
-[hostname]
-ssh_only = true
-disabled = false
-style = "bold green"
-
-[memory_usage]
-show_percentage = true
-show_swap = true
-threshold = -1
-symbol = " "
-style = "bold dimmed green"
-
-[git_branch]
-symbol = "🌱 "
-truncation_length = 8
-truncation_symbol = "~"
-
-[git_status]
-conflicted = "🏳"
-ahead = "🏎💨"
-behind = "😰"
-diverged = "😵"
-untracked = "🤷‍"
-stashed = "📦"
-modified = "📝"
-staged.value = "++"
-staged.style = "green"
-staged_count.enabled = true
-staged_count.style = "green"
-renamed = "👅"
-deleted = "🗑"
-
-[battery]
-full_symbol = "🔋"
-charging_symbol = "⚡️"
-discharging_symbol = "💀"
-
-[[battery.display]]
-threshold = 10
-style = "bold red"
-
-[[battery.display]]
-threshold = 40
-style = "bold yellow"

Some files were not shown because too many files changed in this diff