blob: f34230ba059da11ea0eca7e51d2b460c9632b69f (
plain)
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
120
|
#!/hint/bash
######################################################################
# Set up colors and settings for all the things #
######################################################################
if [ -x "`which dircolors`" ]; then
eval "$(dircolors -p | cat - "${XDG_CONFIG_HOME}/dir_colors" |
dircolors -b -)"
alias ls='ls -1v --color=auto'
alias dir='dir -v --color=auto'
alias vdir='vdir -v --color=auto'
for xgrep in ${PATH//:/\/*grep }/*grep; do
if [ -f "$xgrep" ]; then
xgrep=$(basename "$xgrep")
if [ "$xgrep" != pgrep ]; then
alias $xgrep="$xgrep --color=auto"
fi
fi
done
unset xgrep
wdiff() {
if [[ -t 1 ]]; then
local red="$(tput setaf 1)"
local blue="$(tput setaf 4)"
local bold="$(tput bold)"
local reset="$(tput sgr0)"
command wdiff \
-w "$bold$red[-" \
-x "-]$reset" \
-y "$bold$blue{+" \
-z "+}$reset" "$@"
else
command wdiff "$@"
fi
}
diff() {
if [[ -t 1 ]]; then
(
set -o pipefail
command diff "$@" | colordiff
)
else
command diff "$@"
fi
}
else
alias ls='ls -1v'
alias dir='dir -v'
alias vdir='vdir -v'
fi
######################################################################
# Set up the standard aliases for ls #
######################################################################
alias ll='ls -l'
alias la='ls -a'
alias l='ls -CF'
######################################################################
# Some preferences for miscellaneous stuff #
######################################################################
#alias rm='gvfs-trash'
#alias sed='sed --follow-symlinks' # breaks operating on stdio in GNU sed 4.2.2
alias tree='tree --charset utf8'
alias cd=pushd
alias gitk='gitk --all --date-order'
alias userctl='systemctl --user'
alias mv='mv -i'
######################################################################
# These are actually functions :P #
######################################################################
term-title() {
local fmt=''
case "$TERM" in
screen|tmux) fmt='\ek%s\e\\';;
xterm*|rxvt*) fmt='\e]0;%s\a';;
esac
printf "$fmt" "$*"
}
mvln() {
local target link
if [[ ! -L "$1" ]]; then
libremessages error 'Not a soft link: %s' "$1"
return 1
fi
if [[ -d "$2" ]]; then
link="$2/${1##*/}"
else
link="$2"
fi
target=$(readlink -f -- "$1") || return 1
ln -srT -- "$target" "$link"
if cmp -- "$1" "$link"; then
rm -f -- "$1"
else
libremessages error 'Failed moving link: %s -> %s' "$1" "$link"
return 1
fi
}
jarls() {
jar tf "$1" |
sed -n 's/\.class$//p' |
LC_ALL=C sort |
xargs -r -d $'\n' javap -classpath "$1"
}
tarls() {
local file
for file in "$@"; do
bsdtar tf "$file" | sed "s|^|$file:|"
done
}
jarmain() {
jarls "$1" 2>/dev/null |
grep -E '(^[a-z]|public static void main\(java\.lang\.String\[\]\))' |
grep -B1 '^ '
}
|