From e10fe4cb5aae5514e67c6f28ac2c7129a1d935e5 Mon Sep 17 00:00:00 2001 From: "bdzee24@gmail.com" Date: Wed, 25 Jan 2023 20:08:57 -0800 Subject: [PATCH] add fish --- alacritty/{alacritty.yml => .alacritty.yml} | 0 fish/.config/fish/completions/fisher.fish | 7 + .../completions/fzf_configure_bindings.fish | 8 + fish/.config/fish/completions/tide.fish | 12 + fish/.config/fish/conf.d/_tide_init.fish | 41 +++ fish/.config/fish/conf.d/done.fish | 300 ++++++++++++++++++ fish/.config/fish/conf.d/fzf.fish | 28 ++ fish/.config/fish/config.fish | 6 + fish/.config/fish/fish_plugins | 4 + fish/.config/fish/fish_variables | 191 +++++++++++ .../_fzf_configure_bindings_help.fish | 43 +++ .../fish/functions/_fzf_extract_var_info.fish | 15 + .../functions/_fzf_preview_changed_file.fish | 49 +++ .../fish/functions/_fzf_preview_file.fish | 43 +++ .../fish/functions/_fzf_report_diff_type.fish | 16 + .../fish/functions/_fzf_report_file_type.fish | 6 + .../fish/functions/_fzf_search_directory.fish | 34 ++ .../fish/functions/_fzf_search_git_log.fish | 30 ++ .../functions/_fzf_search_git_status.fish | 36 +++ .../fish/functions/_fzf_search_history.fish | 31 ++ .../fish/functions/_fzf_search_processes.fish | 29 ++ .../fish/functions/_fzf_search_variables.fish | 48 +++ fish/.config/fish/functions/_fzf_wrapper.fish | 20 ++ .../fish/functions/_tide_1_line_prompt.fish | 19 ++ .../fish/functions/_tide_2_line_prompt.fish | 31 ++ .../fish/functions/_tide_cache_variables.fish | 17 + .../fish/functions/_tide_detect_os.fish | 75 +++++ .../fish/functions/_tide_find_and_remove.fish | 3 + .../fish/functions/_tide_item_aws.fish | 11 + .../fish/functions/_tide_item_character.fish | 17 + .../fish/functions/_tide_item_chruby.fish | 3 + .../functions/_tide_item_cmd_duration.fish | 12 + .../fish/functions/_tide_item_context.fish | 15 + .../fish/functions/_tide_item_crystal.fish | 4 + .../fish/functions/_tide_item_docker.fish | 5 + .../fish/functions/_tide_item_git.fish | 67 ++++ .../.config/fish/functions/_tide_item_go.fish | 4 + .../fish/functions/_tide_item_java.fish | 4 + .../fish/functions/_tide_item_jobs.fish | 3 + .../fish/functions/_tide_item_kubectl.fish | 4 + .../fish/functions/_tide_item_nix_shell.fish | 3 + .../fish/functions/_tide_item_node.fish | 4 + .../.config/fish/functions/_tide_item_os.fish | 3 + .../fish/functions/_tide_item_php.fish | 4 + .../functions/_tide_item_private_mode.fish | 3 + .../fish/functions/_tide_item_rustc.fish | 4 + .../fish/functions/_tide_item_shlvl.fish | 4 + .../fish/functions/_tide_item_status.fish | 15 + .../fish/functions/_tide_item_terraform.fish | 6 + .../fish/functions/_tide_item_time.fish | 3 + .../fish/functions/_tide_item_toolbox.fish | 3 + .../fish/functions/_tide_item_vi_mode.fish | 16 + .../functions/_tide_item_virtual_env.fish | 11 + .../fish/functions/_tide_parent_dirs.fish | 7 + .../fish/functions/_tide_print_item.fish | 22 ++ fish/.config/fish/functions/_tide_pwd.fish | 37 +++ .../_tide_remove_unusable_items.fish | 21 ++ .../fish/functions/_tide_sub_bug-report.fish | 73 +++++ .../fish/functions/_tide_sub_configure.fish | 95 ++++++ fish/.config/fish/functions/doas.fish | 8 + .../fish/functions/fish_mode_prompt.fish | 1 + fish/.config/fish/functions/fish_prompt.fish | 90 ++++++ fish/.config/fish/functions/fisher.fish | 240 ++++++++++++++ .../functions/fzf_configure_bindings.fish | 46 +++ fish/.config/fish/functions/su.fish | 4 + fish/.config/fish/functions/sudo.fish | 8 + fish/.config/fish/functions/tide.fish | 27 ++ .../tide/configure/choices/all/finish.fish | 33 ++ .../tide/configure/choices/all/icons.fish | 33 ++ .../configure/choices/all/prompt_colors.fish | 26 ++ .../choices/all/prompt_connection.fish | 28 ++ .../prompt_connection_andor_frame_color.fish | 36 +++ .../configure/choices/all/prompt_spacing.fish | 21 ++ .../tide/configure/choices/all/show_time.fish | 31 ++ .../tide/configure/choices/all/style.fish | 57 ++++ .../choices/classic/classic_prompt_color.fish | 38 +++ .../classic/classic_prompt_separators.fish | 40 +++ .../choices/lean/lean_prompt_height.fish | 26 ++ .../powerline/powerline_prompt_frame.fish | 46 +++ .../powerline/powerline_prompt_heads.fish | 40 +++ .../powerline/powerline_prompt_height.fish | 30 ++ .../powerline/powerline_prompt_tails.fish | 48 +++ .../rainbow/rainbow_prompt_separators.fish | 40 +++ .../tide/configure/configs/classic.fish | 133 ++++++++ .../configure/configs/classic_16color.fish | 75 +++++ .../tide/configure/configs/lean.fish | 133 ++++++++ .../tide/configure/configs/lean_16color.fish | 75 +++++ .../tide/configure/configs/rainbow.fish | 133 ++++++++ .../configure/configs/rainbow_16color.fish | 79 +++++ .../functions/_fake_tide_cache_variables.fish | 41 +++ .../functions/_fake_tide_item_character.fish | 5 + .../_fake_tide_item_cmd_duration.fish | 3 + .../functions/_fake_tide_item_git.fish | 3 + .../functions/_fake_tide_item_newline.fish | 5 + .../functions/_fake_tide_item_os.fish | 3 + .../functions/_fake_tide_item_time.fish | 3 + .../functions/_fake_tide_print_item.fish | 22 ++ .../functions/_fake_tide_prompt.fish | 42 +++ .../configure/functions/_fake_tide_pwd.fish | 11 + 99 files changed, 3388 insertions(+) rename alacritty/{alacritty.yml => .alacritty.yml} (100%) create mode 100644 fish/.config/fish/completions/fisher.fish create mode 100644 fish/.config/fish/completions/fzf_configure_bindings.fish create mode 100644 fish/.config/fish/completions/tide.fish create mode 100644 fish/.config/fish/conf.d/_tide_init.fish create mode 100644 fish/.config/fish/conf.d/done.fish create mode 100644 fish/.config/fish/conf.d/fzf.fish create mode 100644 fish/.config/fish/config.fish create mode 100644 fish/.config/fish/fish_plugins create mode 100644 fish/.config/fish/fish_variables create mode 100644 fish/.config/fish/functions/_fzf_configure_bindings_help.fish create mode 100644 fish/.config/fish/functions/_fzf_extract_var_info.fish create mode 100644 fish/.config/fish/functions/_fzf_preview_changed_file.fish create mode 100644 fish/.config/fish/functions/_fzf_preview_file.fish create mode 100644 fish/.config/fish/functions/_fzf_report_diff_type.fish create mode 100644 fish/.config/fish/functions/_fzf_report_file_type.fish create mode 100644 fish/.config/fish/functions/_fzf_search_directory.fish create mode 100644 fish/.config/fish/functions/_fzf_search_git_log.fish create mode 100644 fish/.config/fish/functions/_fzf_search_git_status.fish create mode 100644 fish/.config/fish/functions/_fzf_search_history.fish create mode 100644 fish/.config/fish/functions/_fzf_search_processes.fish create mode 100644 fish/.config/fish/functions/_fzf_search_variables.fish create mode 100644 fish/.config/fish/functions/_fzf_wrapper.fish create mode 100644 fish/.config/fish/functions/_tide_1_line_prompt.fish create mode 100644 fish/.config/fish/functions/_tide_2_line_prompt.fish create mode 100644 fish/.config/fish/functions/_tide_cache_variables.fish create mode 100644 fish/.config/fish/functions/_tide_detect_os.fish create mode 100644 fish/.config/fish/functions/_tide_find_and_remove.fish create mode 100644 fish/.config/fish/functions/_tide_item_aws.fish create mode 100644 fish/.config/fish/functions/_tide_item_character.fish create mode 100644 fish/.config/fish/functions/_tide_item_chruby.fish create mode 100644 fish/.config/fish/functions/_tide_item_cmd_duration.fish create mode 100644 fish/.config/fish/functions/_tide_item_context.fish create mode 100644 fish/.config/fish/functions/_tide_item_crystal.fish create mode 100644 fish/.config/fish/functions/_tide_item_docker.fish create mode 100644 fish/.config/fish/functions/_tide_item_git.fish create mode 100644 fish/.config/fish/functions/_tide_item_go.fish create mode 100644 fish/.config/fish/functions/_tide_item_java.fish create mode 100644 fish/.config/fish/functions/_tide_item_jobs.fish create mode 100644 fish/.config/fish/functions/_tide_item_kubectl.fish create mode 100644 fish/.config/fish/functions/_tide_item_nix_shell.fish create mode 100644 fish/.config/fish/functions/_tide_item_node.fish create mode 100644 fish/.config/fish/functions/_tide_item_os.fish create mode 100644 fish/.config/fish/functions/_tide_item_php.fish create mode 100644 fish/.config/fish/functions/_tide_item_private_mode.fish create mode 100644 fish/.config/fish/functions/_tide_item_rustc.fish create mode 100644 fish/.config/fish/functions/_tide_item_shlvl.fish create mode 100644 fish/.config/fish/functions/_tide_item_status.fish create mode 100644 fish/.config/fish/functions/_tide_item_terraform.fish create mode 100644 fish/.config/fish/functions/_tide_item_time.fish create mode 100644 fish/.config/fish/functions/_tide_item_toolbox.fish create mode 100644 fish/.config/fish/functions/_tide_item_vi_mode.fish create mode 100644 fish/.config/fish/functions/_tide_item_virtual_env.fish create mode 100644 fish/.config/fish/functions/_tide_parent_dirs.fish create mode 100644 fish/.config/fish/functions/_tide_print_item.fish create mode 100644 fish/.config/fish/functions/_tide_pwd.fish create mode 100644 fish/.config/fish/functions/_tide_remove_unusable_items.fish create mode 100644 fish/.config/fish/functions/_tide_sub_bug-report.fish create mode 100644 fish/.config/fish/functions/_tide_sub_configure.fish create mode 100644 fish/.config/fish/functions/doas.fish create mode 100644 fish/.config/fish/functions/fish_mode_prompt.fish create mode 100644 fish/.config/fish/functions/fish_prompt.fish create mode 100644 fish/.config/fish/functions/fisher.fish create mode 100644 fish/.config/fish/functions/fzf_configure_bindings.fish create mode 100644 fish/.config/fish/functions/su.fish create mode 100644 fish/.config/fish/functions/sudo.fish create mode 100644 fish/.config/fish/functions/tide.fish create mode 100644 fish/.config/fish/functions/tide/configure/choices/all/finish.fish create mode 100644 fish/.config/fish/functions/tide/configure/choices/all/icons.fish create mode 100644 fish/.config/fish/functions/tide/configure/choices/all/prompt_colors.fish create mode 100644 fish/.config/fish/functions/tide/configure/choices/all/prompt_connection.fish create mode 100644 fish/.config/fish/functions/tide/configure/choices/all/prompt_connection_andor_frame_color.fish create mode 100644 fish/.config/fish/functions/tide/configure/choices/all/prompt_spacing.fish create mode 100644 fish/.config/fish/functions/tide/configure/choices/all/show_time.fish create mode 100644 fish/.config/fish/functions/tide/configure/choices/all/style.fish create mode 100644 fish/.config/fish/functions/tide/configure/choices/classic/classic_prompt_color.fish create mode 100644 fish/.config/fish/functions/tide/configure/choices/classic/classic_prompt_separators.fish create mode 100644 fish/.config/fish/functions/tide/configure/choices/lean/lean_prompt_height.fish create mode 100644 fish/.config/fish/functions/tide/configure/choices/powerline/powerline_prompt_frame.fish create mode 100644 fish/.config/fish/functions/tide/configure/choices/powerline/powerline_prompt_heads.fish create mode 100644 fish/.config/fish/functions/tide/configure/choices/powerline/powerline_prompt_height.fish create mode 100644 fish/.config/fish/functions/tide/configure/choices/powerline/powerline_prompt_tails.fish create mode 100644 fish/.config/fish/functions/tide/configure/choices/rainbow/rainbow_prompt_separators.fish create mode 100644 fish/.config/fish/functions/tide/configure/configs/classic.fish create mode 100644 fish/.config/fish/functions/tide/configure/configs/classic_16color.fish create mode 100644 fish/.config/fish/functions/tide/configure/configs/lean.fish create mode 100644 fish/.config/fish/functions/tide/configure/configs/lean_16color.fish create mode 100644 fish/.config/fish/functions/tide/configure/configs/rainbow.fish create mode 100644 fish/.config/fish/functions/tide/configure/configs/rainbow_16color.fish create mode 100644 fish/.config/fish/functions/tide/configure/functions/_fake_tide_cache_variables.fish create mode 100644 fish/.config/fish/functions/tide/configure/functions/_fake_tide_item_character.fish create mode 100644 fish/.config/fish/functions/tide/configure/functions/_fake_tide_item_cmd_duration.fish create mode 100644 fish/.config/fish/functions/tide/configure/functions/_fake_tide_item_git.fish create mode 100644 fish/.config/fish/functions/tide/configure/functions/_fake_tide_item_newline.fish create mode 100644 fish/.config/fish/functions/tide/configure/functions/_fake_tide_item_os.fish create mode 100644 fish/.config/fish/functions/tide/configure/functions/_fake_tide_item_time.fish create mode 100644 fish/.config/fish/functions/tide/configure/functions/_fake_tide_print_item.fish create mode 100644 fish/.config/fish/functions/tide/configure/functions/_fake_tide_prompt.fish create mode 100644 fish/.config/fish/functions/tide/configure/functions/_fake_tide_pwd.fish diff --git a/alacritty/alacritty.yml b/alacritty/.alacritty.yml similarity index 100% rename from alacritty/alacritty.yml rename to alacritty/.alacritty.yml diff --git a/fish/.config/fish/completions/fisher.fish b/fish/.config/fish/completions/fisher.fish new file mode 100644 index 0000000..6d23ce4 --- /dev/null +++ b/fish/.config/fish/completions/fisher.fish @@ -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)" diff --git a/fish/.config/fish/completions/fzf_configure_bindings.fish b/fish/.config/fish/completions/fzf_configure_bindings.fish new file mode 100644 index 0000000..ec7db93 --- /dev/null +++ b/fish/.config/fish/completions/fzf_configure_bindings.fish @@ -0,0 +1,8 @@ +complete fzf_configure_bindings --no-files +complete fzf_configure_bindings --long help --short h --description "Print help" +complete fzf_configure_bindings --long directory --description "Change the key binding for searching directory" +complete fzf_configure_bindings --long git_log --description "Change the key binding for searching git log" +complete fzf_configure_bindings --long git_status --description "Change the key binding for searching git status" +complete fzf_configure_bindings --long history --description "Change the key binding for searching history" +complete fzf_configure_bindings --long processes --description "Change the key binding for searching processes" +complete fzf_configure_bindings --long variables --description "Change the key binding for searching variables" diff --git a/fish/.config/fish/completions/tide.fish b/fish/.config/fish/completions/tide.fish new file mode 100644 index 0000000..2d3784d --- /dev/null +++ b/fish/.config/fish/completions/tide.fish @@ -0,0 +1,12 @@ +complete tide --no-files + +set -l subcommands bug-report configure + +complete tide -x -n __fish_use_subcommand -a bug-report -d "Print info for use in bug reports" +complete tide -x -n __fish_use_subcommand -a configure -d "Run the configuration wizard" + +complete tide -x -n "not __fish_seen_subcommand_from $subcommands" -s h -l help -d "Print help message" +complete tide -x -n "not __fish_seen_subcommand_from $subcommands" -s v -l version -d "Print tide version" + +complete tide -x -n '__fish_seen_subcommand_from bug-report' -l clean -d "Run clean Fish instance and install Tide" +complete tide -x -n '__fish_seen_subcommand_from bug-report' -l verbose -d "Print full Tide configuration" diff --git a/fish/.config/fish/conf.d/_tide_init.fish b/fish/.config/fish/conf.d/_tide_init.fish new file mode 100644 index 0000000..939f17c --- /dev/null +++ b/fish/.config/fish/conf.d/_tide_init.fish @@ -0,0 +1,41 @@ +function _tide_init_install --on-event _tide_init_install + set -U VIRTUAL_ENV_DISABLE_PROMPT true + + source (functions --details _tide_sub_configure) + _load_config lean + _tide_finish + + if status is-interactive + tide bug-report --check || sleep 4 + + if contains ilancosman/tide (string lower $_fisher_plugins) + set_color bryellow + echo "ilancosman/tide is a development branch. Please install from a release tag:" + echo -ns "fisher install ilancosman/tide@v5" | fish_indent --ansi + sleep 3 + end + + switch (read --prompt-str="Configure tide prompt? [Y/n] " | string lower) + case y ye yes '' + tide configure + case '*' + echo -s \n 'Run ' (echo -ns "tide configure" | fish_indent --ansi) ' to customize your prompt.' + end + end +end + +function _tide_init_update --on-event _tide_init_update + # Warn users who install from main branch + if contains ilancosman/tide (string lower $_fisher_plugins) + set_color bryellow + echo "ilancosman/tide is a development branch. Please install from a release tag:" + echo -ns "fisher install ilancosman/tide@v5" | fish_indent --ansi + sleep 3 + end +end + +function _tide_init_uninstall --on-event _tide_init_uninstall + set -e VIRTUAL_ENV_DISABLE_PROMPT + set -e (set -U --names | string match --entire -r '^_?tide') + functions --erase (functions --all | string match --entire -r '^_?tide') +end diff --git a/fish/.config/fish/conf.d/done.fish b/fish/.config/fish/conf.d/done.fish new file mode 100644 index 0000000..b1a989b --- /dev/null +++ b/fish/.config/fish/conf.d/done.fish @@ -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 "