mirror of
https://github.com/nmasur/dotfiles
synced 2025-07-06 02:40:14 +00:00
Fish nvim setup with colors
This commit is contained in:
72
fish.configlink/functions/aliases.fish
Normal file
72
fish.configlink/functions/aliases.fish
Normal file
@ -0,0 +1,72 @@
|
||||
#!/usr/local/bin/fish
|
||||
|
||||
function aliases --description 'All aliases'
|
||||
|
||||
# Directory aliases
|
||||
alias ls 'exa' # exa = improved ls
|
||||
abbr -a l 'ls' # Quicker shortcut for ls
|
||||
abbr -a lh 'ls -lh' # Pretty vertical list
|
||||
abbr -a ll 'ls -alhF' # Include hidden files
|
||||
|
||||
# Git
|
||||
abbr -a gs 'git status'
|
||||
abbr -a gd 'git diff'
|
||||
abbr -a ga 'git add -A'
|
||||
abbr -a gc 'git commit -m'
|
||||
|
||||
# Vim
|
||||
if command -v nvim > /dev/null
|
||||
alias vim='nvim' # Use neovim if installed
|
||||
abbr -a vimrc 'vim $HOME/.config/nvim/init.vim' # Edit ".vimrc" file
|
||||
end
|
||||
|
||||
# Improved CLI Tools
|
||||
alias ping='prettyping --nolegend'
|
||||
abbr -a cat 'bat' # Swap cat with bat
|
||||
abbr -a oldcat 'cat' # If we need to use cat
|
||||
abbr -a h 'http -Fh --all' # Curl site for headers
|
||||
|
||||
# Fun CLI Tools
|
||||
alias search='googler -j'
|
||||
alias checkip='curl checkip.amazonaws.com'
|
||||
alias weather='curl wttr.in'
|
||||
alias moon='curl wttr.in/Moon'
|
||||
alias ipinfo='curl ipinfo.io'
|
||||
alias worldmap='telnet mapscii.me'
|
||||
|
||||
# Dotfile and config shortcuts
|
||||
alias reload='source $DOTS/fish.configlink/config.fish' # Refresh fish shell
|
||||
abbr -a boot '$DOTS/scripts/bootstrap'
|
||||
abbr -a sshc 'vim ~/.ssh/config'
|
||||
abbr -a hosts 'sudo vim /etc/hosts'
|
||||
abbr -a frc 'vim $HOME/.config/fish/config.fish'
|
||||
abbr -a falias 'vim $HOME/.config/fish/functions/aliases.fish'
|
||||
|
||||
# Cheat Sheets
|
||||
alias proj='cd $PROJ'
|
||||
abbr -a ssl 'openssl req -new -newkey rsa:2048 -nodes' \
|
||||
'-keyout server.key -out server.csr'
|
||||
|
||||
# Docker
|
||||
abbr -a dc '$DOTS/bin/docker_cleanup'
|
||||
abbr -a dr 'docker run'
|
||||
abbr -a db 'docker build . -t'
|
||||
alias connect='docker run --rm -v ~/.aws:/root/.aws -v ~/.ssh:/root/.ssh -it connect-aws'
|
||||
|
||||
# Terraform
|
||||
abbr -a te 'terraform'
|
||||
|
||||
# Python
|
||||
abbr py 'python'
|
||||
alias domisty='cd $PROJ/misty && ./buildrun.sh'
|
||||
|
||||
# Rust
|
||||
abbr -a ca 'cargo'
|
||||
|
||||
# Non-MacOS
|
||||
if [ (uname) = "Linux" ]
|
||||
alias pbcopy='xclip -selection clipboard -in'
|
||||
alias pbpaste='xclip -selection clipboard -out'
|
||||
end
|
||||
|
||||
end
|
25
fish.configlink/functions/pyenv.fish
Normal file
25
fish.configlink/functions/pyenv.fish
Normal file
@ -0,0 +1,25 @@
|
||||
#!/usr/local/bin/fish
|
||||
|
||||
function 'pyenv' --description 'Features for Pyenv virtualenvs'
|
||||
|
||||
set -g PYENV_VERSIONS_DIR $HOME/.pyenv/versions
|
||||
|
||||
abbr -a d 'deactivate'
|
||||
alias pv='cd $PYENV_VERSIONS_DIR'
|
||||
alias ip='source $PYENV_VERSIONS_DIR/ipython/bin/activate.fish'
|
||||
|
||||
|
||||
function 'venv' --description 'Enter a pyenv virtualenv'
|
||||
source ~/.pyenv/versions/$argv[1]/bin/activate.fish
|
||||
end
|
||||
|
||||
function 'ipy' --description 'Borrow iPython interpreter'
|
||||
set STORED_VENV $VIRTUAL_ENV
|
||||
source $PYENV_VERSIONS_DIR/ipython/bin/activate.fish; and \
|
||||
ipython; and \
|
||||
deactivate; and \
|
||||
if [ $STORED_VENV ];
|
||||
source $STORED_VENV/bin/activate.fish
|
||||
end
|
||||
end
|
||||
end
|
141
fish.configlink/functions/theme_gruvbox.fish
Normal file
141
fish.configlink/functions/theme_gruvbox.fish
Normal file
@ -0,0 +1,141 @@
|
||||
#!/usr/bin/fish
|
||||
function theme_gruvbox --description 'Apply gruvbox theme'
|
||||
set -l mode 'dark'
|
||||
if test (count $argv) -gt 0
|
||||
set mode $argv[1]
|
||||
end
|
||||
|
||||
set -g contrast 'medium'
|
||||
if test (count $argv) -gt 1
|
||||
set contrast $argv[2]
|
||||
end
|
||||
|
||||
switch $contrast
|
||||
case 'soft'
|
||||
case 'medium'
|
||||
case 'hard'
|
||||
case '*'
|
||||
set_color $fish_color_error
|
||||
echo 'Unknown contrast $contrast, choose soft, medium or hard'
|
||||
set_color $fish_color_normal
|
||||
return 1
|
||||
end
|
||||
|
||||
switch $mode
|
||||
case 'light'
|
||||
__theme_gruvbox_base
|
||||
__theme_gruvbox_light
|
||||
case 'dark'
|
||||
__theme_gruvbox_base
|
||||
__theme_gruvbox_dark
|
||||
case '*'
|
||||
set_color $fish_color_error
|
||||
echo 'Unknown mode $mode, choose light or dark'
|
||||
set_color $fish_color_normal
|
||||
return 1
|
||||
end
|
||||
__theme_gruvbox_palette
|
||||
return 0
|
||||
end
|
||||
|
||||
function __theme_gruvbox_base
|
||||
__printf_color 1 'cc/24/1d'
|
||||
__printf_color 2 '98/97/1a'
|
||||
__printf_color 3 'd7/99/21'
|
||||
__printf_color 4 '45/85/88'
|
||||
__printf_color 5 'b1/62/86'
|
||||
__printf_color 6 '68/9d/6a'
|
||||
end
|
||||
|
||||
function __theme_gruvbox_light
|
||||
set -l bg 'fb/f1/c7'
|
||||
switch $contrast
|
||||
case "soft"
|
||||
set bg 'f2/e5/bc'
|
||||
case "hard"
|
||||
set bg 'f9/f5/d7'
|
||||
end
|
||||
command printf "\033]11;rgb:$bg\007"
|
||||
|
||||
set -l fg '3c/38/36'
|
||||
command printf "\033]10;rgb:$fg\007"
|
||||
|
||||
__printf_color 0 $bg
|
||||
__printf_color 7 '7c/6f/64'
|
||||
__printf_color 8 '92/83/74'
|
||||
__printf_color 9 '9d/00/06'
|
||||
__printf_color 10 '79/74/0e'
|
||||
__printf_color 11 'b5/76/14'
|
||||
__printf_color 12 '07/66/78'
|
||||
__printf_color 13 '8f/3f/71'
|
||||
__printf_color 14 '42/7b/58'
|
||||
__printf_color 15 $fg
|
||||
end
|
||||
|
||||
function __theme_gruvbox_dark
|
||||
set -l bg '28/28/28'
|
||||
switch $contrast
|
||||
case "soft"
|
||||
set bg '32/30/2f'
|
||||
case "hard"
|
||||
set bg '1d/20/21'
|
||||
end
|
||||
command printf "\033]11;rgb:$bg\007"
|
||||
|
||||
set -l fg 'eb/db/b2'
|
||||
command printf "\033]10;rgb:$fg\007"
|
||||
|
||||
__printf_color 0 $bg
|
||||
__printf_color 7 'a8/99/84'
|
||||
__printf_color 8 '92/83/74'
|
||||
__printf_color 9 'fb/59/34'
|
||||
__printf_color 10 'b8/bb/26'
|
||||
__printf_color 11 'fa/bd/2f'
|
||||
__printf_color 12 '83/a5/98'
|
||||
__printf_color 13 'd3/86/9b'
|
||||
__printf_color 14 '8e/c0/7c'
|
||||
__printf_color 15 $fg
|
||||
end
|
||||
|
||||
function __theme_gruvbox_palette
|
||||
__printf_color 236 '32/30/2f'
|
||||
__printf_color 234 '1d/20/21'
|
||||
|
||||
__printf_color 235 '28/28/28'
|
||||
__printf_color 237 '3c/38/36'
|
||||
__printf_color 239 '50/49/45'
|
||||
__printf_color 241 '66/5c/54'
|
||||
__printf_color 243 '7c/6f/64'
|
||||
|
||||
__printf_color 244 '92/83/74'
|
||||
__printf_color 245 '92/83/74'
|
||||
|
||||
__printf_color 228 'f2/e5/bc'
|
||||
__printf_color 230 'f9/f5/d7'
|
||||
|
||||
__printf_color 229 'fb/f1/c7'
|
||||
__printf_color 223 'eb/db/b2'
|
||||
__printf_color 250 'd5/c4/a1'
|
||||
__printf_color 248 'bd/ae/93'
|
||||
__printf_color 246 'a8/99/84'
|
||||
|
||||
__printf_color 167 'fb/49/34'
|
||||
__printf_color 142 'b8/bb/26'
|
||||
__printf_color 214 'fa/bd/2f'
|
||||
__printf_color 109 '83/a5/98'
|
||||
__printf_color 175 'd3/86/9b'
|
||||
__printf_color 108 '8e/c0/7c'
|
||||
__printf_color 208 'fe/80/19'
|
||||
|
||||
__printf_color 88 '9d/00/06'
|
||||
__printf_color 100 '79/74/0e'
|
||||
__printf_color 136 'b5/76/14'
|
||||
__printf_color 24 '07/66/78'
|
||||
__printf_color 96 '8f/3f/71'
|
||||
__printf_color 66 '42/7b/58'
|
||||
__printf_color 130 'af/3a/03'
|
||||
end
|
||||
|
||||
function __printf_color
|
||||
command printf "\033]4;$argv[1];rgb:$argv[2]\007"
|
||||
end
|
Reference in New Issue
Block a user