-
Notifications
You must be signed in to change notification settings - Fork 0
/
.bashrc
119 lines (104 loc) · 3.73 KB
/
.bashrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# TODO: clean out the cruft; genericize the references to certain paths?; improve readability
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color) color_prompt=yes;;
esac
# turn on colored prompt
force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi
_exitstatus() {
status=$?
(( status != 0 )) && printf "\001\e[1;31m\002exit $status\001\e[0m\002\n"
}
PROMPT_COMMAND=_exitstatus
#PS1='$(_exitstatus)\[\e[32m\]\w\[\e[0m\]\n\e[32m\s➔\e[0m '
#PS1='\[\e[32m\]\w\[\e[0m\]\n\e[32m\s➔\e[0m '
# Unfortunately, the version of Bash that ships with Git for Windows misinterprets these \001 and \002 characters as smileys.
# That's tolerable though.
PS1='\[\001\e[32m\002\]\w\[\001\e[0m\002\]\n\001\e[32m\002\s➔\001\e[0m\002 '
#if [ "$color_prompt" = yes ]; then
# PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\n\033[1;32m\$\033[22;39m '
#else
# PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
#fi
unset color_prompt force_color_prompt
## If this is an xterm set the title to user@host:dir
#case "$TERM" in
#xterm*|rxvt*)
# PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
# ;;
#*)
# ;;
#esac
# Aliases and path munging
# These things are kept in separate files, to keep everything clean.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
test -f "$HOME/.config/dotfiles/dotfiles.conf" && . "$HOME/.config/dotfiles/dotfiles.conf"
test -z "$DOTFILES_DIR" && DOTFILES_DIR="$HOME/dotfiles"
if [ -f "$DOTFILES_DIR/.bash_vars" ]; then
. "$DOTFILES_DIR/.bash_vars"
else
echo "$DOTFILES_DIR/.bash_vars"
echo "vars not found"
fi
if [ -f "$DOTFILES_DIR/.bash_aliases" ]; then
. "$DOTFILES_DIR/.bash_aliases"
else
echo "$DOTFILES_DIR/.bash_aliases"
echo "aliases not found"
fi
if [ -f "$DOTFILES_DIR/.bash_path" ]; then
. "$DOTFILES_DIR/.bash_path"
else
echo "$DOTFILES_DIR/.bash_path"
echo "path not found"
fi
if [ -f "$HOME/.local/.bashrc" ]; then
. "$HOME/.local/.bashrc"
else
echo ~/.local/.bashrc not found
fi
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
if [[ -f "~/TODO.md" ]]; then
# pandoc ~/TODO.md -t html | lynx -stdin -dump
echo "There are $(wc -l "~/TODO.md" | grep -o '[0-9]*\ ')lines remaining in ~/TODO.md!"
fi
# w2do -l