Merge pull request #1 from juancwu/ubuntu

General
This commit is contained in:
Jc 2022-12-15 23:20:57 -05:00 committed by GitHub
commit 4137f21be8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
89 changed files with 78 additions and 2943 deletions

View file

@ -1,7 +0,0 @@
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)"

View file

@ -1,12 +0,0 @@
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"

View file

@ -1,41 +0,0 @@
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

View file

@ -1,63 +0,0 @@
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

View file

@ -0,0 +1,3 @@
# Config file for macOS
eval "$(/opt/homebrew/bin/brew shellenv)"

View file

@ -0,0 +1,6 @@
#x-server
set -g DISPLAY $(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
if test -x (command -v npiperelay.exe)
source (dirname (status --current-file))/config-npiperelay.fish
end

View file

@ -0,0 +1,20 @@
# Configure ssh forwarding
set -x SSH_AUTH_SOCK $HOME/.ssh/agent.sock
# use square brackets to generate a regex match for the process we want but that doesn't match the grep command running it!
set ALREADY_RUNNING (ps -aux | grep -q "[n]piperelay.exe -ei -s //./pipe/openssh-ssh-agent"; echo $status)
if [ $ALREADY_RUNNING -ne 0 ]
if [ -S $SSH_AUTH_SOCK ]
# not expecting the socket to exist as the forwarding command isn't running (http://www.tldp.org/LDP/abs/html/fto.html)
# echo "removing previous socket..."
rm $SSH_AUTH_SOCK
end
# echo "Starting SSH-Agent relay..."
# setsid to force new session to keep running
# set socat to listen on $SSH_AUTH_SOCK and forward to npiperelay which then forwards to openssh-ssh-agent on windows
begin
setsid socat UNIX-LISTEN:$SSH_AUTH_SOCK,fork EXEC:"npiperelay.exe -ei -s //./pipe/openssh-ssh-agent",nofork >/dev/null 2>&1 &
end
end

View file

@ -1,14 +1,37 @@
set fish_greeting ""
# >>> conda initialize >>> # >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !! # !! Contents within this block are managed by 'conda init' !!
status is-interactive && eval /Users/jc/miniconda3/bin/conda "shell.fish" "hook" $argv | source status is-interactive && eval $HOME/miniconda3/bin/conda "shell.fish" "hook" $argv | source
# <<< conda initialize <<< # <<< conda initialize <<<
eval "$(/opt/homebrew/bin/brew shellenv)"
# Go # Go
set -g GOPATH $HOME/go set -g GOPATH $HOME/go
# Add gobin to path
fish_add_path $GOPATH/bin
# load configuration files based on OS
switch (uname)
case Darwin
set DARWIN_CONFIG (dirname (status --current-file))/config-darwin.fish
if test -f $DARWIN_CONFIG
source $DARWIN_CONFIG
end
case Linux
set LINUX_CONFIG (dirname (status --current-file))/config-linux.fish
if test -f $LINUX_CONFIG
source $LINUX_CONFIG
end
end
if type -q exa if type -q exa
alias ll "exa -l -g --icons" alias ll "exa -l -g --icons"
alias lla "ll -a" alias lla "ll -a"
end end
# allow local config overwrite
set LOCAL_CONFIG (dirname (status --current-file))/config-local.fish
if test -f $LOCAL_CONFIG
source $LOCAL_CONFIG
end

View file

@ -1,3 +0,0 @@
jorgebucaran/fisher
ilancosman/tide@v5
jethrokuan/z

View file

@ -1,179 +0,0 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR VIRTUAL_ENV_DISABLE_PROMPT:true
SETUVAR ZO_CMD:zo
SETUVAR Z_CMD:z
SETUVAR Z_DATA:/Users/jc/\x2elocal/share/z/data
SETUVAR Z_DATA_DIR:/Users/jc/\x2elocal/share/z
SETUVAR Z_EXCLUDE:\x5e/Users/jc\x24
SETUVAR __fish_initialized:3400
SETUVAR _fisher_ilancosman_2F_tide_40_v5_files:\x7e/\x2econfig/fish/functions/_tide_1_line_prompt\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_2_line_prompt\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_cache_variables\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_detect_os\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_find_and_remove\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_aws\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_character\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_chruby\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_cmd_duration\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_context\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_crystal\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_docker\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_git\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_go\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_java\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_jobs\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_kubectl\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_nix_shell\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_node\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_os\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_php\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_private_mode\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_rustc\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_shlvl\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_status\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_terraform\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_time\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_toolbox\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_vi_mode\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_item_virtual_env\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_parent_dirs\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_print_item\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_pwd\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_remove_unusable_items\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_sub_bug\x2dreport\x2efish\x1e\x7e/\x2econfig/fish/functions/_tide_sub_configure\x2efish\x1e\x7e/\x2econfig/fish/functions/fish_mode_prompt\x2efish\x1e\x7e/\x2econfig/fish/functions/fish_prompt\x2efish\x1e\x7e/\x2econfig/fish/functions/tide\x1e\x7e/\x2econfig/fish/functions/tide\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/_tide_init\x2efish\x1e\x7e/\x2econfig/fish/completions/tide\x2efish
SETUVAR _fisher_jethrokuan_2F_z_files:\x7e/\x2econfig/fish/functions/__z\x2efish\x1e\x7e/\x2econfig/fish/functions/__z_add\x2efish\x1e\x7e/\x2econfig/fish/functions/__z_clean\x2efish\x1e\x7e/\x2econfig/fish/functions/__z_complete\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/z\x2efish
SETUVAR _fisher_jorgebucaran_2F_fisher_files:\x7e/\x2econfig/fish/functions/fisher\x2efish\x1e\x7e/\x2econfig/fish/completions/fisher\x2efish
SETUVAR _fisher_plugins:jorgebucaran/fisher\x1eilancosman/tide\x40v5\x1ejethrokuan/z
SETUVAR _fisher_upgraded_to_4_4:\x1d
SETUVAR _tide_left_items:pwd\x1egit\x1enewline\x1echaracter
SETUVAR _tide_prompt_97074:\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b68\x3b68\x3b68m\ue0b6\x1b\x5b48\x3b2\x3b68\x3b68\x3b68m\x20\x40PWD\x40\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\ue0b1\x1b\x5b48\x3b2\x3b68\x3b68\x3b68m\x20\x1b\x5b37m\x1b\x5b38\x3b2\x3b95\x3b215\x3b0mmain\x1b\x5b38\x3b2\x3b255\x3b0\x3b0m\x1b\x5b38\x3b2\x3b95\x3b215\x3b0m\x1b\x5b38\x3b2\x3b95\x3b215\x3b0m\x1b\x5b38\x3b2\x3b255\x3b0\x3b0m\x1b\x5b38\x3b2\x3b215\x3b175\x3b0m\x1b\x5b38\x3b2\x3b215\x3b175\x3b0m\x1b\x5b38\x3b2\x3b0\x3b175\x3b255m\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b68\x3b68\x3b68m\ue0b0\x1e\x1b\x5b38\x3b2\x3b255\x3b0\x3b0m\u276f\x1e\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b68\x3b68\x3b68m\ue0b2\x1b\x5b38\x3b2\x3b215\x3b0\x3b0m\x1b\x5b48\x3b2\x3b68\x3b68\x3b68m\x20\u2718\x2064\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b68\x3b68\x3b68m\ue0b4
SETUVAR _tide_right_items:status\x1ecmd_duration\x1econtext\x1ejobs\x1evirtual_env\x1ejava\x1ego\x1ekubectl
SETUVAR fish_color_autosuggestion:555\x1ebrblack
SETUVAR fish_color_cancel:\x2dr
SETUVAR fish_color_command:blue
SETUVAR fish_color_comment:red
SETUVAR fish_color_cwd:green
SETUVAR fish_color_cwd_root:red
SETUVAR fish_color_end:green
SETUVAR fish_color_error:brred
SETUVAR fish_color_escape:brcyan
SETUVAR fish_color_history_current:\x2d\x2dbold
SETUVAR fish_color_host:normal
SETUVAR fish_color_host_remote:yellow
SETUVAR fish_color_normal:normal
SETUVAR fish_color_operator:brcyan
SETUVAR fish_color_param:cyan
SETUVAR fish_color_quote:yellow
SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold
SETUVAR fish_color_search_match:\x2d\x2dbackground\x3d111
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
SETUVAR fish_color_status:red
SETUVAR fish_color_user:brgreen
SETUVAR fish_color_valid_path:\x2d\x2dunderline
SETUVAR fish_key_bindings:fish_default_key_bindings
SETUVAR fish_pager_color_completion:normal
SETUVAR fish_pager_color_description:B3A06D\x1eyellow\x1e\x2di
SETUVAR fish_pager_color_prefix:cyan\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
SETUVAR fish_pager_color_selected_background:\x2dr
SETUVAR fish_user_paths:/Users/jc/go/bin
SETUVAR tide_aws_bg_color:444444
SETUVAR tide_aws_color:FF9900
SETUVAR tide_aws_icon:\uf270
SETUVAR tide_character_color:5FD700
SETUVAR tide_character_color_failure:FF0000
SETUVAR tide_character_icon:\u276f
SETUVAR tide_character_vi_icon_default:\u276e
SETUVAR tide_character_vi_icon_replace:\u25b6
SETUVAR tide_character_vi_icon_visual:V
SETUVAR tide_chruby_bg_color:444444
SETUVAR tide_chruby_color:B31209
SETUVAR tide_chruby_icon:\ue23e
SETUVAR tide_cmd_duration_bg_color:444444
SETUVAR tide_cmd_duration_color:87875F
SETUVAR tide_cmd_duration_decimals:0
SETUVAR tide_cmd_duration_icon:\x1d
SETUVAR tide_cmd_duration_threshold:3000
SETUVAR tide_context_always_display:false
SETUVAR tide_context_bg_color:444444
SETUVAR tide_context_color_default:D7AF87
SETUVAR tide_context_color_root:D7AF00
SETUVAR tide_context_color_ssh:D7AF87
SETUVAR tide_context_hostname_parts:1
SETUVAR tide_crystal_bg_color:444444
SETUVAR tide_crystal_color:FFFFFF
SETUVAR tide_crystal_icon:\u2b22
SETUVAR tide_docker_bg_color:444444
SETUVAR tide_docker_color:2496ED
SETUVAR tide_docker_default_contexts:default\x1ecolima
SETUVAR tide_docker_icon:\uf308
SETUVAR tide_git_bg_color:444444
SETUVAR tide_git_bg_color_unstable:444444
SETUVAR tide_git_bg_color_urgent:444444
SETUVAR tide_git_color_branch:5FD700
SETUVAR tide_git_color_conflicted:FF0000
SETUVAR tide_git_color_dirty:D7AF00
SETUVAR tide_git_color_operation:FF0000
SETUVAR tide_git_color_staged:D7AF00
SETUVAR tide_git_color_stash:5FD700
SETUVAR tide_git_color_untracked:00AFFF
SETUVAR tide_git_color_upstream:5FD700
SETUVAR tide_git_icon:\x1d
SETUVAR tide_git_truncation_length:24
SETUVAR tide_go_bg_color:444444
SETUVAR tide_go_color:00ACD7
SETUVAR tide_go_icon:\ue627
SETUVAR tide_java_bg_color:444444
SETUVAR tide_java_color:ED8B00
SETUVAR tide_java_icon:\ue256
SETUVAR tide_jobs_bg_color:444444
SETUVAR tide_jobs_color:5FAF00
SETUVAR tide_jobs_icon:\uf013
SETUVAR tide_kubectl_bg_color:444444
SETUVAR tide_kubectl_color:326CE5
SETUVAR tide_kubectl_icon:\u2388
SETUVAR tide_left_prompt_frame_enabled:false
SETUVAR tide_left_prompt_items:pwd\x1egit\x1enewline\x1echaracter
SETUVAR tide_left_prompt_prefix:\ue0b6
SETUVAR tide_left_prompt_separator_diff_color:\ue0b0
SETUVAR tide_left_prompt_separator_same_color:\ue0b1
SETUVAR tide_left_prompt_suffix:\ue0b0
SETUVAR tide_nix_shell_bg_color:444444
SETUVAR tide_nix_shell_color:7EBAE4
SETUVAR tide_nix_shell_icon:\uf313
SETUVAR tide_node_bg_color:444444
SETUVAR tide_node_color:44883E
SETUVAR tide_node_icon:\u2b22
SETUVAR tide_os_bg_color:444444
SETUVAR tide_os_color:EEEEEE
SETUVAR tide_os_icon:\uf179
SETUVAR tide_php_bg_color:444444
SETUVAR tide_php_color:617CBE
SETUVAR tide_php_icon:\ue608
SETUVAR tide_private_mode_bg_color:444444
SETUVAR tide_private_mode_color:FFFFFF
SETUVAR tide_private_mode_icon:\ufaf8
SETUVAR tide_prompt_add_newline_before:true
SETUVAR tide_prompt_color_frame_and_connection:6C6C6C
SETUVAR tide_prompt_color_separator_same_color:949494
SETUVAR tide_prompt_icon_connection:\x20
SETUVAR tide_prompt_min_cols:34
SETUVAR tide_prompt_pad_items:true
SETUVAR tide_pwd_bg_color:444444
SETUVAR tide_pwd_color_anchors:00AFFF
SETUVAR tide_pwd_color_dirs:0087AF
SETUVAR tide_pwd_color_truncated_dirs:8787AF
SETUVAR tide_pwd_icon:\x1d
SETUVAR tide_pwd_icon_home:\x1d
SETUVAR tide_pwd_icon_unwritable:\uf023
SETUVAR tide_pwd_markers:\x2ebzr\x1e\x2ecitc\x1e\x2egit\x1e\x2ehg\x1e\x2enode\x2dversion\x1e\x2epython\x2dversion\x1e\x2eruby\x2dversion\x1e\x2eshorten_folder_marker\x1e\x2esvn\x1e\x2eterraform\x1eCargo\x2etoml\x1ecomposer\x2ejson\x1eCVS\x1ego\x2emod\x1epackage\x2ejson
SETUVAR tide_right_prompt_frame_enabled:false
SETUVAR tide_right_prompt_items:status\x1ecmd_duration\x1econtext\x1ejobs\x1enode\x1evirtual_env\x1erustc\x1ejava\x1ephp\x1echruby\x1ego\x1ekubectl\x1etoolbox\x1eterraform\x1eaws\x1enix_shell\x1ecrystal
SETUVAR tide_right_prompt_prefix:\ue0b2
SETUVAR tide_right_prompt_separator_diff_color:\ue0b2
SETUVAR tide_right_prompt_separator_same_color:\ue0b3
SETUVAR tide_right_prompt_suffix:\ue0b4
SETUVAR tide_rustc_bg_color:444444
SETUVAR tide_rustc_color:F74C00
SETUVAR tide_rustc_icon:\ue7a8
SETUVAR tide_shlvl_bg_color:444444
SETUVAR tide_shlvl_color:d78700
SETUVAR tide_shlvl_icon:\uf120
SETUVAR tide_shlvl_threshold:1
SETUVAR tide_status_bg_color:444444
SETUVAR tide_status_bg_color_failure:444444
SETUVAR tide_status_color:5FAF00
SETUVAR tide_status_color_failure:D70000
SETUVAR tide_status_icon:\u2714
SETUVAR tide_status_icon_failure:\u2718
SETUVAR tide_terraform_bg_color:444444
SETUVAR tide_terraform_color:844FBA
SETUVAR tide_terraform_icon:\x1d
SETUVAR tide_time_bg_color:444444
SETUVAR tide_time_color:5F8787
SETUVAR tide_time_format:
SETUVAR tide_toolbox_bg_color:444444
SETUVAR tide_toolbox_color:613583
SETUVAR tide_toolbox_icon:\u2b22
SETUVAR tide_vi_mode_bg_color_default:444444
SETUVAR tide_vi_mode_bg_color_insert:444444
SETUVAR tide_vi_mode_bg_color_replace:444444
SETUVAR tide_vi_mode_bg_color_visual:444444
SETUVAR tide_vi_mode_color_default:949494
SETUVAR tide_vi_mode_color_insert:87AFAF
SETUVAR tide_vi_mode_color_replace:87AF87
SETUVAR tide_vi_mode_color_visual:FF8700
SETUVAR tide_vi_mode_icon_default:D
SETUVAR tide_vi_mode_icon_insert:I
SETUVAR tide_vi_mode_icon_replace:R
SETUVAR tide_vi_mode_icon_visual:V
SETUVAR tide_virtual_env_bg_color:444444
SETUVAR tide_virtual_env_color:00AFAF
SETUVAR tide_virtual_env_icon:\ue73c

View file

@ -1,174 +0,0 @@
function __z -d "Jump to a recent directory."
function __print_help -d "Print z help."
printf "Usage: $Z_CMD [-celrth] string1 string2...\n\n"
printf " -c --clean Removes directories that no longer exist from $Z_DATA\n"
printf " -d --dir Opens matching directory using system file manager.\n"
printf " -e --echo Prints best match, no cd\n"
printf " -l --list List matches and scores, no cd\n"
printf " -p --purge Delete all entries from $Z_DATA\n"
printf " -r --rank Search by rank\n"
printf " -t --recent Search by recency\n"
printf " -x --delete Removes the current directory from $Z_DATA\n"
printf " -h --help Print this help\n\n"
end
function __z_legacy_escape_regex
# taken from escape_string_pcre2 in fish
# used to provide compatibility with fish 2
for c in (string split '' $argv)
if contains $c (string split '' '.^$*+()?[{}\\|-]')
printf \\
end
printf '%s' $c
end
end
set -l options h/help c/clean e/echo l/list p/purge r/rank t/recent d/directory x/delete
argparse $options -- $argv
if set -q _flag_help
__print_help
return 0
else if set -q _flag_clean
__z_clean
printf "%s cleaned!\n" $Z_DATA
return 0
else if set -q _flag_purge
echo >$Z_DATA
printf "%s purged!\n" $Z_DATA
return 0
else if set -q _flag_delete
sed -i -e "\:^$PWD|.*:d" $Z_DATA
return 0
end
set -l typ
if set -q _flag_rank
set typ rank
else if set -q _flag_recent
set typ recent
end
set -l z_script '
function frecent(rank, time) {
dx = t-time
if( dx < 3600 ) return rank*4
if( dx < 86400 ) return rank*2
if( dx < 604800 ) return rank/2
return rank/4
}
function output(matches, best_match, common) {
# list or return the desired directory
if( list ) {
cmd = "sort -nr"
for( x in matches ) {
if( matches[x] ) {
printf "%-10s %s\n", matches[x], x | cmd
}
}
} else {
if( common ) best_match = common
print best_match
}
}
function common(matches) {
# find the common root of a list of matches, if it exists
for( x in matches ) {
if( matches[x] && (!short || length(x) < length(short)) ) {
short = x
}
}
if( short == "/" ) return
for( x in matches ) if( matches[x] && index(x, short) != 1 ) {
return
}
return short
}
BEGIN {
hi_rank = ihi_rank = -9999999999
}
{
if( typ == "rank" ) {
rank = $2
} else if( typ == "recent" ) {
rank = $3 - t
} else rank = frecent($2, $3)
if( $1 ~ q ) {
matches[$1] = rank
} else if( tolower($1) ~ tolower(q) ) imatches[$1] = rank
if( matches[$1] && matches[$1] > hi_rank ) {
best_match = $1
hi_rank = matches[$1]
} else if( imatches[$1] && imatches[$1] > ihi_rank ) {
ibest_match = $1
ihi_rank = imatches[$1]
}
}
END {
# prefer case sensitive
if( best_match ) {
output(matches, best_match, common(matches))
} else if( ibest_match ) {
output(imatches, ibest_match, common(imatches))
}
}
'
set -l qs
for arg in $argv
set -l escaped $arg
if string escape --style=regex '' >/dev/null 2>&1 # use builtin escape if available
set escaped (string escape --style=regex $escaped)
else
set escaped (__z_legacy_escape_regex $escaped)
end
# Need to escape twice, see https://www.math.utah.edu/docs/info/gawk_5.html#SEC32
set escaped (string replace --all \\ \\\\ $escaped)
set qs $qs $escaped
end
set -l q (string join '.*' $qs)
if set -q _flag_list
# Handle list separately as it can print common path information to stderr
# which cannot be captured from a subcommand.
command awk -v t=(date +%s) -v list="list" -v typ="$typ" -v q="$q" -F "|" $z_script "$Z_DATA"
return
end
set target (command awk -v t=(date +%s) -v typ="$typ" -v q="$q" -F "|" $z_script "$Z_DATA")
if test "$status" -gt 0
return
end
if test -z "$target"
printf "'%s' did not match any results\n" "$argv"
return 1
end
if set -q _flag_echo
printf "%s\n" "$target"
else if set -q _flag_directory
if test -n "$ZO_METHOD"
type -q "$ZO_METHOD"; and "$ZO_METHOD" "$target"; and return $status
echo "Cannot open with ZO_METHOD set to $ZO_METHOD"; and return 1
else if test "$OS" = Windows_NT
# Be careful, in msys2, explorer always return 1
type -q explorer; and explorer "$target"
return 0
echo "Cannot open file explorer"
return 1
else
type -q xdg-open; and xdg-open "$target"; and return $status
type -q open; and open "$target"; and return $status
echo "Not sure how to open file manager"; and return 1
end
else
pushd "$target"
end
end

View file

@ -1,49 +0,0 @@
function __z_add -d "Add PATH to .z file"
test -n "$fish_private_mode"; and return 0
for i in $Z_EXCLUDE
if string match -r $i $PWD >/dev/null
return 0 #Path excluded
end
end
set -l tmpfile (mktemp $Z_DATA.XXXXXX)
if test -f $tmpfile
set -l path (string replace --all \\ \\\\ $PWD)
command awk -v path=$path -v now=(date +%s) -F "|" '
BEGIN {
rank[path] = 1
time[path] = now
}
$2 >= 1 {
if( $1 == path ) {
rank[$1] = $2 + 1
time[$1] = now
}
else {
rank[$1] = $2
time[$1] = $3
}
count += $2
}
END {
if( count > 1000 ) {
for( i in rank ) print i "|" 0.9*rank[i] "|" time[i] # aging
}
else for( i in rank ) print i "|" rank[i] "|" time[i]
}
' $Z_DATA 2>/dev/null >$tmpfile
if test ! -z "$Z_OWNER"
chown $Z_OWNER:(id -ng $Z_OWNER) $tmpfile
end
#
# Don't use redirection here as it can lead to a race condition where $Z_DATA is clobbered.
# Note: There is a still a possible race condition where an old version of $Z_DATA is
# read by one instance of Fish before another instance of Fish writes its copy.
#
command mv $tmpfile $Z_DATA
or command rm $tmpfile
end
end

View file

@ -1,11 +0,0 @@
function __z_clean -d "Clean up .z file to remove paths no longer valid"
set -l tmpfile (mktemp $Z_DATA.XXXXXX)
if test -f $tmpfile
while read line
set -l path (string split '|' $line)[1]
test -d $path; and echo $line
end <$Z_DATA >$tmpfile
command mv -f $tmpfile $Z_DATA
end
end

View file

@ -1,13 +0,0 @@
function __z_complete -d "add completions"
complete -c $Z_CMD -a "(__z -l | string replace -r '^\\S*\\s*' '')" -f -k
complete -c $ZO_CMD -a "(__z -l | string replace -r '^\\S*\\s*' '')" -f -k
complete -c $Z_CMD -s c -l clean -d "Cleans out $Z_DATA"
complete -c $Z_CMD -s e -l echo -d "Prints best match, no cd"
complete -c $Z_CMD -s l -l list -d "List matches, no cd"
complete -c $Z_CMD -s p -l purge -d "Purges $Z_DATA"
complete -c $Z_CMD -s r -l rank -d "Searches by rank, cd"
complete -c $Z_CMD -s t -l recent -d "Searches by recency, cd"
complete -c $Z_CMD -s h -l help -d "Print help"
complete -c $Z_CMD -s x -l delete -d "Removes the current directory from $Z_DATA"
end

View file

@ -1,19 +0,0 @@
function _tide_1_line_prompt
set -g add_prefix
_tide_side=left for item in $_tide_left_items
_tide_item_$item
end
set_color $prev_bg_color -b normal
echo $tide_left_prompt_suffix
set -g add_prefix
_tide_side=right for item in $_tide_right_items
_tide_item_$item
end
set_color $prev_bg_color -b normal
echo $tide_right_prompt_suffix
end
function _tide_item_pwd
_tide_print_item pwd @PWD@
end

View file

@ -1,31 +0,0 @@
function _tide_2_line_prompt
set -g add_prefix
_tide_side=left for item in $_tide_left_items
_tide_item_$item
end
if not set -e add_prefix
set_color $prev_bg_color -b normal
echo $tide_left_prompt_suffix
end
echo
set -g add_prefix
_tide_side=right for item in $_tide_right_items
_tide_item_$item
end
if not set -e add_prefix
set_color $prev_bg_color -b normal
echo $tide_right_prompt_suffix
end
end
function _tide_item_pwd
_tide_print_item pwd @PWD@
end
function _tide_item_newline
set_color $prev_bg_color -b normal
v=tide_"$_tide_side"_prompt_suffix echo $$v
set -g add_prefix
end

View file

@ -1,17 +0,0 @@
function _tide_cache_variables
# Same-color-separator color
set_color $tide_prompt_color_separator_same_color | read -gx _tide_color_separator_same_color
# git
contains git $_tide_left_items $_tide_right_items && set_color $tide_git_color_branch | read -gx _tide_location_color
# private_mode
if contains private_mode $_tide_left_items $_tide_right_items && test -n "$fish_private_mode"
set -gx _tide_private_mode
else
set -e _tide_private_mode
end
# item padding
test "$tide_prompt_pad_items" = true && set -gx _tide_pad ' ' || set -e _tide_pad
end

View file

@ -1,75 +0,0 @@
# Outputs icon, color, bg_color
function _tide_detect_os
set -lx defaultColor 080808 CED7CF
switch (uname | string lower)
case darwin
printf %s\n  D6D6D6 333333 # from apple.com header
case freebsd openbsd dragonfly
printf %s\n  FFFFFF AB2B28 # https://freebsdfoundation.org/about-us/about-the-foundation/project/
case 'cygwin*'
printf %s\n  FFFFFF 00CCFF # https://answers.microsoft.com/en-us/windows/forum/all/what-is-the-official-windows-8-blue-rgb-or-hex/fd57144b-f69b-42d8-8c21-6ca911646e44
case linux
if test (uname -o) = Android
echo ﲎ # This character is evil and messes up code display, so it's put on its own line
# https://developer.android.com/distribute/marketing-tools/brand-guidelines
printf %s\n 3DDC84 3C3F41 # fg is from above link, bg is from Android Studio default dark theme
else
_tide_detect_os_linux_cases /etc/os-release ID ||
_tide_detect_os_linux_cases /etc/os-release ID_LIKE ||
_tide_detect_os_linux_cases /etc/lsb-release DISTRIB_ID ||
printf %s\n$defaultColor
end
case '*'
echo -ns '?'
end
end
function _tide_detect_os_linux_cases -a file key
test -e $file || return
set -l split_file (string split '=' <$file)
set -l key_index (contains --index $key $split_file) || return
set -l value (string trim --chars='"' $split_file[(math $key_index + 1)])
# Anything which would have pure white background has been changed to D4D4D4
# It was just too bright otherwise
switch (string lower $value)
case alpine
printf %s\n  FFFFFF 0D597F # from alpine logo
case arch
printf %s\n  1793D1 4D4D4D # from arch wiki header
case centos
printf %s\n000000 D4D4D4 # https://wiki.centos.org/ArtWork/Brand/Logo, monochromatic
case debian
printf %s\n  C70036 D4D4D4 # from debian logo https://www.debian.org/logos/openlogo-nd-100.png
case devuan
printf %s\n$defaultColor # logo is monochromatic
case elementary
printf %s\n000000 D4D4D4 # https://elementary.io/brand, encouraged to be monochromatic
case fedora
printf %s\n  FFFFFF 294172 # from logo https://fedoraproject.org/w/uploads/2/2d/Logo_fedoralogo.png
case gentoo
printf %s\n  FFFFFF 54487A # https://wiki.gentoo.org/wiki/Project:Artwork/Colors
case mageia
printf %s\n  FFFFFF 262F45 # https://wiki.mageia.org/en/Artwork_guidelines
case manjaro
printf %s\n  FFFFFF 35BF5C # from https://gitlab.manjaro.org/artwork/branding/logo/-/blob/master/logo.svg
case mint
printf %s\n  FFFFFF 69B53F # extracted from https://linuxmint.com/web/img/favicon.ico
case nixos
printf %s\n  FFFFFF 5277C3 # https://github.com/NixOS/nixos-artwork/tree/master/logo
case opensuse-leap opensuse-tumbleweed
printf %s\n  73BA25 173f4f # https://en.opensuse.org/openSUSE:Artwork_brand
case raspbian
printf %s\n  FFFFFF A22846 # https://static.raspberrypi.org/files/Raspberry_Pi_Visual_Guidelines_2020.pdf
case rhel
printf %s\n  EE0000 000000 # https://www.redhat.com/en/about/brand/standards/color
case sabayon
printf %s\n$defaultColor # Can't find colors, and they are rebranding anyway
case slackware
printf %s\n$defaultColor # Doesn't really have a logo, and the colors are too close to PWD blue anyway
case ubuntu
printf %s\n  E95420 D4D4D4 # https://design.ubuntu.com/brand/
case '*'
return 1
end
end

View file

@ -1,3 +0,0 @@
function _tide_find_and_remove -a name list --no-scope-shadowing
contains --index $name $$list | read -l index && set -e "$list"[$index]
end

View file

@ -1,11 +0,0 @@
function _tide_item_aws
# AWS_PROFILE overrides AWS_DEFAULT_PROFILE, AWS_REGION overrides AWS_DEFAULT_REGION
set -q AWS_PROFILE && set -l AWS_DEFAULT_PROFILE $AWS_PROFILE
set -q AWS_REGION && set -l AWS_DEFAULT_REGION $AWS_REGION
if test -n "$AWS_DEFAULT_PROFILE" && test -n "$AWS_DEFAULT_REGION"
_tide_print_item aws $tide_aws_icon' ' "$AWS_DEFAULT_PROFILE/$AWS_DEFAULT_REGION"
else if test -n "$AWS_DEFAULT_PROFILE$AWS_DEFAULT_REGION"
_tide_print_item aws $tide_aws_icon' ' "$AWS_DEFAULT_PROFILE$AWS_DEFAULT_REGION"
end
end

View file

@ -1,17 +0,0 @@
function _tide_item_character
test $_tide_status = 0 && set_color $tide_character_color || set_color $tide_character_color_failure
set -q add_prefix || echo -ns ' '
test "$fish_key_bindings" = fish_default_key_bindings && echo -ns $tide_character_icon ||
switch $fish_bind_mode
case insert
echo -ns $tide_character_icon
case default
echo -ns $tide_character_vi_icon_default
case replace replace_one
echo -ns $tide_character_vi_icon_replace
case visual
echo -ns $tide_character_vi_icon_visual
end
end

View file

@ -1,3 +0,0 @@
function _tide_item_chruby
test -n "$RUBY_VERSION" && _tide_print_item chruby $tide_chruby_icon' ' $RUBY_VERSION
end

View file

@ -1,12 +0,0 @@
function _tide_item_cmd_duration
test $CMD_DURATION -gt $tide_cmd_duration_threshold && t=(
math -s0 "$CMD_DURATION/3600000" # Hours
math -s0 "$CMD_DURATION/60000"%60 # Minutes
math -s$tide_cmd_duration_decimals "$CMD_DURATION/1000"%60) if test $t[1] != 0
_tide_print_item cmd_duration $tide_cmd_duration_icon' ' "$t[1]h $t[2]m $t[3]s"
else if test $t[2] != 0
_tide_print_item cmd_duration $tide_cmd_duration_icon' ' "$t[2]m $t[3]s"
else
_tide_print_item cmd_duration $tide_cmd_duration_icon' ' "$t[3]s"
end
end

View file

@ -1,15 +0,0 @@
function _tide_item_context
if set -q SSH_TTY
set -lx tide_context_color $tide_context_color_ssh
test "$tide_context_hostname_parts" = 0 && _tide_print_item context $USER ||
h=(string split . $hostname) _tide_print_item context $USER@(string join . $h[..$tide_context_hostname_parts])
else if test "$EUID" = 0
set -lx tide_context_color $tide_context_color_root
test "$tide_context_hostname_parts" = 0 && _tide_print_item context $USER ||
h=(string split . $hostname) _tide_print_item context $USER@(string join . $h[..$tide_context_hostname_parts])
else if test "$tide_context_always_display" = true
set -lx tide_context_color $tide_context_color_default
test "$tide_context_hostname_parts" = 0 && _tide_print_item context $USER ||
h=(string split . $hostname) _tide_print_item context $USER@(string join . $h[..$tide_context_hostname_parts])
end
end

View file

@ -1,4 +0,0 @@
function _tide_item_crystal
path is $_tide_parent_dirs/shard.yml &&
_tide_print_item crystal $tide_crystal_icon' ' (crystal --version | string match -r "[\d.]+")[1]
end

View file

@ -1,5 +0,0 @@
function _tide_item_docker
docker context inspect --format '{{.Name}}' | read -l context
contains -- "$context" $tide_docker_default_contexts ||
_tide_print_item docker $tide_docker_icon' ' $context
end

View file

@ -1,67 +0,0 @@
function _tide_item_git
if git branch --show-current 2>/dev/null | string replace -r ".+(.{$tide_git_truncation_length})" '…$1' | read -l location
git rev-parse --git-dir --is-inside-git-dir | read -fL gdir in_gdir
set location $_tide_location_color$location
else if test $pipestatus[1] != 0
return
else if git tag --points-at HEAD | string replace -r ".+(.{$tide_git_truncation_length})" '…$1' | read location
git rev-parse --git-dir --is-inside-git-dir | read -fL gdir in_gdir
set location '#'$_tide_location_color$location
else
git rev-parse --git-dir --is-inside-git-dir --short HEAD | read -fL gdir in_gdir location
set location @$_tide_location_color$location
end
# Operation
if test -d $gdir/rebase-merge
read -f step <$gdir/rebase-merge/msgnum
read -f total_steps <$gdir/rebase-merge/end
test -f $gdir/rebase-merge/interactive && set -f operation rebase-i || set -f operation rebase-m
else if test -d $gdir/rebase-apply
read -f step <$gdir/rebase-apply/next
read -f total_steps <$gdir/rebase-apply/last
if test -f $gdir/rebase-apply/rebasing
set -f operation rebase
else if test -f $gdir/rebase-apply/applying
set -f operation am
else
set -f operation am/rebase
end
else if test -f $gdir/MERGE_HEAD
set -f operation merge
else if test -f $gdir/CHERRY_PICK_HEAD
set -f operation cherry-pick
else if test -f $gdir/REVERT_HEAD
set -f operation revert
else if test -f $gdir/BISECT_LOG
set -f operation bisect
end
# Git status/stash + Upstream behind/ahead
test $in_gdir = true && set -l _set_dir_opt -C $gdir/..
# Suppress errors in case we are in a bare repo or there is no upstream
stat=(git $_set_dir_opt --no-optional-locks status --porcelain 2>/dev/null) \
string match -qr '(0|(?<stash>.*))\n(0|(?<conflicted>.*))\n(0|(?<staged>.*))
(0|(?<dirty>.*))\n(0|(?<untracked>.*))(\n(0|(?<behind>.*))\t(0|(?<ahead>.*)))?' \
"$(git $_set_dir_opt stash list 2>/dev/null | count
string match -r ^UU $stat | count
string match -r ^[ADMR]. $stat | count
string match -r ^.[ADMR] $stat | count
string match -r '^\?\?' $stat | count
git rev-list --count --left-right @{upstream}...HEAD 2>/dev/null)"
if test -n "$operation$conflicted"
set -g tide_git_bg_color $tide_git_bg_color_urgent
else if test -n "$staged$dirty$untracked"
set -g tide_git_bg_color $tide_git_bg_color_unstable
end
_tide_print_item git $_tide_location_color$tide_git_icon' ' (set_color white; echo -ns $location
set_color $tide_git_color_operation; echo -ns ' '$operation ' '$step/$total_steps
set_color $tide_git_color_upstream; echo -ns ' ⇣'$behind ' ⇡'$ahead
set_color $tide_git_color_stash; echo -ns ' *'$stash
set_color $tide_git_color_conflicted; echo -ns ' ~'$conflicted
set_color $tide_git_color_staged; echo -ns ' +'$staged
set_color $tide_git_color_dirty; echo -ns ' !'$dirty
set_color $tide_git_color_untracked; echo -ns ' ?'$untracked)
end

