Add first go at a fish config
This commit is contained in:
parent
75b6774ac7
commit
37067fb5d8
11 changed files with 424 additions and 3 deletions
5
.gitignore
vendored
5
.gitignore
vendored
|
@ -1,9 +1,8 @@
|
||||||
bin/misc
|
bin/misc
|
||||||
fish/fish_history
|
|
||||||
fish/fish_read_history
|
|
||||||
fish/fishd*
|
|
||||||
configstore
|
configstore
|
||||||
|
|
||||||
|
fish/fish.xdg.symlink/conf.d/secret.fish
|
||||||
|
|
||||||
vim/vim.xdg.symlink/.netrwhist
|
vim/vim.xdg.symlink/.netrwhist
|
||||||
vim/vim.xdg.symlink/plugged
|
vim/vim.xdg.symlink/plugged
|
||||||
vim/vim.xdg.symlink/plugged-update
|
vim/vim.xdg.symlink/plugged-update
|
||||||
|
|
200
fish/fish.xdg.symlink/conf.d/fzf.fish
Normal file
200
fish/fish.xdg.symlink/conf.d/fzf.fish
Normal file
|
@ -0,0 +1,200 @@
|
||||||
|
### key-bindings.fish ###
|
||||||
|
# ____ ____
|
||||||
|
# / __/___ / __/
|
||||||
|
# / /_/_ / / /_
|
||||||
|
# / __/ / /_/ __/
|
||||||
|
# /_/ /___/_/ key-bindings.fish
|
||||||
|
#
|
||||||
|
# - $FZF_TMUX_OPTS
|
||||||
|
# - $FZF_CTRL_T_COMMAND
|
||||||
|
# - $FZF_CTRL_T_OPTS
|
||||||
|
# - $FZF_CTRL_R_OPTS
|
||||||
|
# - $FZF_ALT_C_COMMAND
|
||||||
|
# - $FZF_ALT_C_OPTS
|
||||||
|
|
||||||
|
status is-interactive; or exit 0
|
||||||
|
|
||||||
|
|
||||||
|
# Key bindings
|
||||||
|
# ------------
|
||||||
|
function fzf_key_bindings
|
||||||
|
|
||||||
|
function __fzf_defaults
|
||||||
|
# $1: Prepend to FZF_DEFAULT_OPTS_FILE and FZF_DEFAULT_OPTS
|
||||||
|
# $2: Append to FZF_DEFAULT_OPTS_FILE and FZF_DEFAULT_OPTS
|
||||||
|
test -n "$FZF_TMUX_HEIGHT"; or set FZF_TMUX_HEIGHT 40%
|
||||||
|
echo "--height $FZF_TMUX_HEIGHT --bind=ctrl-z:ignore" $argv[1]
|
||||||
|
command cat "$FZF_DEFAULT_OPTS_FILE" 2> /dev/null
|
||||||
|
echo $FZF_DEFAULT_OPTS $argv[2]
|
||||||
|
end
|
||||||
|
|
||||||
|
# Store current token in $dir as root for the 'find' command
|
||||||
|
function fzf-file-widget -d "List files and folders"
|
||||||
|
set -l commandline (__fzf_parse_commandline)
|
||||||
|
set -lx dir $commandline[1]
|
||||||
|
set -l fzf_query $commandline[2]
|
||||||
|
set -l prefix $commandline[3]
|
||||||
|
|
||||||
|
test -n "$FZF_TMUX_HEIGHT"; or set FZF_TMUX_HEIGHT 40%
|
||||||
|
begin
|
||||||
|
set -lx FZF_DEFAULT_OPTS (__fzf_defaults "--reverse --walker=file,dir,follow,hidden --scheme=path --walker-root='$dir'" "$FZF_CTRL_T_OPTS")
|
||||||
|
set -lx FZF_DEFAULT_COMMAND "$FZF_CTRL_T_COMMAND"
|
||||||
|
set -lx FZF_DEFAULT_OPTS_FILE ''
|
||||||
|
eval (__fzfcmd)' -m --query "'$fzf_query'"' | while read -l r; set result $result $r; end
|
||||||
|
end
|
||||||
|
if [ -z "$result" ]
|
||||||
|
commandline -f repaint
|
||||||
|
return
|
||||||
|
else
|
||||||
|
# Remove last token from commandline.
|
||||||
|
commandline -t ""
|
||||||
|
end
|
||||||
|
for i in $result
|
||||||
|
commandline -it -- $prefix
|
||||||
|
commandline -it -- (string escape $i)
|
||||||
|
commandline -it -- ' '
|
||||||
|
end
|
||||||
|
commandline -f repaint
|
||||||
|
end
|
||||||
|
|
||||||
|
function fzf-history-widget -d "Show command history"
|
||||||
|
test -n "$FZF_TMUX_HEIGHT"; or set FZF_TMUX_HEIGHT 40%
|
||||||
|
begin
|
||||||
|
set -l FISH_MAJOR (echo $version | cut -f1 -d.)
|
||||||
|
set -l FISH_MINOR (echo $version | cut -f2 -d.)
|
||||||
|
|
||||||
|
# merge history from other sessions before searching
|
||||||
|
if test -z "$fish_private_mode"
|
||||||
|
builtin history merge
|
||||||
|
end
|
||||||
|
|
||||||
|
# history's -z flag is needed for multi-line support.
|
||||||
|
# history's -z flag was added in fish 2.4.0, so don't use it for versions
|
||||||
|
# before 2.4.0.
|
||||||
|
if [ "$FISH_MAJOR" -gt 2 -o \( "$FISH_MAJOR" -eq 2 -a "$FISH_MINOR" -ge 4 \) ];
|
||||||
|
if type -P perl > /dev/null 2>&1
|
||||||
|
set -lx FZF_DEFAULT_OPTS (__fzf_defaults "" "-n2..,.. --scheme=history --bind=ctrl-r:toggle-sort --wrap-sign '"\t"↳ ' --highlight-line $FZF_CTRL_R_OPTS +m")
|
||||||
|
set -lx FZF_DEFAULT_OPTS_FILE ''
|
||||||
|
builtin history -z --reverse | command perl -0 -pe 's/^/$.\t/g; s/\n/\n\t/gm' | eval (__fzfcmd) --tac --read0 --print0 -q '(commandline)' | command perl -pe 's/^\d*\t//' | read -lz result
|
||||||
|
and commandline -- $result
|
||||||
|
else
|
||||||
|
set -lx FZF_DEFAULT_OPTS (__fzf_defaults "" "--scheme=history --bind=ctrl-r:toggle-sort --wrap-sign '"\t"↳ ' --highlight-line $FZF_CTRL_R_OPTS +m")
|
||||||
|
set -lx FZF_DEFAULT_OPTS_FILE ''
|
||||||
|
builtin history -z | eval (__fzfcmd) --read0 --print0 -q '(commandline)' | read -lz result
|
||||||
|
and commandline -- $result
|
||||||
|
end
|
||||||
|
else
|
||||||
|
builtin history | eval (__fzfcmd) -q '(commandline)' | read -l result
|
||||||
|
and commandline -- $result
|
||||||
|
end
|
||||||
|
end
|
||||||
|
commandline -f repaint
|
||||||
|
end
|
||||||
|
|
||||||
|
function fzf-cd-widget -d "Change directory"
|
||||||
|
set -l commandline (__fzf_parse_commandline)
|
||||||
|
set -lx dir $commandline[1]
|
||||||
|
set -l fzf_query $commandline[2]
|
||||||
|
set -l prefix $commandline[3]
|
||||||
|
|
||||||
|
test -n "$FZF_TMUX_HEIGHT"; or set FZF_TMUX_HEIGHT 40%
|
||||||
|
begin
|
||||||
|
set -lx FZF_DEFAULT_OPTS (__fzf_defaults "--reverse --walker=dir,follow,hidden --scheme=path --walker-root='$dir'" "$FZF_ALT_C_OPTS")
|
||||||
|
set -lx FZF_DEFAULT_OPTS_FILE ''
|
||||||
|
set -lx FZF_DEFAULT_COMMAND "$FZF_ALT_C_COMMAND"
|
||||||
|
eval (__fzfcmd)' +m --query "'$fzf_query'"' | read -l result
|
||||||
|
|
||||||
|
if [ -n "$result" ]
|
||||||
|
cd -- $result
|
||||||
|
|
||||||
|
# Remove last token from commandline.
|
||||||
|
commandline -t ""
|
||||||
|
commandline -it -- $prefix
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
commandline -f repaint
|
||||||
|
end
|
||||||
|
|
||||||
|
function __fzfcmd
|
||||||
|
test -n "$FZF_TMUX"; or set FZF_TMUX 0
|
||||||
|
test -n "$FZF_TMUX_HEIGHT"; or set FZF_TMUX_HEIGHT 40%
|
||||||
|
if [ -n "$FZF_TMUX_OPTS" ]
|
||||||
|
echo "fzf-tmux $FZF_TMUX_OPTS -- "
|
||||||
|
else if [ $FZF_TMUX -eq 1 ]
|
||||||
|
echo "fzf-tmux -d$FZF_TMUX_HEIGHT -- "
|
||||||
|
else
|
||||||
|
echo "fzf"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
bind \cr fzf-history-widget
|
||||||
|
if not set -q FZF_CTRL_T_COMMAND; or test -n "$FZF_CTRL_T_COMMAND"
|
||||||
|
bind \ct fzf-file-widget
|
||||||
|
end
|
||||||
|
if not set -q FZF_ALT_C_COMMAND; or test -n "$FZF_ALT_C_COMMAND"
|
||||||
|
bind \ec fzf-cd-widget
|
||||||
|
end
|
||||||
|
|
||||||
|
if bind -M insert > /dev/null 2>&1
|
||||||
|
bind -M insert \cr fzf-history-widget
|
||||||
|
if not set -q FZF_CTRL_T_COMMAND; or test -n "$FZF_CTRL_T_COMMAND"
|
||||||
|
bind -M insert \ct fzf-file-widget
|
||||||
|
end
|
||||||
|
if not set -q FZF_ALT_C_COMMAND; or test -n "$FZF_ALT_C_COMMAND"
|
||||||
|
bind -M insert \ec fzf-cd-widget
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function __fzf_parse_commandline -d 'Parse the current command line token and return split of existing filepath, fzf query, and optional -option= prefix'
|
||||||
|
set -l commandline (commandline -t)
|
||||||
|
|
||||||
|
# strip -option= from token if present
|
||||||
|
set -l prefix (string match -r -- '^-[^\s=]+=' $commandline)
|
||||||
|
set commandline (string replace -- "$prefix" '' $commandline)
|
||||||
|
|
||||||
|
# eval is used to do shell expansion on paths
|
||||||
|
eval set commandline $commandline
|
||||||
|
|
||||||
|
if [ -z $commandline ]
|
||||||
|
# Default to current directory with no --query
|
||||||
|
set dir '.'
|
||||||
|
set fzf_query ''
|
||||||
|
else
|
||||||
|
set dir (__fzf_get_dir $commandline)
|
||||||
|
|
||||||
|
if [ "$dir" = "." -a (string sub -l 1 -- $commandline) != '.' ]
|
||||||
|
# if $dir is "." but commandline is not a relative path, this means no file path found
|
||||||
|
set fzf_query $commandline
|
||||||
|
else
|
||||||
|
# Also remove trailing slash after dir, to "split" input properly
|
||||||
|
set fzf_query (string replace -r "^$dir/?" -- '' "$commandline")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
echo $dir
|
||||||
|
echo $fzf_query
|
||||||
|
echo $prefix
|
||||||
|
end
|
||||||
|
|
||||||
|
function __fzf_get_dir -d 'Find the longest existing filepath from input string'
|
||||||
|
set dir $argv
|
||||||
|
|
||||||
|
# Strip all trailing slashes. Ignore if $dir is root dir (/)
|
||||||
|
if [ (string length -- $dir) -gt 1 ]
|
||||||
|
set dir (string replace -r '/*$' -- '' $dir)
|
||||||
|
end
|
||||||
|
|
||||||
|
# Iteratively check if dir exists and strip tail end of path
|
||||||
|
while [ ! -d "$dir" ]
|
||||||
|
# If path is absolute, this can keep going until ends up at /
|
||||||
|
# If path is relative, this can keep going until entire input is consumed, dirname returns "."
|
||||||
|
set dir (dirname -- "$dir")
|
||||||
|
end
|
||||||
|
|
||||||
|
echo $dir
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
### end: key-bindings.fish ###
|
||||||
|
fzf_key_bindings
|
3
fish/fish.xdg.symlink/conf.d/secret.fish.dist
Normal file
3
fish/fish.xdg.symlink/conf.d/secret.fish.dist
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
export GIT_AUTHOR_NAME="Max Bucknell"
|
||||||
|
export GIT_AUTHOR_EMAIL="me@maxbucknell.com"
|
||||||
|
|
95
fish/fish.xdg.symlink/config.fish
Normal file
95
fish/fish.xdg.symlink/config.fish
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
# Base Path
|
||||||
|
set PATH "/usr/local/bin" "/usr/bin" "/bin" "/usr/sbin" "/sbin"
|
||||||
|
|
||||||
|
# Homebrew (generated by `brew shellenv fish`, reformatted)
|
||||||
|
set -gx HOMEBREW_PREFIX "/opt/homebrew";
|
||||||
|
set -gx HOMEBREW_CELLAR "/opt/homebrew/Cellar";
|
||||||
|
set -gx HOMEBREW_REPOSITORY "/opt/homebrew";
|
||||||
|
|
||||||
|
fish_add_path --global --move --path "/opt/homebrew/bin" "/opt/homebrew/sbin";
|
||||||
|
|
||||||
|
if test -n "$MANPATH[1]"
|
||||||
|
set -gx MANPATH '' $MANPATH
|
||||||
|
end
|
||||||
|
|
||||||
|
if not contains "/opt/homebrew/share/info" $INFOPATH
|
||||||
|
set -gx INFOPATH "/opt/homebrew/share/info" $INFOPATH
|
||||||
|
end
|
||||||
|
|
||||||
|
# Rust
|
||||||
|
fish_add_path --global "$HOME/.cargo/bin"
|
||||||
|
|
||||||
|
# Ruby
|
||||||
|
fish_add_path --global "$HOMEBREW_PREFIX/ruby/bin"
|
||||||
|
|
||||||
|
# Go
|
||||||
|
set -gx GOPATH "$HOME/go"
|
||||||
|
set -gx GOBIN "$GOPATH/bin"
|
||||||
|
fish_add_path --global "$GOBIN"
|
||||||
|
|
||||||
|
# Node.js
|
||||||
|
set -gx NODEPATH "$HOMEBREW_PREFIX/node@20"
|
||||||
|
fish_add_path --global "$NODEPATH/bin"
|
||||||
|
|
||||||
|
# pnpm
|
||||||
|
set -gx PNPM_HOME "$HOME/Library/pnpm"
|
||||||
|
fish_add_path --global "$PNPM_HOME"
|
||||||
|
|
||||||
|
# Java
|
||||||
|
set -gx JAVAPATH "$HOMEBREW_PREFIX/openjdk@21"
|
||||||
|
fish_add_path --global "$JAVAPATH/bin"
|
||||||
|
|
||||||
|
# Android
|
||||||
|
set -gx ANDROID_HOME "$HOME/Library/Android/sdk"
|
||||||
|
fish_add_path --global "$ANDROID_HOME/emulator" "$ANDROID_HOME/platform-tools"
|
||||||
|
|
||||||
|
# Local path
|
||||||
|
fish_add_path --global "$DOTFILES_PATH/bin" "$DOTFILES_PATH/bin/misc"
|
||||||
|
|
||||||
|
# Git
|
||||||
|
|
||||||
|
set -gx GIT_COMMITTER_NAME "$GIT_AUTHOR_NAME"
|
||||||
|
set -gx GIT_COMMITTER_EMAIL "$GIT_AUTHOR_EMAIL"
|
||||||
|
|
||||||
|
set -g __fish_git_prompt_show_informative_status true
|
||||||
|
set -g __fish_git_prompt_showdirtystate true
|
||||||
|
|
||||||
|
# Vim aliases
|
||||||
|
set -gx EDITOR "vim"
|
||||||
|
alias vi vim
|
||||||
|
alias v vim
|
||||||
|
|
||||||
|
# Bazel
|
||||||
|
alias bazel bazelisk
|
||||||
|
|
||||||
|
# Bat
|
||||||
|
alias cat "bat --paging=never"
|
||||||
|
set -gx MANPAGER "sh -c 'col -bx | bat -l man -p'"
|
||||||
|
|
||||||
|
# Eza
|
||||||
|
alias ls "eza --git --color=never"
|
||||||
|
|
||||||
|
# Vi bindings
|
||||||
|
|
||||||
|
# fish_vi_key_bindings
|
||||||
|
|
||||||
|
# bind -M insert -m default jk cancel repaint-mode
|
||||||
|
# set -g fish_sequence_key_delay_ms 200
|
||||||
|
|
||||||
|
# Syntax highlighting
|
||||||
|
|
||||||
|
fish_config theme choose none
|
||||||
|
|
||||||
|
set -g fish_color_user normal
|
||||||
|
set -g fish_color_cwd normal
|
||||||
|
set -g fish_color_mode --bold magenta
|
||||||
|
set -g fish_color_comment green
|
||||||
|
set -g fish_color_error red
|
||||||
|
set -g fish_color_history_current magenta
|
||||||
|
set -g fish_color_quote blue
|
||||||
|
set -g fish_color_valid_path --bold
|
||||||
|
set -g fish_color_command --bold
|
||||||
|
set -g fish_color_time magenta
|
||||||
|
|
||||||
|
# Greeting
|
||||||
|
set -g fish_greeting "You look nice today :-)"
|
31
fish/fish.xdg.symlink/fish_variables
Normal file
31
fish/fish.xdg.symlink/fish_variables
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
# This file contains fish universal variable definitions.
|
||||||
|
# VERSION: 3.0
|
||||||
|
SETUVAR __fish_initialized:3400
|
||||||
|
SETUVAR fish_color_autosuggestion:brblack
|
||||||
|
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:bryellow\x1e\x2d\x2dbackground\x3dbrblack
|
||||||
|
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:yellow\x1e\x2di
|
||||||
|
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
|
||||||
|
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
|
||||||
|
SETUVAR fish_pager_color_selected_background:\x2dr
|
21
fish/fish.xdg.symlink/functions/fish_mode_prompt.fish
Normal file
21
fish/fish.xdg.symlink/functions/fish_mode_prompt.fish
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
function fish_mode_prompt --description 'Displays the current mode'
|
||||||
|
# Do nothing if not in vi mode
|
||||||
|
if test "$fish_key_bindings" = fish_vi_key_bindings
|
||||||
|
or test "$fish_key_bindings" = fish_hybrid_key_bindings
|
||||||
|
set_color $fish_color_mode
|
||||||
|
switch $fish_bind_mode
|
||||||
|
case default
|
||||||
|
echo '[N]'
|
||||||
|
case insert
|
||||||
|
echo '[I]'
|
||||||
|
case replace_one
|
||||||
|
echo '[R]'
|
||||||
|
case replace
|
||||||
|
echo '[R]'
|
||||||
|
case visual
|
||||||
|
echo '[V]'
|
||||||
|
end
|
||||||
|
set_color normal
|
||||||
|
echo -n ' '
|
||||||
|
end
|
||||||
|
end
|
31
fish/fish.xdg.symlink/functions/fish_prompt.fish
Normal file
31
fish/fish.xdg.symlink/functions/fish_prompt.fish
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
function fish_prompt --description 'Write out the prompt'
|
||||||
|
set -l last_pipestatus $pipestatus
|
||||||
|
set -lx __fish_last_status $status # Export for __fish_print_pipestatus.
|
||||||
|
set -l normal (set_color normal)
|
||||||
|
set -q fish_color_status
|
||||||
|
or set -g fish_color_status red
|
||||||
|
|
||||||
|
# Color the prompt differently when we're root
|
||||||
|
set -l color_cwd $fish_color_cwd
|
||||||
|
set -l suffix '$'
|
||||||
|
if functions -q fish_is_root_user; and fish_is_root_user
|
||||||
|
if set -q fish_color_cwd_root
|
||||||
|
set color_cwd $fish_color_cwd_root
|
||||||
|
end
|
||||||
|
set suffix '#'
|
||||||
|
end
|
||||||
|
|
||||||
|
# Write pipestatus
|
||||||
|
# If the status was carried over (if no command is issued or if `set` leaves the status untouched), don't bold it.
|
||||||
|
set -l bold_flag --bold
|
||||||
|
set -q __fish_prompt_status_generation; or set -g __fish_prompt_status_generation $status_generation
|
||||||
|
if test $__fish_prompt_status_generation = $status_generation
|
||||||
|
set bold_flag
|
||||||
|
end
|
||||||
|
set __fish_prompt_status_generation $status_generation
|
||||||
|
set -l status_color (set_color $fish_color_status)
|
||||||
|
set -l statusb_color (set_color $bold_flag $fish_color_status)
|
||||||
|
set -l prompt_status (__fish_print_pipestatus "[" "]" "|" "$status_color" "$statusb_color" $last_pipestatus)
|
||||||
|
|
||||||
|
echo -n -s (prompt_login)' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal " "$prompt_status " "$suffix " "
|
||||||
|
end
|
5
fish/fish.xdg.symlink/functions/fish_prompt_right.fish
Normal file
5
fish/fish.xdg.symlink/functions/fish_prompt_right.fish
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
function fish_prompt_right
|
||||||
|
set_color $fish_color_time
|
||||||
|
date "+[%H:%M:%S]"
|
||||||
|
set_color normal
|
||||||
|
end
|
5
fish/fish.xdg.symlink/functions/fish_right_prompt.fish
Normal file
5
fish/fish.xdg.symlink/functions/fish_right_prompt.fish
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
function fish_right_prompt
|
||||||
|
set_color $fish_color_time
|
||||||
|
date "+[%H:%M:%S]"
|
||||||
|
set_color normal
|
||||||
|
end
|
28
fish/fish.xdg.symlink/functions/prompt_login.fish
Normal file
28
fish/fish.xdg.symlink/functions/prompt_login.fish
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
function prompt_login --description 'display user name for the prompt'
|
||||||
|
if not set -q __fish_machine
|
||||||
|
set -g __fish_machine
|
||||||
|
set -l debian_chroot $debian_chroot
|
||||||
|
|
||||||
|
if test -r /etc/debian_chroot
|
||||||
|
set debian_chroot (cat /etc/debian_chroot)
|
||||||
|
end
|
||||||
|
|
||||||
|
if set -q debian_chroot[1]
|
||||||
|
and test -n "$debian_chroot"
|
||||||
|
set -g __fish_machine "(chroot:$debian_chroot)"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# Prepend the chroot environment if present
|
||||||
|
if set -q __fish_machine[1]
|
||||||
|
echo -n -s (set_color yellow) "$__fish_machine" (set_color normal) ' '
|
||||||
|
end
|
||||||
|
|
||||||
|
# If we're running via SSH, change the host color.
|
||||||
|
set -l color_host $fish_color_host
|
||||||
|
if set -q SSH_TTY; and set -q fish_color_host_remote
|
||||||
|
set color_host $fish_color_host_remote
|
||||||
|
end
|
||||||
|
|
||||||
|
echo -n -s (set_color $fish_color_user) "$USER" (set_color normal)
|
||||||
|
end
|
|
@ -78,3 +78,6 @@
|
||||||
[commit]
|
[commit]
|
||||||
gpgsign = true
|
gpgsign = true
|
||||||
|
|
||||||
|
[bash]
|
||||||
|
showInformativeStatus = 1
|
||||||
|
showDirtyState = 1
|
||||||
|
|
Loading…
Add table
Reference in a new issue