annotate fish/config.fish @ 404:b5d54b669b8c

Improve fish config.
author Ludovic Chabant <ludovic@chabant.com>
date Tue, 12 Dec 2017 22:10:33 -0800
parents ff48d206d1f1
children c05a8f250042
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
371
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
1
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
2 # Environment variables {{{
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
3
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
4 set -g -x fish_greeting 'Hello.'
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
5
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
6 # Homebrew.
404
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
7 #set -g -x PATH /usr/local/sbin $PATH
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
8 #set -g -x PATH /usr/local/bin $PATH
371
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
9
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
10 # My own stuff.
404
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
11 if test -d $HOME/.local/bin
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
12 set -g -x PATH $HOME/.local/bin $PATH
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
13 end
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
14 if test -d $HOME/bin
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
15 set -g -x PATH $HOME/bin $PATH
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
16 end
371
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
17 set -g -x OS MacOSX
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
18 set -g -x EDITOR vim
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
19 set -g -x SHELL fish
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
20
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
21 # Python.
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
22 set -g -x VIRTUAL_ENV_DISABLE_PROMPT 1
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
23
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
24 # Go.
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
25 set -g -x GOPATH /usr/local/Cellar/go/1.4/gocode
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
26
404
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
27 if type -q git
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
28 set -g -x __local_has_git
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
29 end
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
30 if type -q hg
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
31 set -g -x __local_has_hg
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
32 end
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
33
371
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
34 # }}}
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
35
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
36 # Aliases {{{
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
37
404
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
38 # Run Tmux in UTF8 and 256 colours always.
371
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
39 alias tm 'tmux -u2'
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
40
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
41 # }}}
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
42
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
43 # Prompt {{{
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
44
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
45 set normal (set_color normal)
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
46 set magenta (set_color magenta)
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
47 set yellow (set_color yellow)
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
48 set green (set_color green)
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
49 set gray (set_color -o black)
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
50
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
51 function virtualenv_prompt
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
52 if set -q VIRTUAL_ENV
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
53 set_color -b blue white
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
54 printf '(venv:%s)' (basename "$VIRTUAL_ENV")
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
55 set_color normal
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
56 printf ' '
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
57 end
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
58 end
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
59
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
60 function prompt_char
404
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
61 if set -q __local_has_git
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
62 if git branch >/dev/null 2>/dev/null
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
63 printf '±' ; return
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
64 end
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
65 if hg root >/dev/null 2>/dev/null
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
66 printf '☿' ; return
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
67 end
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
68 echo '○'
371
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
69 end
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
70 end
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
71
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
72 function hg_prompt
404
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
73 if set -q __local_has_hg
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
74 set_color magenta
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
75 printf '%s' (fast-hg-bookmark 2>/dev/null)
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
76 set_color normal
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
77 end
371
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
78 end
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
79
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
80 function git_prompt
404
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
81 if set -q __local_has_git
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
82 if git root >/dev/null 2>&1
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
83 set_color normal
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
84 printf ' on '
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
85 set_color magenta
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
86 printf '%s' (git currentbranch ^/dev/null)
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
87 set_color green
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
88 git_prompt_status
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
89 set_color normal
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
90 end
371
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
91 end
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
92 end
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
93
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
94 function fish_prompt
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
95 set last_status $status
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
96
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
97 echo
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
98
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
99 # 'username@hostname: '
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
100 set_color magenta
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
101 printf '%s' (whoami)
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
102 set_color normal
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
103 printf '@'
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
104 set_color yellow
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
105 printf '%s' (hostname|cut -d . -f 1)
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
106 set_color normal
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
107 printf ': '
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
108
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
109 set_color $fish_color_cwd
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
110 printf '%s' (prompt_pwd)
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
111 set_color normal
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
112
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
113 printf ' '
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
114 prompt_char
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
115 printf ' '
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
116
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
117 hg_prompt
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
118
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
119 echo
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
120
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
121 virtualenv_prompt
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
122
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
123 if test $last_status -eq 0
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
124 set_color white -o
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
125 printf '> '
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
126 else
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
127 set_color red -o
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
128 printf '[%d] > ' $last_status
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
129 end
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
130
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
131 set_color normal
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
132 end
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
133
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
134 # }}}
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
135
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
136 # Directories {{{
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
137
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
138 alias .. 'cd ..'
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
139 alias ... 'cd ../..'
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
140 alias .... 'cd ../../..'
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
141 alias ..... 'cd ../../../..'
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
142
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
143 alias md 'mkdir -p'
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
144
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
145 # }}}
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
146
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
147 # Virtualenv wrapper for Fish {{{
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
148
404
b5d54b669b8c Improve fish config.
Ludovic Chabant <ludovic@chabant.com>
parents: 383
diff changeset
149 #eval (python -m virtualfish)
371
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
150
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
151 #set -g VIRTUALFISH_COMPAT_ALIASES # uncomment for virtualenvwrapper-style commands
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
152 #. $HOME/.config/fish/virtualfish/virtual.fish
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
153 # optional plugins
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
154 #. path/to/auto_activation.fish
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
155 #. path/to/global_requirements.fish
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
156 #. path/to/projects.fish
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
157
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
158 # }}}
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
159
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
160 # Local Settings {{{
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
161
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
162 if test -s $HOME/.config/fish/local.fish
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
163 . $HOME/.config/fish/local.fish
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
164 end
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
165
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
166 # }}}
93a174c912ea Re-add fish config.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
167