View file

@ -1,4 +0,0 @@
function _tide_item_go
path is $_tide_parent_dirs/go.mod &&
_tide_print_item go $tide_go_icon' ' (go version | string match -r "[\d.]+")
end

View file

@ -1,4 +0,0 @@
function _tide_item_java
path is $_tide_parent_dirs/pom.xml &&
_tide_print_item java $tide_java_icon' ' (java -version &| string match -r "[\d.]+")[1]
end

View file

@ -1,3 +0,0 @@
function _tide_item_jobs
set -q _tide_jobs && _tide_print_item jobs $tide_jobs_icon
end

View file

@ -1,4 +0,0 @@
function _tide_item_kubectl
kubectl config view --minify --output 'jsonpath={.current-context}/{..namespace}' 2>/dev/null | read -l context &&
_tide_print_item kubectl $tide_kubectl_icon' ' (string replace -r '/(|default)$' '' $context)
end

View file

@ -1,3 +0,0 @@
function _tide_item_nix_shell
set -q IN_NIX_SHELL && _tide_print_item nix_shell $tide_nix_shell_icon' ' $IN_NIX_SHELL
end

View file

@ -1,4 +0,0 @@
function _tide_item_node
path is $_tide_parent_dirs/package.json &&
_tide_print_item node $tide_node_icon' ' (node --version | string trim --chars=v)
end

