fish prompt
This commit is contained in:
parent
082597a0d1
commit
c269458b0e
@ -1,3 +1,4 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
rm -rf ~/.config/fish/conf.d
|
rm -rf ~/.config/fish/conf.d
|
||||||
|
rm -rf ~/.config/fish/functions
|
||||||
|
2
fish/functions/fish_greeting.fish
Normal file
2
fish/functions/fish_greeting.fish
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
function fish_greeting
|
||||||
|
end
|
111
fish/functions/fish_prompt.fish
Normal file
111
fish/functions/fish_prompt.fish
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
# Based on top of fish's built-in "informative" shell style (see fish_config)
|
||||||
|
# I actually forgot what it's called exactly
|
||||||
|
#
|
||||||
|
# Most is the same. Only thing different is that it:
|
||||||
|
# - prints leading space because my head is tired from moving to the left in
|
||||||
|
# internet articles, terminal programs, and prompt
|
||||||
|
# - changes the suffix to ">"
|
||||||
|
# - fixes git clean state char
|
||||||
|
# - makes base name blue
|
||||||
|
# - print user@hostname in right prompt (see fish_right_prompt)
|
||||||
|
function fish_prompt --description 'Write out the prompt'
|
||||||
|
set -l last_pipestatus $pipestatus
|
||||||
|
|
||||||
|
if not set -q __fish_git_prompt_show_informative_status
|
||||||
|
set -g __fish_git_prompt_show_informative_status 1
|
||||||
|
end
|
||||||
|
if not set -q __fish_git_prompt_hide_untrackedfiles
|
||||||
|
set -g __fish_git_prompt_hide_untrackedfiles 1
|
||||||
|
end
|
||||||
|
if not set -q __fish_git_prompt_color_branch
|
||||||
|
set -g __fish_git_prompt_color_branch magenta --bold
|
||||||
|
end
|
||||||
|
if not set -q __fish_git_prompt_showupstream
|
||||||
|
set -g __fish_git_prompt_showupstream "informative"
|
||||||
|
end
|
||||||
|
if not set -q __fish_git_prompt_char_upstream_ahead
|
||||||
|
set -g __fish_git_prompt_char_upstream_ahead "↑"
|
||||||
|
end
|
||||||
|
if not set -q __fish_git_prompt_char_upstream_behind
|
||||||
|
set -g __fish_git_prompt_char_upstream_behind "↓"
|
||||||
|
end
|
||||||
|
if not set -q __fish_git_prompt_char_upstream_prefix
|
||||||
|
set -g __fish_git_prompt_char_upstream_prefix ""
|
||||||
|
end
|
||||||
|
if not set -q __fish_git_prompt_char_stagedstate
|
||||||
|
set -g __fish_git_prompt_char_stagedstate "●"
|
||||||
|
end
|
||||||
|
if not set -q __fish_git_prompt_char_dirtystate
|
||||||
|
set -g __fish_git_prompt_char_dirtystate "✚"
|
||||||
|
end
|
||||||
|
if not set -q __fish_git_prompt_char_untrackedfiles
|
||||||
|
set -g __fish_git_prompt_char_untrackedfiles "…"
|
||||||
|
end
|
||||||
|
if not set -q __fish_git_prompt_char_invalidstate
|
||||||
|
set -g __fish_git_prompt_char_invalidstate "✖"
|
||||||
|
end
|
||||||
|
if not set -q __fish_git_prompt_char_cleanstate
|
||||||
|
# Switch from the check symbol to = because this fixes the width
|
||||||
|
# calculation problem where where the last char at the right prompt
|
||||||
|
# will be wrapped to the next line.
|
||||||
|
# Solution from stack overflow obviously, lost link though
|
||||||
|
set -g __fish_git_prompt_char_cleanstate "="
|
||||||
|
end
|
||||||
|
if not set -q __fish_git_prompt_color_dirtystate
|
||||||
|
set -g __fish_git_prompt_color_dirtystate blue
|
||||||
|
end
|
||||||
|
if not set -q __fish_git_prompt_color_stagedstate
|
||||||
|
set -g __fish_git_prompt_color_stagedstate yellow
|
||||||
|
end
|
||||||
|
if not set -q __fish_git_prompt_color_invalidstate
|
||||||
|
set -g __fish_git_prompt_color_invalidstate red
|
||||||
|
end
|
||||||
|
if not set -q __fish_git_prompt_color_untrackedfiles
|
||||||
|
set -g __fish_git_prompt_color_untrackedfiles $fish_color_normal
|
||||||
|
end
|
||||||
|
if not set -q __fish_git_prompt_color_cleanstate
|
||||||
|
set -g __fish_git_prompt_color_cleanstate green --bold
|
||||||
|
end
|
||||||
|
|
||||||
|
set -l color_cwd
|
||||||
|
set -l prefix
|
||||||
|
set -l suffix
|
||||||
|
switch "$USER"
|
||||||
|
case root toor
|
||||||
|
if set -q fish_color_cwd_root
|
||||||
|
set color_cwd $fish_color_cwd_root
|
||||||
|
set color_cwd_base $fish_color_cwd_root
|
||||||
|
else
|
||||||
|
set color_cwd $fish_color_cwd
|
||||||
|
set color_cwd_base blue
|
||||||
|
end
|
||||||
|
set suffix ' #'
|
||||||
|
case '*'
|
||||||
|
set color_cwd $fish_color_cwd
|
||||||
|
set color_cwd_base blue
|
||||||
|
set suffix '>'
|
||||||
|
end
|
||||||
|
|
||||||
|
# NOW we print the prompt :p
|
||||||
|
|
||||||
|
# PWD
|
||||||
|
set wd (prompt_pwd)
|
||||||
|
set_color $color_cwd
|
||||||
|
if not [ $wd = '~' ]
|
||||||
|
# Make basename blue just because
|
||||||
|
echo -n (dirname $wd)'/'
|
||||||
|
set_color $color_cwd_base
|
||||||
|
echo -n (basename $wd)
|
||||||
|
else
|
||||||
|
echo -n ' ~'
|
||||||
|
end
|
||||||
|
set_color normal
|
||||||
|
|
||||||
|
printf '%s' (fish_vcs_prompt)
|
||||||
|
|
||||||
|
set -l pipestatus_string (__fish_print_pipestatus "[" "] " "|" (set_color $fish_color_status) (set_color --bold $fish_color_status) $last_pipestatus)
|
||||||
|
echo -n $pipestatus_string
|
||||||
|
set_color normal
|
||||||
|
|
||||||
|
echo -n "$suffix "
|
||||||
|
end
|
6
fish/functions/fish_right_prompt.fish
Normal file
6
fish/functions/fish_right_prompt.fish
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
function fish_right_prompt
|
||||||
|
set_color $fish_color_autosuggestion 2> /dev/null; or set_color 555
|
||||||
|
printf "%s@%s " $USER (hostname)
|
||||||
|
date "+%H:%M:%S"
|
||||||
|
set_color normal
|
||||||
|
end
|
3
fish/functions/ll.fish
Normal file
3
fish/functions/ll.fish
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
function ll
|
||||||
|
ls -al $argv
|
||||||
|
end
|
@ -1,4 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
rm -rf ~/.config/fish/conf.d
|
rm -rf ~/.config/fish/conf.d
|
||||||
|
rm -rf ~/.config/fish/functions
|
||||||
|
|
||||||
ln -s $HOME/dotfiles/fish/conf.d $HOME/.config/fish/conf.d
|
ln -s $HOME/dotfiles/fish/conf.d $HOME/.config/fish/conf.d
|
||||||
|
ln -s $HOME/dotfiles/fish/functions $HOME/.config/fish/functions
|
||||||
|
Loading…
Reference in New Issue
Block a user