Add bash prompt and vim snakemake config

This commit is contained in:
2019-12-03 13:00:31 +01:00
parent f3d47aaa31
commit c0d719ab78
4 changed files with 93 additions and 2 deletions

87
.bash_prompt.kuba Normal file
View File

@@ -0,0 +1,87 @@
#!/bin/bash
set_prompt_fancy()
{
local is_git="$(git rev-parse --is-inside-work-tree 2>/dev/null)"
local last_cmd=$?
local txtreset='$(tput sgr0)'
local txtbold='$(tput bold)'
local txtblack='$(tput setaf 0)'
local txtred='$(tput setaf 1)'
local txtgreen='$(tput setaf 2)'
local txtyellow='$(tput setaf 3)'
local txtblue='$(tput setaf 4)'
local txtpurple='$(tput setaf 5)'
local txtcyan='$(tput setaf 6)'
local txtwhite='$(tput setaf 7)'
# unicode "✗"
local fancyx='\342\234\227'
# unicode "✓"
local checkmark='\342\234\223'
# Line 1: Full date + full time (24h)
# Line 2: current path
PS1="\[$txtbold\]\[$txtwhite\]\n\D{%A %d %B %Y %H:%M:%S}\n\[$txtgreen\]\w\n"
# Line 3: Git repo + path in repo
if [ "$is_git" ]; then
local git_repo=$(basename `git rev-parse --show-toplevel` 2>/dev/null)
local git_rel_path=$(git rev-parse --show-prefix 2>/dev/null)
PS1+="$txtcyan$git_repo $txtpurple$git_rel_path$txtreset\n"
fi
# User color: red for root, yellow for others
if [[ $EUID == 0 ]]; then
PS1+="\[$txtred\]"
else
PS1+="\[$txtyellow\]"
fi
# Line 3: user@host
PS1+="\u\[$txtwhite\]@\h\n"
# Line 4: a red "✗" or a green "✓" and the error number
if [[ $last_cmd == 0 ]]; then
PS1+="\[$txtgreen\]$checkmark \[$txtwhite\](0)"
else
PS1+="\[$txtred\]$fancyx \[$txtwhite\]($last_cmd)"
fi
# Line 4: green git branch
PS1+="\[$txtgreen\]$(__git_ps1 ' (%s)')\[$txtwhite\]"
# Line 4: good old prompt, $ for user, # for root
PS1+=" \\$ "
}
set_prompt()
{
local is_git="$(git rev-parse --is-inside-work-tree 2>/dev/null)"
local txtreset='$(tput sgr0)'
local txtbold='$(tput bold)'
local txtblack='$(tput setaf 0)'
local txtred='$(tput setaf 1)'
local txtgreen='$(tput setaf 2)'
local txtyellow='$(tput setaf 3)'
local txtblue='$(tput setaf 4)'
local txtpurple='$(tput setaf 5)'
local txtcyan='$(tput setaf 6)'
local txtwhite='$(tput setaf 7)'
# User color: red for root, yellow for others
if [[ $EUID == 0 ]]; then
PS1+="\[$txtred\]"
else
PS1+="\[$txtyellow\]"
fi
# user@host
PS1="\u\[$txtwhite\]@\h"
# Current path
PS1+="\[$txtgreen\]\w "
# Git repo + path in repo
if [ "$is_git" ]; then
local git_repo=$(basename `git rev-parse --show-toplevel` 2>/dev/null)
local git_rel_path=$(git rev-parse --show-prefix 2>/dev/null)
PS1+="$txtcyan$git_repo $txtpurple$git_rel_path$txtreset"
# Green git branch
PS1+="\[$txtgreen\]$(__git_ps1 ' (%s)')\[$txtwhite\] "
fi
# Good old prompt, $ for user, # for root
PS1+="$txtreset\\$ "
}
export PROMPT_COMMAND='set_prompt'

View File

@@ -5,7 +5,7 @@
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
alias ls='ls --color=auto'
PS1='[\u@\h \W]\$ '
source ~/.bash_prompt.kuba
export EDITOR="vim"
export CUPS_GSSSERVICENAME=HTTP
export PATH=$PATH:/home/kuba/bin

View File

@@ -2,3 +2,7 @@ unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
set -g mouse on
# pane movement
bind-key j command-prompt -p "join pane from:" "join-pane -s '%%'"
bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'"

2
.vimrc
View File

@@ -23,8 +23,8 @@ if filereadable(expand(vundle_dir) . "/README.md")
Plugin 'airblade/vim-gitgutter'
Plugin 'jeetsukumaran/vim-pythonsense'
Plugin 'easymotion/vim-easymotion'
Plugin 'file:///home/kuba/git/vim-indexer'
Plugin 'cpiger/NeoDebug'
Plugin 'ivan-krukov/vim-snakemake'
call vundle#end() " required
else