View file

@ -1,3 +0,0 @@
function _tide_item_os
_tide_print_item os $tide_os_icon
end

View file

@ -1,4 +0,0 @@
function _tide_item_php
path is $_tide_parent_dirs/composer.json &&
_tide_print_item php $tide_php_icon' ' (php --version | string match -r 'PHP ([\d.]+)')[2]
end

View file

@ -1,3 +0,0 @@
function _tide_item_private_mode
set -q _tide_private_mode && _tide_print_item private_mode $tide_private_mode_icon
end

View file

@ -1,4 +0,0 @@
function _tide_item_rustc
path is $_tide_parent_dirs/Cargo.toml &&
_tide_print_item rustc $tide_rustc_icon' ' (rustc --version | string split ' ')[2]
end

View file

@ -1,4 +0,0 @@
function _tide_item_shlvl
# Non-interactive shells do not increment SHLVL, so we don't need to subtract 1
test $SHLVL -gt $tide_shlvl_threshold && _tide_print_item shlvl $tide_shlvl_icon' ' $SHLVL
end

View file

@ -1,15 +0,0 @@
function _tide_item_status
if string match -qv 0 $_tide_pipestatus # If there is a failure anywhere in the pipestatus
if test "$_tide_pipestatus" = 1 # If simple failure
contains character $_tide_left_items || tide_status_bg_color=$tide_status_bg_color_failure \
tide_status_color=$tide_status_color_failure _tide_print_item status $tide_status_icon_failure' ' 1
else
fish_status_to_signal $_tide_pipestatus | string replace SIG '' | string join '|' | read -l out
test $_tide_status = 0 && _tide_print_item status $tide_status_icon' ' $out ||
tide_status_bg_color=$tide_status_bg_color_failure tide_status_color=$tide_status_color_failure \
_tide_print_item status $tide_status_icon_failure' ' $out
end
else if not contains character $_tide_left_items
_tide_print_item status $tide_status_icon
end
end

View file

@ -1,6 +0,0 @@
function _tide_item_terraform
if path is $_tide_parent_dirs/.terraform
terraform workspace show | read -l workspace
test $workspace != default && _tide_print_item terraform $tide_terraform_icon' ' $workspace
end
end

View file

@ -1,3 +0,0 @@
function _tide_item_time
_tide_print_item time (date +$tide_time_format)
end

View file

@ -1,3 +0,0 @@
function _tide_item_toolbox
test -e /run/.toolboxenv && _tide_print_item toolbox $tide_toolbox_icon' ' $hostname
end

View file

@ -1,16 +0,0 @@
function _tide_item_vi_mode
test "$fish_key_bindings" != fish_default_key_bindings && switch $fish_bind_mode
case default
tide_vi_mode_bg_color=$tide_vi_mode_bg_color_default tide_vi_mode_color=$tide_vi_mode_color_default \
_tide_print_item vi_mode $tide_vi_mode_icon_default
case insert
tide_vi_mode_bg_color=$tide_vi_mode_bg_color_insert tide_vi_mode_color=$tide_vi_mode_color_insert \
_tide_print_item vi_mode $tide_vi_mode_icon_insert
case replace replace_one
tide_vi_mode_bg_color=$tide_vi_mode_bg_color_replace tide_vi_mode_color=$tide_vi_mode_color_replace \
_tide_print_item vi_mode $tide_vi_mode_icon_replace
case visual
tide_vi_mode_bg_color=$tide_vi_mode_bg_color_visual tide_vi_mode_color=$tide_vi_mode_color_visual \
_tide_print_item vi_mode $tide_vi_mode_icon_visual
end
end

View file

@ -1,11 +0,0 @@
function _tide_item_virtual_env
test -n "$VIRTUAL_ENV" && split_virtual_env=(string split / "$VIRTUAL_ENV") if test $split_virtual_env[-2] = virtualenvs
# pipenv $VIRTUAL_ENV looks like /home/ilan/.local/share/virtualenvs/pipenv_project-EwRYuc3l
# Detect whether we are using pipenv by looking for virtualenvs. If so, remove the hash at the end.
_tide_print_item virtual_env $tide_virtual_env_icon' ' (string split -r -m1 - "$split_virtual_env[-1]")[1]
else if contains -- $split_virtual_env[-1] virtualenv venv .venv env # avoid generic names
_tide_print_item virtual_env $tide_virtual_env_icon' ' $split_virtual_env[-2]
else
_tide_print_item virtual_env $tide_virtual_env_icon' ' $split_virtual_env[-1]
end
end

View file

@ -1,7 +0,0 @@
function _tide_parent_dirs --on-variable PWD
set -g _tide_parent_dirs (string escape (
for dir in (string split / -- $PWD)
set -la parts $dir
string join / -- $parts
end))
end

View file

@ -1,22 +0,0 @@
function _tide_print_item -a item
v=tide_"$item"_bg_color set -f item_bg_color $$v
if set -e add_prefix
set_color $item_bg_color -b normal
v=tide_"$_tide_side"_prompt_prefix echo -ns $$v
else if test "$item_bg_color" = "$prev_bg_color"
v=tide_"$_tide_side"_prompt_separator_same_color echo -ns $_tide_color_separator_same_color$$v
else if test $_tide_side = left
set_color $prev_bg_color -b $item_bg_color
echo -ns $tide_left_prompt_separator_diff_color
else
set_color $item_bg_color -b $prev_bg_color
echo -ns $tide_right_prompt_separator_diff_color
end
v=tide_"$item"_color set_color $$v -b $item_bg_color
echo -ns $_tide_pad $argv[2..] $_tide_pad
set -g prev_bg_color $item_bg_color
end

View file

@ -1,37 +0,0 @@
set_color -o $tide_pwd_color_anchors | read -l color_anchors
set_color $tide_pwd_color_truncated_dirs | read -l color_truncated
set -l reset_to_color_dirs (set_color normal -b $tide_pwd_bg_color; set_color $tide_pwd_color_dirs)
set -l unwritable_icon $tide_pwd_icon_unwritable' '
set -l home_icon $tide_pwd_icon_home' '
set -l pwd_icon $tide_pwd_icon' '
eval "function _tide_pwd
if set -l split_pwd (string replace -r '^$HOME' '~' -- \$PWD | string split /)
test -w . && set -f split_output \"$pwd_icon\$split_pwd[1]\" \$split_pwd[2..] ||
set -f split_output \"$unwritable_icon\$split_pwd[1]\" \$split_pwd[2..]
set split_output[-1] \"$color_anchors\$split_output[-1]$reset_to_color_dirs\"
else
set -f split_output \"$home_icon$color_anchors~\"
end
string join / -- \$split_output | string length -V | read -g _tide_pwd_len
i=1 for dir_section in \$split_pwd[2..-2]
string join -- / \$split_pwd[..\$i] | string replace '~' $HOME | read -l parent_dir # Uses i before increment
math \$i+1 | read i
if path is \$parent_dir/\$dir_section/\$tide_pwd_markers
set split_output[\$i] \"$color_anchors\$dir_section$reset_to_color_dirs\"
else if test \$_tide_pwd_len -gt \$dist_btwn_sides
set -l trunc
while string match -qr \"(?<trunc>\$trunc.)\" \$dir_section && v=\$parent_dir/\$trunc*/ set -q v[2]
end
test -n \"\$trunc\" && set split_output[\$i] \"$color_truncated\$trunc$reset_to_color_dirs\" &&
string join / \$split_output | string length -V | read _tide_pwd_len
end
end
string join -- / \"$reset_to_color_dirs\$split_output[1]\" \$split_output[2..]
end"

View file

@ -1,21 +0,0 @@
function _tide_remove_unusable_items
# Remove tool-specific items for tools the machine doesn't have installed
set -l removed_items
for item in aws chruby crystal docker git go java kubectl nix_shell node php rustc terraform toolbox virtual_env
set -l cli_names $item
switch $item
case virtual_env
set cli_names python python3
case nix_shell
set cli_names nix nix-shell
end
type --query $cli_names || set -a removed_items $item
end
set -U _tide_left_items (for item in $tide_left_prompt_items
contains $item $removed_items || echo $item
end)
set -U _tide_right_items (for item in $tide_right_prompt_items
contains $item $removed_items || echo $item
end)
end

View file

@ -1,73 +0,0 @@
function _tide_sub_bug-report
argparse c/clean v/verbose check -- $argv
set -l fish_path (status fish-path)
if set -q _flag_clean
HOME=(mktemp -d) $fish_path --init-command "curl --silent \
https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish |
source && fisher install ilancosman/tide@v5"
else if set -q _flag_verbose
set --long | string match -r "^_?tide.*" | # Get only tide variables
string match -r --invert "^_tide_prompt_var.*" # Remove _tide_prompt_var
else
set -l fish_version ($fish_path --version | string match -r "fish, version (\d\.\d\.\d)")[2]
_tide_check_version Fish fish-shell/fish-shell "(\d\.\d\.\d)" $fish_version || return
set -l tide_version (tide --version | string match -r "tide, version (\d\.\d\.\d)")[2]
_tide_check_version Tide IlanCosman/tide "v(\d\.\d\.\d)" $tide_version || return
if command --query git
test (git --version | string match -r "git version ([\d\.]*)" | string replace --all . '')[2] -gt 2220
_tide_check_condition \
"Your git version is too old." \
"Tide requires at least version 2.22." \
"Please update before submitting a bug report." || return
end
# Check that omf is not installed
not functions --query omf
_tide_check_condition \
"Tide does not work with oh-my-fish installed." \
"Please uninstall it before submitting a bug report." || return
if not set -q _flag_check
set -l fish_startup_time ($fish_path -ic "time $fish_path -c exit" 2>|
string match -r "Executed in(.*)fish" | string trim)[2]
read --local --prompt-str "What operating system are you using? (e.g Ubuntu 20.04): " os
read --local --prompt-str "What terminal emulator are you using? (e.g Kitty): " terminal_emulator
printf '%b\n' "\nPlease copy the following information into the issue:\n" \
"fish version: $fish_version" \
"tide version: $tide_version" \
"term: $TERM" \
"os: $os" \
"terminal emulator: $terminal_emulator" \
"fish startup: $fish_startup_time" \
"fisher plugins: $_fisher_plugins"
end
end
end
function _tide_check_version -a program_name repo_name regex_to_get_version current_version
curl --silent https://github.com/$repo_name/releases/latest |
string match -r ".*$repo_name/releases/tag/$regex_to_get_version.*" |
read --local --line __ latestVersion
string match --quiet -r "^$latestVersion" "$current_version"
_tide_check_condition \
"Your $program_name version is out of date." \
"The latest is $latestVersion. You have $current_version." \
"Please update before submitting a bug report."
end
function _tide_check_condition
if test "$status" != 0
set_color red
printf '%s\n' $argv
set_color normal
return 1
end
return 0
end

View file

@ -1,95 +0,0 @@
set -g _tide_color_dark_blue 0087AF
set -g _tide_color_dark_green 5FAF00
set -g _tide_color_gold D7AF00
set -g _tide_color_green 5FD700
set -g _tide_color_light_blue 00AFFF
# Create an empty fake function for each item
for func in _fake(functions --all | string match --entire _tide_item)
function $func
end
end
for file in (status dirname)/tide/configure/{choices, functions}/**.fish
source $file
end
function _tide_sub_configure
if test $COLUMNS -lt 55 -o $LINES -lt 21
echo 'Terminal size too small; must be at least 55 x 21'
return 1
end
_tide_detect_os | read -g --line os_branding_icon os_branding_color os_branding_bg_color
set -g fake_columns $COLUMNS
test $fake_columns -gt 90 && set fake_columns 90
set -g fake_lines $LINES
set -g _tide_selected_option
_next_choice all/style
end
function _next_choice -a nextChoice
set -q _tide_selected_option || return 0
set -l cmd (string split '/' $nextChoice)[2]
$cmd
end
function _tide_title -a text
command -q clear && clear
set_color -o
string pad --width (math --scale=0 "$fake_columns/2" + (string length $text)/2) $text
set_color normal
end
function _tide_option -a symbol text
set -ga _tide_option_list $symbol
set_color -o
echo "($symbol) $text"
set_color normal
end
function _tide_menu
set -l list_with_slashes (string join '/' $_tide_option_list)
echo '(r) Restart from the beginning'
echo '(q) Quit and do nothing'\n
while true
set_color -o
read --nchars 1 --prompt-str "Choice [$list_with_slashes/r/q] " input
set_color normal
switch $input
case r
set -e _tide_option_list
_next_choice all/style
break
case q
set -e _tide_selected_option # Skip through all the _next_choices
set -e _tide_option_list
command -q clear && clear
break
case $_tide_option_list
set -e _tide_option_list
set -g _tide_selected_option $input
break
end
end
end
function _tide_display_prompt -a var_name var_value
test -n "$var_name" && set -g $var_name $var_value
_fake_tide_cache_variables
set -l prompt (_fake_tide_prompt)
set -l bottom_left_prompt_string_length (string length --visible $prompt[-1])
set -l right_prompt_string (string pad --width (math $fake_columns-$bottom_left_prompt_string_length) $prompt[1])
set -l prompt[-1] "$prompt[-1]$right_prompt_string"
string unescape $prompt[2..]
set_color normal
echo
end

View file

@ -1 +0,0 @@
# Disable default vi prompt

View file

@ -1,90 +0,0 @@
function fish_prompt
end # In case this file gets loaded non-interactively, e.g by conda
status is-interactive || exit
_tide_remove_unusable_items
_tide_cache_variables
_tide_parent_dirs
source (functions --details _tide_pwd)
set -l prompt_var _tide_prompt_$fish_pid
set -U $prompt_var # Set var here so if we erase $prompt_var, bg job won't set a uvar
set_color normal | read -l color_normal
status fish-path | read -l fish_path
# _tide_repaint prevents us from creating a second background job
function _tide_refresh_prompt --on-variable $prompt_var --on-variable COLUMNS
set -g _tide_repaint
commandline -f repaint
end
if contains newline $_tide_left_items # two line prompt initialization
test "$tide_prompt_add_newline_before" = true && set -l add_newline '\n'
set_color $tide_prompt_color_frame_and_connection -b normal | read -l prompt_and_frame_color
set -l column_offset 5
test "$tide_left_prompt_frame_enabled" = true &&
set -l top_left_frame "$prompt_and_frame_color╭─" &&
set -l bot_left_frame "$prompt_and_frame_color╰─" &&
set column_offset (math $column_offset-2)
test "$tide_right_prompt_frame_enabled" = true &&
set -l top_right_frame "$prompt_and_frame_color─╮" &&
set -l bot_right_frame "$prompt_and_frame_color─╯" &&
set column_offset (math $column_offset-2)
eval "
function fish_prompt
_tide_status=\$status _tide_pipestatus=\$pipestatus if not set -e _tide_repaint
jobs -q && set -lx _tide_jobs
$fish_path -c \"set _tide_pipestatus \$_tide_pipestatus
set _tide_parent_dirs \$_tide_parent_dirs
PATH=\$(string escape \"\$PATH\") CMD_DURATION=\$CMD_DURATION fish_bind_mode=\$fish_bind_mode set $prompt_var (_tide_2_line_prompt)\" &
builtin disown
command kill \$_tide_last_pid 2>/dev/null
set -g _tide_last_pid \$last_pid
end
math \$COLUMNS-(string length -V \"\$$prompt_var[1][1]\$$prompt_var[1][3]\")+$column_offset | read -lx dist_btwn_sides
echo -ns $add_newline'$top_left_frame'(string replace @PWD@ (_tide_pwd) \"\$$prompt_var[1][1]\")'$prompt_and_frame_color'
string repeat -Nm(math max 0, \$dist_btwn_sides-\$_tide_pwd_len) '$tide_prompt_icon_connection'
echo -ns \"\$$prompt_var[1][3]$top_right_frame\"\n\"$bot_left_frame\$$prompt_var[1][2]$color_normal \"
end
function fish_right_prompt
string unescape \"\$$prompt_var[1][4]$bot_right_frame$color_normal\"
end"
else # one line prompt initialization
test "$tide_prompt_add_newline_before" = true && set -l add_newline '\0'
math 5 -$tide_prompt_min_cols | read -l column_offset
test $column_offset -ge 0 && set column_offset "+$column_offset"
eval "
function fish_prompt
_tide_status=\$status _tide_pipestatus=\$pipestatus if not set -e _tide_repaint
jobs -q && set -lx _tide_jobs
$fish_path -c \"set _tide_pipestatus \$_tide_pipestatus
set _tide_parent_dirs \$_tide_parent_dirs
PATH=\$(string escape \"\$PATH\") CMD_DURATION=\$CMD_DURATION fish_bind_mode=\$fish_bind_mode set $prompt_var (_tide_1_line_prompt)\" &
builtin disown
command kill \$_tide_last_pid 2>/dev/null
set -g _tide_last_pid \$last_pid
end
math \$COLUMNS-(string length -V \"\$$prompt_var[1][1]\$$prompt_var[1][2]\")$column_offset | read -lx dist_btwn_sides
string replace @PWD@ (_tide_pwd) $add_newline \$$prompt_var[1][1]'$color_normal '
end
function fish_right_prompt
string unescape \"\$$prompt_var[1][2]$color_normal\"
end"
end
eval "function _tide_on_fish_exit --on-event fish_exit
set -e $prompt_var
end"

View file

@ -1,10 +1,11 @@
function fish_user_key_bindings function fish_user_key_bindings
# bind peco functionalities # bind peco functionalities
# search directoies # search directories
bind \cf peco_change_directory bind \cf peco_change_directory
# search commandline history
bind \cr peco_select_history
# prevent iterm close window with ctrl + d # search commandline history
bind \cr peco_select_hisotry
# prevent iterm close window with ctrl+d
bind \cd delete-char bind \cd delete-char
end end

View file

@ -1,240 +0,0 @@
function fisher --argument-names cmd --description "A plugin manager for Fish"
set --query fisher_path || set --local fisher_path $__fish_config_dir
set --local fisher_version 4.4.3
set --local fish_plugins $__fish_config_dir/fish_plugins
switch "$cmd"
case -v --version
echo "fisher, version $fisher_version"
case "" -h --help
echo "Usage: fisher install <plugins...> Install plugins"
echo " fisher remove <plugins...> Remove installed plugins"
echo " fisher update <plugins...> Update installed plugins"
echo " fisher update Update all installed plugins"
echo " fisher list [<regex>] List installed plugins matching regex"
echo "Options:"
echo " -v or --version Print version"
echo " -h or --help Print this help message"
echo "Variables:"
echo " \$fisher_path Plugin installation path. Default: $__fish_config_dir" | string replace --regex -- $HOME \~
case ls list
string match --entire --regex -- "$argv[2]" $_fisher_plugins
case install update remove
isatty || read --local --null --array stdin && set --append argv $stdin
set --local install_plugins
set --local update_plugins
set --local remove_plugins
set --local arg_plugins $argv[2..-1]
set --local old_plugins $_fisher_plugins
set --local new_plugins
test -e $fish_plugins && set --local file_plugins (string match --regex -- '^[^\s]+$' <$fish_plugins)
if ! set --query argv[2]
if test "$cmd" != update
echo "fisher: Not enough arguments for command: \"$cmd\"" >&2 && return 1
else if ! set --query file_plugins
echo "fisher: \"$fish_plugins\" file not found: \"$cmd\"" >&2 && return 1
end
set arg_plugins $file_plugins
end
for plugin in $arg_plugins
set plugin (test -e "$plugin" && realpath $plugin || string lower -- $plugin)
contains -- "$plugin" $new_plugins || set --append new_plugins $plugin
end
if set --query argv[2]
for plugin in $new_plugins
if contains -- "$plugin" $old_plugins
test "$cmd" = remove &&
set --append remove_plugins $plugin ||
set --append update_plugins $plugin
else if test "$cmd" = install
set --append install_plugins $plugin
else
echo "fisher: Plugin not installed: \"$plugin\"" >&2 && return 1
end
end
else
for plugin in $new_plugins
contains -- "$plugin" $old_plugins &&
set --append update_plugins $plugin ||
set --append install_plugins $plugin
end
for plugin in $old_plugins
contains -- "$plugin" $new_plugins || set --append remove_plugins $plugin
end
end
set --local pid_list
set --local source_plugins
set --local fetch_plugins $update_plugins $install_plugins
set --local fish_path (status fish-path)
echo (set_color --bold)fisher $cmd version $fisher_version(set_color normal)
for plugin in $fetch_plugins
set --local source (command mktemp -d)
set --append source_plugins $source
command mkdir -p $source/{completions,conf.d,themes,functions}
$fish_path --command "
if test -e $plugin
command cp -Rf $plugin/* $source
else
set temp (command mktemp -d)
set repo (string split -- \@ $plugin) || set repo[2] HEAD
if set path (string replace --regex -- '^(https://)?gitlab.com/' '' \$repo[1])
set name (string split -- / \$path)[-1]
set url https://gitlab.com/\$path/-/archive/\$repo[2]/\$name-\$repo[2].tar.gz
else
set url https://api.github.com/repos/\$repo[1]/tarball/\$repo[2]
end
echo Fetching (set_color --underline)\$url(set_color normal)
if curl --silent -L \$url | tar -xzC \$temp -f - 2>/dev/null
command cp -Rf \$temp/*/* $source
else
echo fisher: Invalid plugin name or host unavailable: \\\"$plugin\\\" >&2
command rm -rf $source
end
command rm -rf \$temp
end
set files $source/* && string match --quiet --regex -- .+\.fish\\\$ \$files
" &
set --append pid_list (jobs --last --pid)
end
wait $pid_list 2>/dev/null
for plugin in $fetch_plugins
if set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)] && test ! -e $source
if set --local index (contains --index -- "$plugin" $install_plugins)
set --erase install_plugins[$index]
else
set --erase update_plugins[(contains --index -- "$plugin" $update_plugins)]
end
end
end
for plugin in $update_plugins $remove_plugins
if set --local index (contains --index -- "$plugin" $_fisher_plugins)
set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files
if contains -- "$plugin" $remove_plugins
for name in (string replace --filter --regex -- '.+/conf\.d/([^/]+)\.fish$' '$1' $$plugin_files_var)
emit {$name}_uninstall
end
printf "%s\n" Removing\ (set_color red --bold)$plugin(set_color normal) " "$$plugin_files_var | string replace -- \~ ~
set --erase _fisher_plugins[$index]
end
command rm -rf (string replace -- \~ ~ $$plugin_files_var)
functions --erase (string replace --filter --regex -- '.+/functions/([^/]+)\.fish$' '$1' $$plugin_files_var)
for name in (string replace --filter --regex -- '.+/completions/([^/]+)\.fish$' '$1' $$plugin_files_var)
complete --erase --command $name
end
set --erase $plugin_files_var
end
end
if set --query update_plugins[1] || set --query install_plugins[1]
command mkdir -p $fisher_path/{functions,themes,conf.d,completions}
end
for plugin in $update_plugins $install_plugins
set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)]
set --local files $source/{functions,themes,conf.d,completions}/*
if set --local index (contains --index -- $plugin $install_plugins)
set --local user_files $fisher_path/{functions,themes,conf.d,completions}/*
set --local conflict_files
for file in (string replace -- $source/ $fisher_path/ $files)
contains -- $file $user_files && set --append conflict_files $file
end
if set --query conflict_files[1] && set --erase install_plugins[$index]
echo -s "fisher: Cannot install \"$plugin\": please remove or move conflicting files first:" \n" "$conflict_files >&2
continue
end
end
for file in (string replace -- $source/ "" $files)
command cp -RLf $source/$file $fisher_path/$file
end
set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files
set --query files[1] && set --universal $plugin_files_var (string replace -- $source $fisher_path $files | string replace -- ~ \~)
contains -- $plugin $_fisher_plugins || set --universal --append _fisher_plugins $plugin
contains -- $plugin $install_plugins && set --local event install || set --local event update
printf "%s\n" Installing\ (set_color --bold)$plugin(set_color normal) " "$$plugin_files_var | string replace -- \~ ~
for file in (string match --regex -- '.+/[^/]+\.fish$' $$plugin_files_var | string replace -- \~ ~)
source $file
if set --local name (string replace --regex -- '.+conf\.d/([^/]+)\.fish$' '$1' $file)
emit {$name}_$event
end
end
end
command rm -rf $source_plugins
if set --query _fisher_plugins[1]
set --local commit_plugins
for plugin in $file_plugins
contains -- (string lower -- $plugin) (string lower -- $_fisher_plugins) && set --append commit_plugins $plugin
end
for plugin in $_fisher_plugins
contains -- (string lower -- $plugin) (string lower -- $commit_plugins) || set --append commit_plugins $plugin
end
printf "%s\n" $commit_plugins >$fish_plugins
else
set --erase _fisher_plugins
command rm -f $fish_plugins
end
set --local total (count $install_plugins) (count $update_plugins) (count $remove_plugins)
test "$total" != "0 0 0" && echo (string join ", " (
test $total[1] = 0 || echo "Installed $total[1]") (
test $total[2] = 0 || echo "Updated $total[2]") (
test $total[3] = 0 || echo "Removed $total[3]")
) plugin/s
case \*
echo "fisher: Unknown command: \"$cmd\"" >&2 && return 1
end
end
if ! set --query _fisher_upgraded_to_4_4
set --universal _fisher_upgraded_to_4_4
if functions --query _fisher_list
set --query XDG_DATA_HOME[1] || set --local XDG_DATA_HOME ~/.local/share
command rm -rf $XDG_DATA_HOME/fisher
functions --erase _fisher_{list,plugin_parse}
fisher update >/dev/null 2>/dev/null
else
for var in (set --names | string match --entire --regex '^_fisher_.+_files$')
set $var (string replace -- ~ \~ $$var)
end
functions --erase _fisher_fish_postexec
end
end

View file

@ -1,27 +0,0 @@
function tide --description 'Manage your Tide prompt'
argparse --stop-nonopt v/version h/help -- $argv
if set -q _flag_version
echo 'tide, version 5.5.1'
else if set -q _flag_help
_tide_help
else if functions --query _tide_sub_$argv[1]
_tide_sub_$argv[1] $argv[2..]
else
_tide_help
return 1
end
end
function _tide_help
printf %s\n \
'Usage: tide [options] subcommand [options]' \
'' \
'Options:' \
' -v or --version print tide version number' \
' -h or --help print this help message' \
'' \
'Subcommands:' \
' configure run interactive configuration wizard' \
' bug-report print info for use in bug reports'
end

View file

@ -1,33 +0,0 @@
function finish
set_color red
_tide_title 'Overwrite tide config?'
set_color normal
_tide_option y Yes
echo
_tide_menu
switch $_tide_selected_option
case y
_tide_finish
command -q clear && clear
end
end
function _tide_finish
set -e _tide_selected_option # Skip through all the _next_choices
# Deal with prompt char/vi mode
contains character $fake_tide_left_prompt_items || set -p fake_tide_left_prompt_items vi_mode
# Set the real variables
for fakeVar in (set --names | string match -r "^fake_tide.*")
set -U (string replace 'fake_' '' $fakeVar) $$fakeVar
end
# Make sure old prompt won't display
set -e $_tide_prompt_var 2>/dev/null
# Re-initialize the prompt
source (functions --details fish_prompt)
end

View file

@ -1,33 +0,0 @@
function icons
_tide_title Icons
_tide_option 1 'Few icons'
_tide_display_prompt
_tide_option 2 'Many icons'
_enable_icons
_tide_display_prompt
_tide_menu
switch $_tide_selected_option
case 1
_disable_icons
end
_next_choice all/finish
end
function _enable_icons
set -p fake_tide_left_prompt_items os
set -g fake_tide_pwd_icon
set -g fake_tide_pwd_icon_home
set -g fake_tide_cmd_duration_icon
set -g fake_tide_git_icon
end
function _disable_icons
_tide_find_and_remove os fake_tide_left_prompt_items
set fake_tide_pwd_icon
set fake_tide_pwd_icon_home
set fake_tide_cmd_duration_icon
set fake_tide_git_icon
end

View file

@ -1,26 +0,0 @@
function prompt_colors
_tide_title 'Prompt Colors'
_tide_option 1 'True color'
_tide_display_prompt
_tide_option 2 '16 colors'
_load_config "$_tide_configure_style"_16color
set -g _tide_16color true
_tide_display_prompt
_tide_menu
switch $_tide_selected_option
case 1
_load_config "$_tide_configure_style"
set -e _tide_16color
switch $_tide_configure_style
case lean rainbow
_next_choice all/show_time
case classic
_next_choice classic/classic_prompt_color
end
case 2
_next_choice all/show_time
end
end

View file

@ -1,28 +0,0 @@
function prompt_connection
_tide_title 'Prompt Connection'
_tide_option 1 Disconnected
_tide_display_prompt fake_tide_prompt_icon_connection ' '
_tide_option 2 Dotted
_tide_display_prompt fake_tide_prompt_icon_connection '·'
_tide_option 3 Solid
_tide_display_prompt fake_tide_prompt_icon_connection '─'
_tide_menu
switch $_tide_selected_option
case 1
set -g fake_tide_prompt_icon_connection ' '
case 2
set -g fake_tide_prompt_icon_connection '·'
case 3
set -g fake_tide_prompt_icon_connection '─'
end
switch $_tide_configure_style
case lean
_next_choice all/prompt_connection_andor_frame_color
case classic rainbow
_next_choice powerline/powerline_prompt_frame
end
end

View file

@ -1,36 +0,0 @@
function prompt_connection_andor_frame_color
if test "$_tide_16color" = true ||
test "$fake_tide_left_prompt_frame_enabled" = false -a \
"$fake_tide_right_prompt_frame_enabled" = false -a \
"$fake_tide_prompt_icon_connection" = ' '
_next_choice all/prompt_spacing
return 0
end
_tide_title "Connection & Frame Color"
_tide_option 1 Lightest
_tide_display_prompt fake_tide_prompt_color_frame_and_connection 808080
_tide_option 2 Light
_tide_display_prompt fake_tide_prompt_color_frame_and_connection 6C6C6C
_tide_option 3 Dark
_tide_display_prompt fake_tide_prompt_color_frame_and_connection 585858
_tide_option 4 Darkest
_tide_display_prompt fake_tide_prompt_color_frame_and_connection 444444
_tide_menu
switch $_tide_selected_option
case 1
set -g fake_tide_prompt_color_frame_and_connection 808080
case 2
set -g fake_tide_prompt_color_frame_and_connection 6C6C6C
case 3
set -g fake_tide_prompt_color_frame_and_connection 585858
case 4
set -g fake_tide_prompt_color_frame_and_connection 444444
end
_next_choice all/prompt_spacing
end

View file

@ -1,21 +0,0 @@
function prompt_spacing
_tide_title 'Prompt Spacing'
_tide_option 1 Compact
_tide_display_prompt
printf \e\[1A # Move cursor up 1 row
_tide_display_prompt
_tide_option 2 Sparse
_tide_display_prompt
_tide_display_prompt
_tide_menu
switch $_tide_selected_option
case 1
set -g fake_tide_prompt_add_newline_before false
case 2
set -g fake_tide_prompt_add_newline_before true
end
_next_choice all/icons
end

View file

@ -1,31 +0,0 @@
function show_time
_tide_title 'Show current time?'
_tide_option 1 No
_tide_display_prompt
set -a fake_tide_right_prompt_items time
_tide_option 2 '24-hour format'
_tide_display_prompt fake_tide_time_format %T
_tide_option 3 '12-hour format'
_tide_display_prompt fake_tide_time_format '%r'
_tide_menu
switch $_tide_selected_option
case 1
set -g fake_tide_time_format ''
set -e fake_tide_right_prompt_items[-1]
case 2
set -g fake_tide_time_format %T
case 3
set -g fake_tide_time_format '%r'
end
switch $_tide_configure_style
case lean
_next_choice "$_tide_configure_style"/"$_tide_configure_style"_prompt_height
case classic rainbow
_next_choice "$_tide_configure_style"/"$_tide_configure_style"_prompt_separators
end
end

View file

@ -1,57 +0,0 @@
function style
_tide_title 'Prompt Style'
_tide_option 1 Lean
_load_config lean
_tide_display_prompt
_tide_option 2 Classic
_load_config classic
_tide_display_prompt
_tide_option 3 Rainbow
_load_config rainbow
_tide_display_prompt
_tide_style_menu
switch $_tide_selected_option
case 1
_load_config lean
set -g _tide_configure_style lean
case 2
_load_config classic
set -g _tide_configure_style classic
case 3
_load_config rainbow
set -g _tide_configure_style rainbow
end
_next_choice all/prompt_colors
end
function _load_config -a name
string replace -r '^' 'set -g fake_' <(status dirname)/../../configs/$name.fish | source
end
function _tide_style_menu # Exactly like _tide_menu except that it doesn't have (r) option
set -l list_with_slashes (string join '/' $_tide_option_list)
echo '(q) Quit and do nothing'\n
while true
set_color -o
read --nchars 1 --prompt-str "Choice [$list_with_slashes/q] " input
set_color normal
switch $input
case q
set -e _tide_selected_option # Skip through all the _next_choices
set -e _tide_option_list
command -q clear && clear
break
case $_tide_option_list
set -e _tide_option_list
set -g _tide_selected_option $input
break
end
end
end

View file

@ -1,38 +0,0 @@
function classic_prompt_color
_tide_title 'Prompt Color'
_tide_option 1 Lightest
_set_all_items_bg_color 585858
_tide_display_prompt
_tide_option 2 Light
_set_all_items_bg_color 444444
_tide_display_prompt
_tide_option 3 Dark
_set_all_items_bg_color 303030
_tide_display_prompt
_tide_option 4 Darkest
_set_all_items_bg_color 1C1C1C
_tide_display_prompt
_tide_menu
switch $_tide_selected_option
case 1
_set_all_items_bg_color 585858
case 2
_set_all_items_bg_color 444444
case 3
_set_all_items_bg_color 303030
case 4
_set_all_items_bg_color 1C1C1C
end
_next_choice all/show_time
end
function _set_all_items_bg_color -a color
for var in (set --names | string match -r "fake_.*_bg_color.*")
set $var $color
end
end

View file

@ -1,40 +0,0 @@
function classic_prompt_separators
_tide_title 'Prompt Separators'
_tide_option 1 Angled
set -g fake_tide_left_prompt_separator_same_color
set -g fake_tide_right_prompt_separator_same_color
_tide_display_prompt
_tide_option 2 Vertical
set -g fake_tide_left_prompt_separator_same_color '│'
set -g fake_tide_right_prompt_separator_same_color '│'
_tide_display_prompt
_tide_option 3 Slanted
set -g fake_tide_left_prompt_separator_same_color ''
set -g fake_tide_right_prompt_separator_same_color ''
_tide_display_prompt
_tide_option 4 Round
set -g fake_tide_left_prompt_separator_same_color ''
set -g fake_tide_right_prompt_separator_same_color ''
_tide_display_prompt
_tide_menu
switch $_tide_selected_option
case 1
set -g fake_tide_left_prompt_separator_same_color
set -g fake_tide_right_prompt_separator_same_color
case 2
set -g fake_tide_left_prompt_separator_same_color '│'
set -g fake_tide_right_prompt_separator_same_color '│'
case 3
set -g fake_tide_left_prompt_separator_same_color ''
set -g fake_tide_right_prompt_separator_same_color ''
case 4
set -g fake_tide_left_prompt_separator_same_color ''
set -g fake_tide_right_prompt_separator_same_color ''
end
_next_choice powerline/powerline_prompt_heads
end

View file

@ -1,26 +0,0 @@
function lean_prompt_height
_tide_title 'Prompt Height'
_tide_option 1 'One line'
_tide_find_and_remove newline fake_tide_left_prompt_items
set -g fake_tide_left_prompt_suffix ''
_tide_display_prompt
_tide_option 2 'Two lines'
set -g fake_tide_left_prompt_items $fake_tide_left_prompt_items[1..-2] newline $fake_tide_left_prompt_items[-1]
set -g fake_tide_left_prompt_suffix ' '
_tide_display_prompt
_tide_menu
switch $_tide_selected_option
case 1
_tide_find_and_remove newline fake_tide_left_prompt_items
set fake_tide_left_prompt_suffix ''
_next_choice all/prompt_connection_andor_frame_color
case 2
_tide_find_and_remove newline fake_tide_left_prompt_items
set -g fake_tide_left_prompt_items $fake_tide_left_prompt_items[1..-2] newline $fake_tide_left_prompt_items[-1]
set -g fake_tide_left_prompt_suffix ' '
_next_choice all/prompt_connection
end
end

View file

@ -1,46 +0,0 @@
function powerline_prompt_frame
_tide_title 'Prompt Frame'
_tide_option 1 'No frame'
set fake_tide_left_prompt_frame_enabled false
set fake_tide_right_prompt_frame_enabled false
set -a fake_tide_left_prompt_items character
_tide_display_prompt
set -e fake_tide_left_prompt_items[-1]
_tide_option 2 Left
set fake_tide_left_prompt_frame_enabled true
set fake_tide_right_prompt_frame_enabled false
_tide_display_prompt
_tide_option 3 Right
set fake_tide_left_prompt_frame_enabled false
set fake_tide_right_prompt_frame_enabled true
set -a fake_tide_left_prompt_items character
_tide_display_prompt
set -e fake_tide_left_prompt_items[-1]
_tide_option 4 Full
set fake_tide_left_prompt_frame_enabled true
set fake_tide_right_prompt_frame_enabled true
_tide_display_prompt
_tide_menu
switch $_tide_selected_option
case 1
set fake_tide_left_prompt_frame_enabled false
set fake_tide_right_prompt_frame_enabled false
set -a fake_tide_left_prompt_items character
case 2
set fake_tide_left_prompt_frame_enabled true
set fake_tide_right_prompt_frame_enabled false
case 3
set fake_tide_left_prompt_frame_enabled false
set fake_tide_right_prompt_frame_enabled true
set -a fake_tide_left_prompt_items character
case 4
set fake_tide_left_prompt_frame_enabled true
set fake_tide_right_prompt_frame_enabled true
end
_next_choice all/prompt_connection_andor_frame_color
end

View file

@ -1,40 +0,0 @@
function powerline_prompt_heads
_tide_title 'Prompt Heads'
_tide_option 1 Sharp
set -g fake_tide_left_prompt_suffix
set -g fake_tide_right_prompt_prefix
_tide_display_prompt
_tide_option 2 Blurred
set -g fake_tide_left_prompt_suffix '▓▒░'
set -g fake_tide_right_prompt_prefix '░▒▓'
_tide_display_prompt
_tide_option 3 Slanted
set -g fake_tide_left_prompt_suffix ''
set -g fake_tide_right_prompt_prefix ''
_tide_display_prompt
_tide_option 4 Round
set -g fake_tide_left_prompt_suffix ''
set -g fake_tide_right_prompt_prefix ''
_tide_display_prompt
_tide_menu
switch $_tide_selected_option
case 1
set -g fake_tide_left_prompt_suffix
set -g fake_tide_right_prompt_prefix
case 2
set -g fake_tide_left_prompt_suffix '▓▒░'
set -g fake_tide_right_prompt_prefix '░▒▓'
case 3
set -g fake_tide_left_prompt_suffix ''
set -g fake_tide_right_prompt_prefix ''
case 4
set -g fake_tide_left_prompt_suffix ''
set -g fake_tide_right_prompt_prefix ''
end
_next_choice powerline/powerline_prompt_tails
end

View file

@ -1,30 +0,0 @@
function powerline_prompt_height
_tide_title 'Prompt Height'
_tide_option 1 'One line'
_tide_find_and_remove newline fake_tide_left_prompt_items
set fake_tide_left_prompt_frame_enabled false
set fake_tide_right_prompt_frame_enabled false
_tide_display_prompt
_tide_option 2 'Two lines'
set -g fake_tide_left_prompt_items $fake_tide_left_prompt_items newline
set fake_tide_left_prompt_frame_enabled true
set fake_tide_right_prompt_frame_enabled true
_tide_display_prompt
_tide_menu
switch $_tide_selected_option
case 1
_tide_find_and_remove newline fake_tide_left_prompt_items
set fake_tide_left_prompt_frame_enabled false
set fake_tide_right_prompt_frame_enabled false
_next_choice all/prompt_connection_andor_frame_color
case 2
_tide_find_and_remove newline fake_tide_left_prompt_items
set -g fake_tide_left_prompt_items $fake_tide_left_prompt_items newline
set fake_tide_left_prompt_frame_enabled true
set fake_tide_right_prompt_frame_enabled true
_next_choice all/prompt_connection
end
end

View file

@ -1,48 +0,0 @@
function powerline_prompt_tails
_tide_title 'Prompt Tails'
_tide_option 1 Flat
set -g fake_tide_left_prompt_prefix ''
set -g fake_tide_right_prompt_suffix ''
_tide_display_prompt
_tide_option 2 Blurred
set -g fake_tide_left_prompt_prefix '░▒▓'
set -g fake_tide_right_prompt_suffix '▓▒░'
_tide_display_prompt
_tide_option 3 Sharp
set -g fake_tide_left_prompt_prefix
set -g fake_tide_right_prompt_suffix
_tide_display_prompt
_tide_option 4 Slanted
set -g fake_tide_left_prompt_prefix ''
set -g fake_tide_right_prompt_suffix ''
_tide_display_prompt
_tide_option 5 Round
set -g fake_tide_left_prompt_prefix ''
set -g fake_tide_right_prompt_suffix ''
_tide_display_prompt
_tide_menu
switch $_tide_selected_option
case 1
set -g fake_tide_left_prompt_prefix ''
set -g fake_tide_right_prompt_suffix ''
case 2
set -g fake_tide_left_prompt_prefix '░▒▓'
set -g fake_tide_right_prompt_suffix '▓▒░'
case 3
set -g fake_tide_left_prompt_prefix
set -g fake_tide_right_prompt_suffix
case 4
set -g fake_tide_left_prompt_prefix ''
set -g fake_tide_right_prompt_suffix ''
case 5
set -g fake_tide_left_prompt_prefix ''
set -g fake_tide_right_prompt_suffix ''
end
_next_choice powerline/powerline_prompt_height
end

View file

@ -1,40 +0,0 @@
function rainbow_prompt_separators
_tide_title 'Prompt Separators'
_tide_option 1 Angled
set -g fake_tide_left_prompt_separator_diff_color
set -g fake_tide_right_prompt_separator_diff_color
_tide_display_prompt
_tide_option 2 Vertical
set -g fake_tide_left_prompt_separator_diff_color ''
set -g fake_tide_right_prompt_separator_diff_color ''
_tide_display_prompt
_tide_option 3 Slanted
set -g fake_tide_left_prompt_separator_diff_color ''
set -g fake_tide_right_prompt_separator_diff_color ''
_tide_display_prompt
_tide_option 4 Round
set -g fake_tide_left_prompt_separator_diff_color ''
set -g fake_tide_right_prompt_separator_diff_color ''
_tide_display_prompt
_tide_menu
switch $_tide_selected_option
case 1
set -g fake_tide_left_prompt_separator_diff_color
set -g fake_tide_right_prompt_separator_diff_color
case 2
set -g fake_tide_left_prompt_separator_diff_color ''
set -g fake_tide_right_prompt_separator_diff_color ''
case 3
set -g fake_tide_left_prompt_separator_diff_color ''
set -g fake_tide_right_prompt_separator_diff_color ''
case 4
set -g fake_tide_left_prompt_separator_diff_color ''
set -g fake_tide_right_prompt_separator_diff_color ''
end
_next_choice powerline/powerline_prompt_heads
end

View file

@ -1,133 +0,0 @@
tide_aws_bg_color 444444
tide_aws_color FF9900
tide_aws_icon
tide_character_color $_tide_color_green
tide_character_color_failure FF0000
tide_character_icon
tide_character_vi_icon_default
tide_character_vi_icon_replace
tide_character_vi_icon_visual V
tide_chruby_bg_color 444444
tide_chruby_color B31209
tide_chruby_icon
tide_cmd_duration_bg_color 444444
tide_cmd_duration_color 87875F
tide_cmd_duration_decimals 0
tide_cmd_duration_icon
tide_cmd_duration_threshold 3000
tide_context_always_display false
tide_context_bg_color 444444
tide_context_color_default D7AF87
tide_context_color_root $_tide_color_gold
tide_context_color_ssh D7AF87
tide_context_hostname_parts 1
tide_crystal_bg_color 444444
tide_crystal_color FFFFFF
tide_crystal_icon
tide_docker_bg_color 444444
tide_docker_color 2496ED
tide_docker_default_contexts default colima
tide_docker_icon
tide_git_bg_color 444444
tide_git_bg_color_unstable 444444
tide_git_bg_color_urgent 444444
tide_git_color_branch $_tide_color_green
tide_git_color_conflicted FF0000
tide_git_color_dirty $_tide_color_gold
tide_git_color_operation FF0000
tide_git_color_staged $_tide_color_gold
tide_git_color_stash $_tide_color_green
tide_git_color_untracked $_tide_color_light_blue
tide_git_color_upstream $_tide_color_green
tide_git_icon
tide_git_truncation_length 24
tide_go_bg_color 444444
tide_go_color 00ACD7
tide_go_icon
tide_java_bg_color 444444
tide_java_color ED8B00
tide_java_icon
tide_jobs_bg_color 444444
tide_jobs_color $_tide_color_dark_green
tide_jobs_icon
tide_kubectl_bg_color 444444
tide_kubectl_color 326CE5
tide_kubectl_icon
tide_left_prompt_frame_enabled true
tide_left_prompt_items pwd git newline
tide_left_prompt_prefix ''
tide_left_prompt_separator_diff_color
tide_left_prompt_separator_same_color
tide_left_prompt_suffix
tide_nix_shell_bg_color 444444
tide_nix_shell_color 7EBAE4
tide_nix_shell_icon
tide_node_bg_color 444444
tide_node_color 44883E
tide_node_icon
tide_os_bg_color 444444
tide_os_color EEEEEE
tide_os_icon $os_branding_icon
tide_php_bg_color 444444
tide_php_color 617CBE
tide_php_icon
tide_private_mode_bg_color 444444
tide_private_mode_color FFFFFF
tide_private_mode_icon
tide_prompt_add_newline_before true
tide_prompt_color_frame_and_connection 6C6C6C
tide_prompt_color_separator_same_color 949494
tide_prompt_icon_connection ' '
tide_prompt_min_cols 34
tide_prompt_pad_items true
tide_pwd_bg_color 444444
tide_pwd_color_anchors $_tide_color_light_blue
tide_pwd_color_dirs $_tide_color_dark_blue
tide_pwd_color_truncated_dirs 8787AF
tide_pwd_icon
tide_pwd_icon_home
tide_pwd_icon_unwritable
tide_pwd_markers .bzr .citc .git .hg .node-version .python-version .ruby-version .shorten_folder_marker .svn .terraform Cargo.toml composer.json CVS go.mod package.json
tide_right_prompt_frame_enabled true
tide_right_prompt_items status cmd_duration context jobs node virtual_env rustc java php chruby go kubectl toolbox terraform aws nix_shell crystal
tide_right_prompt_prefix
tide_right_prompt_separator_diff_color
tide_right_prompt_separator_same_color
tide_right_prompt_suffix ''
tide_rustc_bg_color 444444
tide_rustc_color F74C00
tide_rustc_icon
tide_shlvl_bg_color 444444
tide_shlvl_color d78700
tide_shlvl_icon
tide_shlvl_threshold 1
tide_status_bg_color 444444
tide_status_bg_color_failure 444444
tide_status_color $_tide_color_dark_green
tide_status_color_failure D70000
tide_status_icon
tide_status_icon_failure
tide_terraform_bg_color 444444
tide_terraform_color 844FBA
tide_terraform_icon
tide_time_bg_color 444444
tide_time_color 5F8787
tide_time_format %T
tide_toolbox_bg_color 444444
tide_toolbox_color 613583
tide_toolbox_icon
tide_vi_mode_bg_color_default 444444
tide_vi_mode_bg_color_insert 444444
tide_vi_mode_bg_color_replace 444444
tide_vi_mode_bg_color_visual 444444
tide_vi_mode_color_default 949494
tide_vi_mode_color_insert 87AFAF
tide_vi_mode_color_replace 87AF87
tide_vi_mode_color_visual FF8700
tide_vi_mode_icon_default D
tide_vi_mode_icon_insert I
tide_vi_mode_icon_replace R
tide_vi_mode_icon_visual V
tide_virtual_env_bg_color 444444
tide_virtual_env_color 00AFAF
tide_virtual_env_icon

View file

@ -1,75 +0,0 @@
tide_aws_bg_color black
tide_aws_color yellow
tide_character_color brgreen
tide_character_color_failure brred
tide_chruby_bg_color black
tide_chruby_color red
tide_cmd_duration_bg_color black
tide_cmd_duration_color brblack
tide_context_bg_color black
tide_context_color_default yellow
tide_context_color_root bryellow
tide_context_color_ssh yellow
tide_crystal_bg_color black
tide_crystal_color brwhite
tide_docker_bg_color black
tide_docker_color blue
tide_git_bg_color black
tide_git_bg_color_unstable black
tide_git_bg_color_urgent black
tide_git_color_branch brgreen
tide_git_color_conflicted brred
tide_git_color_dirty bryellow
tide_git_color_operation brred
tide_git_color_staged bryellow
tide_git_color_stash brgreen
tide_git_color_untracked brblue
tide_git_color_upstream brgreen
tide_go_bg_color black
tide_go_color brcyan
tide_java_bg_color black
tide_java_color yellow
tide_jobs_bg_color black
tide_jobs_color green
tide_kubectl_bg_color black
tide_kubectl_color blue
tide_nix_shell_bg_color black
tide_nix_shell_color brblue
tide_node_bg_color black
tide_node_color green
tide_os_bg_color black
tide_os_color brwhite
tide_php_bg_color black
tide_php_color blue
tide_private_mode_bg_color black
tide_private_mode_color brwhite
tide_prompt_color_frame_and_connection brblack
tide_prompt_color_separator_same_color brblack
tide_pwd_bg_color black
tide_pwd_color_anchors brcyan
tide_pwd_color_dirs cyan
tide_pwd_color_truncated_dirs magenta
tide_rustc_bg_color black
tide_rustc_color red
tide_shlvl_bg_color black
tide_shlvl_color yellow
tide_status_bg_color black
tide_status_bg_color_failure black
tide_status_color green
tide_status_color_failure red
tide_terraform_bg_color black
tide_terraform_color magenta
tide_time_bg_color black
tide_time_color brblack
tide_toolbox_bg_color black
tide_toolbox_color magenta
tide_vi_mode_bg_color_default black
tide_vi_mode_bg_color_insert black
tide_vi_mode_bg_color_replace black
tide_vi_mode_bg_color_visual black
tide_vi_mode_color_default white
tide_vi_mode_color_insert cyan
tide_vi_mode_color_replace green
tide_vi_mode_color_visual yellow
tide_virtual_env_bg_color black
tide_virtual_env_color cyan

View file

@ -1,133 +0,0 @@
tide_aws_bg_color normal
tide_aws_color FF9900
tide_aws_icon
tide_character_color $_tide_color_green
tide_character_color_failure FF0000
tide_character_icon
tide_character_vi_icon_default
tide_character_vi_icon_replace
tide_character_vi_icon_visual V
tide_chruby_bg_color normal
tide_chruby_color B31209
tide_chruby_icon
tide_cmd_duration_bg_color normal
tide_cmd_duration_color 87875F
tide_cmd_duration_decimals 0
tide_cmd_duration_icon
tide_cmd_duration_threshold 3000
tide_context_always_display false
tide_context_bg_color normal
tide_context_color_default D7AF87
tide_context_color_root $_tide_color_gold
tide_context_color_ssh D7AF87
tide_context_hostname_parts 1
tide_crystal_bg_color normal
tide_crystal_color FFFFFF
tide_crystal_icon
tide_docker_bg_color normal
tide_docker_color 2496ED
tide_docker_default_contexts default colima
tide_docker_icon
tide_git_bg_color normal
tide_git_bg_color_unstable normal
tide_git_bg_color_urgent normal
tide_git_color_branch $_tide_color_green
tide_git_color_conflicted FF0000
tide_git_color_dirty $_tide_color_gold
tide_git_color_operation FF0000
tide_git_color_staged $_tide_color_gold
tide_git_color_stash $_tide_color_green
tide_git_color_untracked $_tide_color_light_blue
tide_git_color_upstream $_tide_color_green
tide_git_icon
tide_git_truncation_length 24
tide_go_bg_color normal
tide_go_color 00ACD7
tide_go_icon
tide_java_bg_color normal
tide_java_color ED8B00
tide_java_icon
tide_jobs_bg_color normal
tide_jobs_color $_tide_color_dark_green
tide_jobs_icon
tide_kubectl_bg_color normal
tide_kubectl_color 326CE5
tide_kubectl_icon
tide_left_prompt_frame_enabled false
tide_left_prompt_items pwd git newline character
tide_left_prompt_prefix ''
tide_left_prompt_separator_diff_color ' '
tide_left_prompt_separator_same_color ' '
tide_left_prompt_suffix ' '
tide_nix_shell_bg_color normal
tide_nix_shell_color 7EBAE4
tide_nix_shell_icon
tide_node_bg_color normal
tide_node_color 44883E
tide_node_icon
tide_os_bg_color normal
tide_os_color normal
tide_os_icon $os_branding_icon
tide_php_bg_color normal
tide_php_color 617CBE
tide_php_icon
tide_private_mode_bg_color normal
tide_private_mode_color FFFFFF
tide_private_mode_icon
tide_prompt_add_newline_before true
tide_prompt_color_frame_and_connection 6C6C6C
tide_prompt_color_separator_same_color 949494
tide_prompt_icon_connection ' '
tide_prompt_min_cols 34
tide_prompt_pad_items false
tide_pwd_bg_color normal
tide_pwd_color_anchors $_tide_color_light_blue
tide_pwd_color_dirs $_tide_color_dark_blue
tide_pwd_color_truncated_dirs 8787AF
tide_pwd_icon
tide_pwd_icon_home
tide_pwd_icon_unwritable
tide_pwd_markers .bzr .citc .git .hg .node-version .python-version .ruby-version .shorten_folder_marker .svn .terraform Cargo.toml composer.json CVS go.mod package.json
tide_right_prompt_frame_enabled false
tide_right_prompt_items status cmd_duration context jobs node virtual_env rustc java php chruby go kubectl toolbox terraform aws nix_shell crystal
tide_right_prompt_prefix ' '
tide_right_prompt_separator_diff_color ' '
tide_right_prompt_separator_same_color ' '
tide_right_prompt_suffix ''
tide_rustc_bg_color normal
tide_rustc_color F74C00
tide_rustc_icon
tide_shlvl_bg_color normal
tide_shlvl_color d78700
tide_shlvl_icon
tide_shlvl_threshold 1
tide_status_bg_color normal
tide_status_bg_color_failure normal
tide_status_color $_tide_color_dark_green
tide_status_color_failure D70000
tide_status_icon
tide_status_icon_failure
tide_terraform_bg_color normal
tide_terraform_color 844FBA
tide_terraform_icon
tide_time_bg_color normal
tide_time_color 5F8787
tide_time_format %T
tide_toolbox_bg_color normal
tide_toolbox_color 613583
tide_toolbox_icon
tide_vi_mode_bg_color_default normal
tide_vi_mode_bg_color_insert normal
tide_vi_mode_bg_color_replace normal
tide_vi_mode_bg_color_visual normal
tide_vi_mode_color_default 949494
tide_vi_mode_color_insert 87AFAF
tide_vi_mode_color_replace 87AF87
tide_vi_mode_color_visual FF8700
tide_vi_mode_icon_default D
tide_vi_mode_icon_insert I
tide_vi_mode_icon_replace R
tide_vi_mode_icon_visual V
tide_virtual_env_bg_color normal
tide_virtual_env_color 00AFAF
tide_virtual_env_icon

View file

@ -1,75 +0,0 @@
tide_aws_bg_color normal
tide_aws_color yellow
tide_character_color brgreen
tide_character_color_failure brred
tide_chruby_bg_color normal
tide_chruby_color red
tide_cmd_duration_bg_color normal
tide_cmd_duration_color brblack
tide_context_bg_color normal
tide_context_color_default yellow
tide_context_color_root bryellow
tide_context_color_ssh yellow
tide_crystal_bg_color normal
tide_crystal_color brwhite
tide_docker_bg_color normal
tide_docker_color blue
tide_git_bg_color normal
tide_git_bg_color_unstable normal
tide_git_bg_color_urgent normal
tide_git_color_branch brgreen
tide_git_color_conflicted brred
tide_git_color_dirty bryellow
tide_git_color_operation brred
tide_git_color_staged bryellow
tide_git_color_stash brgreen
tide_git_color_untracked brblue
tide_git_color_upstream brgreen
tide_go_bg_color normal
tide_go_color brcyan
tide_java_bg_color normal
tide_java_color yellow
tide_jobs_bg_color normal
tide_jobs_color green
tide_kubectl_bg_color normal
tide_kubectl_color blue
tide_nix_shell_bg_color normal
tide_nix_shell_color brblue
tide_node_bg_color normal
tide_node_color green
tide_os_bg_color normal
tide_os_color brwhite
tide_php_bg_color normal
tide_php_color blue
tide_private_mode_bg_color normal
tide_private_mode_color brwhite
tide_prompt_color_frame_and_connection brblack
tide_prompt_color_separator_same_color brblack
tide_pwd_bg_color normal
tide_pwd_color_anchors brcyan
tide_pwd_color_dirs cyan
tide_pwd_color_truncated_dirs magenta
tide_rustc_bg_color normal
tide_rustc_color red
tide_shlvl_bg_color normal
tide_shlvl_color yellow
tide_status_bg_color normal
tide_status_bg_color_failure normal
tide_status_color green
tide_status_color_failure red
tide_terraform_bg_color normal
tide_terraform_color magenta
tide_time_bg_color normal
tide_time_color brblack
tide_toolbox_bg_color normal
tide_toolbox_color magenta
tide_vi_mode_bg_color_default normal
tide_vi_mode_bg_color_insert normal
tide_vi_mode_bg_color_replace normal
tide_vi_mode_bg_color_visual normal
tide_vi_mode_color_default white
tide_vi_mode_color_insert cyan
tide_vi_mode_color_replace green
tide_vi_mode_color_visual yellow
tide_virtual_env_bg_color normal
tide_virtual_env_color cyan

View file

@ -1,133 +0,0 @@
tide_aws_bg_color FF9900
tide_aws_color 232F3E
tide_aws_icon
tide_character_color $_tide_color_green
tide_character_color_failure FF0000
tide_character_icon
tide_character_vi_icon_default
tide_character_vi_icon_replace
tide_character_vi_icon_visual V
tide_chruby_bg_color B31209
tide_chruby_color 000000
tide_chruby_icon
tide_cmd_duration_bg_color C4A000
tide_cmd_duration_color 000000
tide_cmd_duration_decimals 0
tide_cmd_duration_icon
tide_cmd_duration_threshold 3000
tide_context_always_display false
tide_context_bg_color 444444
tide_context_color_default D7AF87
tide_context_color_root $_tide_color_gold
tide_context_color_ssh D7AF87
tide_context_hostname_parts 1
tide_crystal_bg_color FFFFFF
tide_crystal_color 000000
tide_crystal_icon
tide_docker_bg_color 2496ED
tide_docker_color 000000
tide_docker_default_contexts default colima
tide_docker_icon
tide_git_bg_color 4E9A06
tide_git_bg_color_unstable C4A000
tide_git_bg_color_urgent CC0000
tide_git_color_branch 000000
tide_git_color_conflicted 000000
tide_git_color_dirty 000000
tide_git_color_operation 000000
tide_git_color_staged 000000
tide_git_color_stash 000000
tide_git_color_untracked 000000
tide_git_color_upstream 000000
tide_git_icon
tide_git_truncation_length 24
tide_go_bg_color 00ACD7
tide_go_color 000000
tide_go_icon
tide_java_bg_color ED8B00
tide_java_color 000000
tide_java_icon
tide_jobs_bg_color 444444
tide_jobs_color 4E9A06
tide_jobs_icon
tide_kubectl_bg_color 326CE5
tide_kubectl_color 000000
tide_kubectl_icon
tide_left_prompt_frame_enabled true
tide_left_prompt_items pwd git newline
tide_left_prompt_prefix ''
tide_left_prompt_separator_diff_color
tide_left_prompt_separator_same_color
tide_left_prompt_suffix
tide_nix_shell_bg_color 7EBAE4
tide_nix_shell_color 000000
tide_nix_shell_icon
tide_node_bg_color 44883E
tide_node_color 000000
tide_node_icon
tide_os_bg_color $os_branding_bg_color
tide_os_color $os_branding_color
tide_os_icon $os_branding_icon
tide_php_bg_color 617CBE
tide_php_color 000000
tide_php_icon
tide_private_mode_bg_color F1F3F4
tide_private_mode_color 000000
tide_private_mode_icon
tide_prompt_add_newline_before true
tide_prompt_color_frame_and_connection 6C6C6C
tide_prompt_color_separator_same_color 949494
tide_prompt_icon_connection ' '
tide_prompt_min_cols 34
tide_prompt_pad_items true
tide_pwd_bg_color 3465A4
tide_pwd_color_anchors E4E4E4
tide_pwd_color_dirs E4E4E4
tide_pwd_color_truncated_dirs BCBCBC
tide_pwd_icon
tide_pwd_icon_home
tide_pwd_icon_unwritable
tide_pwd_markers .bzr .citc .git .hg .node-version .python-version .ruby-version .shorten_folder_marker .svn .terraform Cargo.toml composer.json CVS go.mod package.json
tide_right_prompt_frame_enabled true
tide_right_prompt_items status cmd_duration context jobs node virtual_env rustc java php chruby go kubectl toolbox terraform aws nix_shell crystal
tide_right_prompt_prefix
tide_right_prompt_separator_diff_color
tide_right_prompt_separator_same_color
tide_right_prompt_suffix ''
tide_rustc_bg_color F74C00
tide_rustc_color 000000
tide_rustc_icon
tide_shlvl_bg_color 808000
tide_shlvl_color 000000
tide_shlvl_icon
tide_shlvl_threshold 1
tide_status_bg_color 2E3436
tide_status_bg_color_failure CC0000
tide_status_color 4E9A06
tide_status_color_failure FFFF00
tide_status_icon
tide_status_icon_failure
tide_terraform_bg_color 800080
tide_terraform_color 000000
tide_terraform_icon
tide_time_bg_color D3D7CF
tide_time_color 000000
tide_time_format %T
tide_toolbox_bg_color 613583
tide_toolbox_color 000000
tide_toolbox_icon
tide_vi_mode_bg_color_default 949494
tide_vi_mode_bg_color_insert 87AFAF
tide_vi_mode_bg_color_replace 87AF87
tide_vi_mode_bg_color_visual FF8700
tide_vi_mode_color_default 000000
tide_vi_mode_color_insert 000000
tide_vi_mode_color_replace 000000
tide_vi_mode_color_visual 000000
tide_vi_mode_icon_default D
tide_vi_mode_icon_insert I
tide_vi_mode_icon_replace R
tide_vi_mode_icon_visual V
tide_virtual_env_bg_color 444444
tide_virtual_env_color 00AFAF
tide_virtual_env_icon

View file

@ -1,79 +0,0 @@
tide_aws_bg_color yellow
tide_aws_color brblack
tide_character_color brgreen
tide_character_color_failure brred
tide_chruby_bg_color red
tide_chruby_color black
tide_cmd_duration_bg_color yellow
tide_cmd_duration_color black
tide_context_bg_color brblack
tide_context_color_default yellow
tide_context_color_root yellow
tide_context_color_ssh yellow
tide_crystal_bg_color brwhite
tide_crystal_color black
tide_docker_bg_color blue
tide_docker_color black
tide_git_bg_color green
tide_git_bg_color_unstable yellow
tide_git_bg_color_urgent red
tide_git_color_branch black
tide_git_color_conflicted black
tide_git_color_dirty black
tide_git_color_operation black
tide_git_color_staged black
tide_git_color_stash black
tide_git_color_untracked black
tide_git_color_upstream black
tide_go_bg_color brcyan
tide_go_color black
tide_java_bg_color yellow
tide_java_color black
tide_jobs_bg_color brblack
tide_jobs_color green
tide_kubectl_bg_color blue
tide_kubectl_color black
tide_nix_shell_bg_color brblue
tide_nix_shell_color black
tide_node_bg_color green
tide_node_color black
tide_os_bg_color white
tide_os_color black
tide_php_bg_color blue
tide_php_color black
tide_private_mode_bg_color brwhite
tide_private_mode_color black
tide_prompt_color_frame_and_connection brblack
tide_prompt_color_separator_same_color brblack
tide_pwd_bg_color blue
tide_pwd_color_anchors brwhite
tide_pwd_color_dirs brwhite
tide_pwd_color_truncated_dirs white
tide_rustc_bg_color red
tide_rustc_color black
tide_shlvl_bg_color yellow
tide_shlvl_color black
tide_status_bg_color black
tide_status_bg_color_failure red
tide_status_color green
tide_status_color_failure bryellow
tide_terraform_bg_color magenta
tide_terraform_color black
tide_time_bg_color white
tide_time_color black
tide_toolbox_bg_color magenta
tide_toolbox_color black
tide_vi_mode_bg_color_default white
tide_vi_mode_bg_color_insert cyan
tide_vi_mode_bg_color_replace green
tide_vi_mode_bg_color_visual yellow
tide_vi_mode_color_default black
tide_vi_mode_color_insert black
tide_vi_mode_color_replace black
tide_vi_mode_color_visual black
tide_vi_mode_icon_default D
tide_vi_mode_icon_insert I
tide_vi_mode_icon_replace R
tide_vi_mode_icon_visual V
tide_virtual_env_bg_color brblack
tide_virtual_env_color cyan

View file

@ -1,41 +0,0 @@
function _fake_tide_cache_variables
# pwd
set_color -o $fake_tide_pwd_color_anchors | read -gx _fake_tide_color_anchors
set -gx _fake_tide_color_truncated_dirs "$(set_color $fake_tide_pwd_color_truncated_dirs)"
set -gx _fake_tide_reset_to_color_dirs (set_color normal -b $fake_tide_pwd_bg_color; set_color $fake_tide_pwd_color_dirs)
# git
contains git $fake_tide_left_prompt_items $fake_tide_right_prompt_items &&
set -gx _fake_tide_location_color "$(set_color $fake_tide_git_color_branch)"
# private_mode
if contains private_mode $fake_tide_left_prompt_items $fake_tide_right_prompt_items && test -n "$fish_private_mode"
set -gx _fake_tide_private_mode
else
set -e _fake_tide_private_mode
end
# Same-color-separator color
set -gx _fake_tide_color_separator_same_color "$(set_color $fake_tide_prompt_color_separator_same_color)"
# two line prompt
if contains newline $fake_tide_left_prompt_items
set_color $fake_tide_prompt_color_frame_and_connection -b normal | read -gx _fake_tide_prompt_and_frame_color
else
set -e _fake_tide_prompt_and_frame_color
end
# newline before
if test "$fake_tide_prompt_add_newline_before" = true
set -g _fake_tide_add_newline ''
else
set -e _fake_tide_add_newline
end
# item padding
if test "$fake_tide_prompt_pad_items" = true
set -gx _fake_tide_pad ' '
else
set -e _fake_tide_pad
end
end

View file

@ -1,5 +0,0 @@
function _fake_tide_item_character
set_color $fake_tide_character_color
contains newline $fake_tide_left_prompt_items || echo -ns ' '
echo -ns $fake_tide_character_icon
end

View file

@ -1,3 +0,0 @@
function _fake_tide_item_cmd_duration
_fake_tide_print_item cmd_duration $fake_tide_cmd_duration_icon' ' 5s
end

View file

@ -1,3 +0,0 @@
function _fake_tide_item_git
_fake_tide_print_item git (set_color $fake_tide_git_color_branch) $fake_tide_git_icon' ' main
end

View file

@ -1,5 +0,0 @@
function _fake_tide_item_newline
set_color $prev_bg_color -b normal
var=fake_tide_"$_fake_tide_side"_prompt_suffix echo $$var
set -g add_prefix
end

View file

@ -1,3 +0,0 @@
function _fake_tide_item_os
_fake_tide_print_item os $fake_tide_os_icon
end

View file

@ -1,3 +0,0 @@
function _fake_tide_item_time
_fake_tide_print_item time (date +$fake_tide_time_format)
end

View file

@ -1,22 +0,0 @@
function _fake_tide_print_item -a item
var=fake_tide_"$item"_bg_color set -f item_bg_color $$var
if set -e add_prefix
set_color $item_bg_color -b normal
var=fake_tide_"$_fake_tide_side"_prompt_prefix echo -ns $$var
else if test "$item_bg_color" = "$prev_bg_color"
var=fake_tide_"$_fake_tide_side"_prompt_separator_same_color echo -ns $_fake_tide_color_separator_same_color$$var
else if test "$_fake_tide_side" = left
set_color $prev_bg_color -b $item_bg_color
echo -ns $fake_tide_left_prompt_separator_diff_color
else
set_color $item_bg_color -b $prev_bg_color
echo -ns $fake_tide_right_prompt_separator_diff_color
end
var=fake_tide_"$item"_color set_color $$var -b $item_bg_color
echo -ns $_fake_tide_pad $argv[2..] $_fake_tide_pad
set -g prev_bg_color $item_bg_color
end

View file

@ -1,42 +0,0 @@
function _fake_tide_prompt
set -g add_prefix
_fake_tide_side=left set -f left (for item in $fake_tide_left_prompt_items
_fake_tide_item_$item
end
if not set -e add_prefix
set_color $prev_bg_color -b normal
echo -ns $fake_tide_left_prompt_suffix
end)
set -g add_prefix
_fake_tide_side=right set -f right (for item in $fake_tide_right_prompt_items
_fake_tide_item_$item
end
if not set -e add_prefix
set_color $prev_bg_color -b normal
echo -ns $fake_tide_right_prompt_suffix
end)
if set -q _fake_tide_prompt_and_frame_color # If prompt is two lines
test "$fake_tide_left_prompt_frame_enabled" = true &&
set left[1] "$_fake_tide_prompt_and_frame_color╭─$left[1]" &&
set left[2] "$_fake_tide_prompt_and_frame_color╰─$left[2]"
test "$fake_tide_right_prompt_frame_enabled" = true &&
set right[1] "$right[1]$_fake_tide_prompt_and_frame_color─╮" &&
set right[2] "$right[2]$_fake_tide_prompt_and_frame_color─╯"
# 5 = @PWD@ length which will be replaced
math $fake_columns+5-(string length --visible "$left[1]$right[1]") | read -lx dist_btwn_sides
echo -ns "$right[2]"\n(string replace @PWD@ (_fake_tide_pwd) "$left[1]")$_fake_tide_prompt_and_frame_color
string repeat --no-newline --max (math max 0, $dist_btwn_sides-$_tide_pwd_len) $fake_tide_prompt_icon_connection
echo -ns "$right[1]"\n"$left[2] "
else
math $fake_columns+5-(string length --visible "$left[1]$right[1]") -$fake_tide_prompt_min_cols | read -lx dist_btwn_sides
string replace @PWD@ (_fake_tide_pwd) "$right[1]" "$left[1] "
end
end
function _fake_tide_item_pwd
_fake_tide_print_item pwd @PWD@
end

View file

@ -1,11 +0,0 @@
function _fake_tide_pwd
set -l out (
set_color $fake_tide_pwd_color_dirs
echo -ns $fake_tide_pwd_icon' ' '~/'
set_color -o $fake_tide_pwd_color_anchors
echo -ns src
set_color normal -b $fake_tide_pwd_bg_color
)
set -g _tide_pwd_len (string length --visible $out)
echo -ns $out
end

View file

@ -1,19 +0,0 @@
[user]
name = juancwu
email = 46619361+juancwu@users.noreply.github.com
signingkey = ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPgpMo8j6HrZf3Xoe6ppX3BOZ7a7Xj4e8QzEnR7x5dm9
[init]
defaultBranch = main
[pull]
rebase = true
[gpg]
format = ssh
[gpg "ssh"]
program = "/Applications/1Password.app/Contents/MacOS/op-ssh-sign"
[commit]
gpgsign = true

View file

@ -44,26 +44,25 @@ The configurations in this repository are highly inspired by and referenced from
# Setup # Setup
Follow the steps below to configure the dotfiles on macOS. Follow the steps below to configure the dotfiles on Ubuntu.
## Requirements ## Requirements
### 1. Install Homebrew ### 1. Install Fish
- [Homebrew](https://brew.sh/) - Package manager for macOS. Visit [https://fishshell.com/](https://fishshell.com/) and follow the instructions to install fish on Ubuntu.
After installing Homebrew, make sure to save its path somewhere using `which brew`. We are going to need it later to add it to path for `fish`.
### 2. Install Fish
Alternatively, follow these instructions for installing in Ubuntu.
```bash ```bash
brew install fish sudo add-apt-repository ppa:fish-shell/release-3
which fish sudo apt update
sudo apt install fish
``` ```
For more info: Verify fish has been installed.
```bash
- [Fish](https://fishshell.com/) - fish is a smart and user-friendly command line shell for Linux, macOS, and the rest of the family. which fish
```
#### Make fish the default shell #### Make fish the default shell
@ -71,44 +70,23 @@ For more info:
chsh -s $(which fish) chsh -s $(which fish)
``` ```
### 3. Install iTerm2 ### 2. Install Min browser
```fish
brew install iTerm2 --cask
```
Setup iTerm2 from json file. [Download](./files/iterm-profile.json)
### 4. Install Numi
Calculator and conversion application.
```fish
brew install numi --cask
```
### 5. Install Min browser
Minimalist browser Minimalist browser
Use the below command if running on Ubuntu:
```fish ```fish
brew install min --cask sudo dpkg -i /path/to/download
``` ```
### 6. Install Karabiner-Elements If not, visit [https://minbrowser.org/](https://minbrowser.org/).
Keybinding at system wide level for macOS. We want this for the sweet `ctrl+[` -> `esc` and `ctrl+h/j/k/l` -> `arrow keys`. ### 3. Install Neovim
```fish
brew install karabiner-elements --cask
```
### 7. Install Neovim
Neovim is an extension of vim that supports Lua scripting for configurations and plugins. Neovim is an extension of vim that supports Lua scripting for configurations and plugins.
```fish ```fish
brew install neovim sudo apt install neovim
``` ```
After installing neovim, we want to install all the language servers needed and formatters before installing plugins to avoid any problems. After installing neovim, we want to install all the language servers needed and formatters before installing plugins to avoid any problems.