# HG changeset patch # User Steve Losh # Date 1392424101 18000 # Node ID d11d74fcebabdcef5185f027836be20934b8f8da # Parent 88e2c4dcdb52b1966f2b27b2470cdb08ddfa31b0# Parent 3653651e4dfcc402d939fef2ac1d978d165790bc Merge. diff -r 3653651e4dfc -r d11d74fcebab .hgignore --- a/.hgignore Fri Feb 14 19:23:26 2014 -0500 +++ b/.hgignore Fri Feb 14 19:28:21 2014 -0500 @@ -32,3 +32,5 @@ fish/fish_read_history fish/completions fish/generated_completions/ +weechat/python/autoload/local.py +weechat/script/plugins.xml.gz diff -r 3653651e4dfc -r d11d74fcebab .hgsubstate --- a/.hgsubstate Fri Feb 14 19:23:26 2014 -0500 +++ b/.hgsubstate Fri Feb 14 19:28:21 2014 -0500 @@ -11,7 +11,7 @@ dc349bb7d30f713d770fc1fa0fe209e6aab82dc8 vim/bundle/commentary c1646e3c28d75bcc834af4836f4c6e12296ba891 vim/bundle/ctrlp ffbd5eb50c9daf67657b87fd767d1801ac9a15a7 vim/bundle/dispatch -b96ccf7441ada22d764af8223b61f18896d82dc9 vim/bundle/fireplace +544769274a3e6cf8f0ff452d7e9c8feb224b268e vim/bundle/fireplace 34e2d2538a634a0a820a56994333ffa1fec1bc58 vim/bundle/fugitive 6e9f52a160e3d15060848a8f453bd1b5bfa70db2 vim/bundle/gnupg eb9fc8676b8959c3c2c95bf6b6e8f0f44317c5c0 vim/bundle/gundo diff -r 3653651e4dfc -r d11d74fcebab bin/bootstrap.sh --- a/bin/bootstrap.sh Fri Feb 14 19:23:26 2014 -0500 +++ b/bin/bootstrap.sh Fri Feb 14 19:28:21 2014 -0500 @@ -45,10 +45,10 @@ ensure_link "lib/dotfiles/ffignore" ".ffignore" ensure_link "lib/dotfiles/ctags" ".ctags" ensure_link "lib/dotfiles/grc" ".grc" -ensure_link "lib/dotfiles/mutt/notmuch-config" ".notmuch-config" ensure_link "lib/dotfiles/bash_profile" ".bash_profile" ensure_link "lib/dotfiles/inputrc" ".inputrc" ensure_link "lib/dotfiles/fish/config.fish" ".config/fish/config.fish" ensure_link "lib/dotfiles/fish/functions" ".config/fish/functions" +echo remember to copy the notmuch-config echo completed diff -r 3653651e4dfc -r d11d74fcebab bin/maven --- a/bin/maven Fri Feb 14 19:23:26 2014 -0500 +++ b/bin/maven Fri Feb 14 19:28:21 2014 -0500 @@ -2,4 +2,4 @@ set -e -mvn "$@" | grcat ~/.grc/conf.maven +mvn "$@" | grep --line-buffered -Ev 'Including.*in the shaded jar' | grcat ~/.grc/conf.maven diff -r 3653651e4dfc -r d11d74fcebab bin/murder --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bin/murder Fri Feb 14 19:28:21 2014 -0500 @@ -0,0 +1,58 @@ +#!/bin/bash +# https://gist.github.com/anonymous/32b1e619bc9e7fbe0eaa + +# Signal numbers to use. Configurable, as long as the number of elements in this +# array matches the number of elements in $delays. +signals=(15 2 1 9) + +# How much time processes should be given to finish their work before we try the +# next signal. Configurable, as long as the number of elements in this array +# matches the number of elements in $signals. +delays=(4 6 8 0) + +# Takes a list of PIDs and ends the processes through increasingly rude means. +function mykill { + local ps='ps' + ps="$ps o pid=" + + # Figure out the names of the signals we will try. + local names=($(kill -l ${signals[@]})) + + local retval=0 + if [[ $# -eq 0 ]]; then + printf 'mykill: Too few arguments: %d\nmykill: Usage: mykill \n' $# + retval=1 + else + for pid in $@; do + local index=0 + # Try the next signal if the process is alive AND there are more + # signals to attempt AND the previous kill reported no errors. + while $ps $pid > /dev/null && [[ $index -lt ${#signals} ]] && [[ $retval -eq 0 ]]; do + output=$(kill -s ${signals[$index]} $pid 2>&1) + retval=$? + local killed=1 + # Give the process some time to finish. + sleep ${delays[$index]} + index=$(($index + 1)) + done + + if [[ -z $killed ]]; then + printf 'mykill: Process with PID %d does not exist.\n' $pid + + elif ! ${ps} ${pid} > /dev/null; then + index=$(($index - 1)) + printf 'mykill: Killed process with PID %d with signal %s (%d).\n' $pid ${names[$index]} ${signals[$index]} + + elif [[ ${retval} -ne 0 ]]; then + printf 'mykill: kill failed: %s\n' $(echo ${output} | cut -d ' ' -f 5-) + + elif [[ ${index} -eq ${#signals} ]]; then + printf 'mykill: Failed to kill process with PID %d with signals %s\n' $pid "$(echo ${names[@]})" + retval=-1 + fi + done + fi + return ${retval} +} + +mykill $@ diff -r 3653651e4dfc -r d11d74fcebab bin/mutt-notmuch-py --- a/bin/mutt-notmuch-py Fri Feb 14 19:23:26 2014 -0500 +++ b/bin/mutt-notmuch-py Fri Feb 14 19:28:21 2014 -0500 @@ -1,1 +1,1 @@ -../../../src/mutt-notmuch-py/mutt-notmuch-py.py \ No newline at end of file +../../../src/mutt-notmuch-py/mutt-notmuch-py \ No newline at end of file diff -r 3653651e4dfc -r d11d74fcebab bin/sort-scala-imports --- a/bin/sort-scala-imports Fri Feb 14 19:23:26 2014 -0500 +++ b/bin/sort-scala-imports Fri Feb 14 19:28:21 2014 -0500 @@ -62,8 +62,7 @@ prefix, rest = line.split('{', 1) - guts = [item.strip() for item in - re.split(", +| +|,", rest.strip('{}, '))] + guts = re.findall(r"\w+ *=> *\w+|\w+", rest) self.prefix = prefix self.guts = guts diff -r 3653651e4dfc -r d11d74fcebab ctags --- a/ctags Fri Feb 14 19:23:26 2014 -0500 +++ b/ctags Fri Feb 14 19:28:21 2014 -0500 @@ -38,7 +38,7 @@ --langmap=Clojure:.clj --regex-clojure=/\([ \t]*create-ns[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/n,namespace/ --regex-clojure=/\([ \t]*def[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/d,definition/ ---regex-clojure=/\([ \t]*defn-?[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/f,function/ +--regex-clojure=/\([ \t]*defn-?[ \t]+(\^[-[:alnum:]*+!_:\/.?]+[ \t]+)?([-[:alnum:]*+!_:\/.?]+)/\2/f,function/ --regex-clojure=/\([ \t]*defmacro[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/m,macro/ --regex-clojure=/\([ \t]*definline[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/i,inline/ --regex-clojure=/\([ \t]*defmulti[ \t]+([-[:alnum:]*+!_:\/.?]+)/\1/a,multimethod definition/ diff -r 3653651e4dfc -r d11d74fcebab dotcss/github.banksimple.com.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dotcss/github.banksimple.com.css Fri Feb 14 19:28:21 2014 -0500 @@ -0,0 +1,1 @@ +code { font-family: Menlo !important; } diff -r 3653651e4dfc -r d11d74fcebab fish/functions/vp.fish --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fish/functions/vp.fish Fri Feb 14 19:28:21 2014 -0500 @@ -0,0 +1,3 @@ +function vp -d "Vim Pasteboard" + pbpaste | vim - +end diff -r 3653651e4dfc -r d11d74fcebab gitconfig --- a/gitconfig Fri Feb 14 19:23:26 2014 -0500 +++ b/gitconfig Fri Feb 14 19:28:21 2014 -0500 @@ -72,6 +72,8 @@ uo = !git merge --ff-only origin/`git currentbranch` uu = !git merge --ff-only upstream/`git currentbranch` + fuu = "!sh -c 'git fu && git uu' -" + addremove = !git add . && git add -u addrem = !git addremove diff -r 3653651e4dfc -r d11d74fcebab hgrc --- a/hgrc Fri Feb 14 19:23:26 2014 -0500 +++ b/hgrc Fri Feb 14 19:28:21 2014 -0500 @@ -128,9 +128,7 @@ # Commit message shortcuts. cm = commit -m cus = commit -m 'Update subrepository state.' -cuf = commit -m 'Update fixtures.' -I '**fixtures**.json' cmm = commit -m 'Merge.' -cws = commit -m 'Whitespace.' # Merge shortcuts. mergelocal = !$HG --config ui.merge=internal:local merge $@ @@ -145,7 +143,7 @@ d = diff -p --color=auto # Run a colored diff and pipe it to less. -dl = !"$HG" diff -p --color=always $@ | less -R +dl = !"$HG" diff -p --color=never $@ | vim -R -c 'set ft=diff' - # Kaleidoscope # Mnemonics: "kaleidoscope diff" and "kaleidoscope show" diff -r 3653651e4dfc -r d11d74fcebab keyremap4macbook/private.xml diff -r 3653651e4dfc -r d11d74fcebab mutt/notmuch-config --- a/mutt/notmuch-config Fri Feb 14 19:23:26 2014 -0500 +++ b/mutt/notmuch-config Fri Feb 14 19:28:21 2014 -0500 @@ -11,7 +11,7 @@ # configured here named ".notmuch". # [database] -path=/Users/sjl/.mail/steve-stevelosh.com +path=/Users/sjl/.mail/simple # User configuration # @@ -31,7 +31,7 @@ [user] name=Steve Losh primary_email=steve@stevelosh.com -other_email=still.life@gmail.com;stilllife@gmail.com;sjl@pculture.org;steve@pculture.org;steve@ladyluckblues.com; +other_email=still.life@gmail.com;stilllife@gmail.com;sjl@pculture.org;steve@pculture.org;steve@ladyluckblues.com;sjl@simple.com;slosh@simple.com;slj@simple.com # Configuration for "notmuch new" # diff -r 3653651e4dfc -r d11d74fcebab vim/after/plugin/fireplace-map-unfucking.vim --- a/vim/after/plugin/fireplace-map-unfucking.vim Fri Feb 14 19:23:26 2014 -0500 +++ b/vim/after/plugin/fireplace-map-unfucking.vim Fri Feb 14 19:28:21 2014 -0500 @@ -47,7 +47,7 @@ au Filetype clojure nnoremap R :Require! " Get [S]ource - au Filetype clojure nmap s FireplaceSource + " au Filetype clojure nmap s FireplaceSource " Eval Buffer au Filetype clojure nnoremap eb :%Eval @@ -60,4 +60,7 @@ " Open clojure command line editor client window thing au Filetype clojure exe 'nmap E FireplacePrompt' . &cedit . 'i' + + " [S]how Last Result + au Filetype clojure nnoremap s :Last augroup END diff -r 3653651e4dfc -r d11d74fcebab vim/after/plugin/fireplace.vim --- a/vim/after/plugin/fireplace.vim Fri Feb 14 19:23:26 2014 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ - diff -r 3653651e4dfc -r d11d74fcebab vim/after/plugin/paredit.vim --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vim/after/plugin/paredit.vim Fri Feb 14 19:28:21 2014 -0500 @@ -0,0 +1,6 @@ +augroup unmap_paredit_bullshit + au! + + " Quit fucking with my split-line mapping, paredit. + au Filetype lisp nnoremap S i^mwgk:silent! s/\v +$//:noh`w +augroup END diff -r 3653651e4dfc -r d11d74fcebab vim/custom-dictionary.utf-8.add --- a/vim/custom-dictionary.utf-8.add Fri Feb 14 19:23:26 2014 -0500 +++ b/vim/custom-dictionary.utf-8.add Fri Feb 14 19:28:21 2014 -0500 @@ -124,7 +124,6 @@ C2C ACH TBBK -Arroway recon SFTP timestamp @@ -132,3 +131,30 @@ UTC MoneyDrop namespaces +DNS +hostname +VPC +AWS +EBS +ASG +Simple's +EC2 +Ubuntu +Stateful +stateful +tarball +S3 +spinup +Onboarding +onboard +onboarding +spellchecking +RabbitMQ +SQS +WebSphere +iPhones +bcrypt +Google's +Postgres +GPG +TLS diff -r 3653651e4dfc -r d11d74fcebab vim/vimrc --- a/vim/vimrc Fri Feb 14 19:23:26 2014 -0500 +++ b/vim/vimrc Fri Feb 14 19:28:21 2014 -0500 @@ -62,12 +62,29 @@ set shiftround set title set linebreak +set colorcolumn=+1 + +" Spelling +" +" There are three dictionaries I use for spellchecking: +" +" /usr/share/dict/words +" Basic stuff. +" +" ~/.vim/custom-dictionary.utf-8.add +" Custom words (like my name). This is in my (version-controlled) dotfiles. +" +" ~/.vim-local-dictionary.utf-8.add +" More custom words. This is *not* version controlled, so I can stick +" work stuff in here without leaking internal names and shit. +" +" I also remap zG to add to the local dict (vanilla zG is useless anyway). set dictionary=/usr/share/dict/words -set spellfile=~/.vim/custom-dictionary.utf-8.add -set colorcolumn=+1 - -" iTerm2 is currently slow as ball at rendering the nice unicode lines, so for -" now I'll just use ascii pipes. They're ugly but at least I won't want to kill +set spellfile=~/.vim/custom-dictionary.utf-8.add,~/.vim-local-dictionary.utf-8.add +nnoremap zG 2zg + +" iTerm2 is currently slow as balls at rendering the nice unicode lines, so for +" now I'll just use ASCII pipes. They're ugly but at least I won't want to kill " myself when trying to move around a file. set fillchars=diff:⣿,vert:│ set fillchars=diff:⣿,vert:\| @@ -305,7 +322,7 @@ \ . synIDattr(synIDtrans(synID(line("."),col("."),1)),"name") . ">" " Clean trailing whitespace -nnoremap w mz:%s/\s\+$//:let @/=''`z +nnoremap ww mz:%s/\s\+$//:let @/=''`z " Send visual selection to paste.stevelosh.com vnoremap :w !curl -sF 'sprunge=<-' 'http://paste.stevelosh.com' \| tr -d '\n ' \| pbcopy && open `pbpaste` @@ -343,6 +360,11 @@ " Panic Button nnoremap mzggg?G`z +" zt is okay for putting something at the top of the screen, but when I'm +" writing prose I often want to put something at not-quite-the-top of the +" screen. zh is "zoom to head level" +nnoremap zh mzzt10`z + " Diffoff nnoremap D :diffoff! @@ -420,17 +442,23 @@ nnoremap Hd :Start! hg push default nnoremap Hu :Start! hg push upstream -" Easy filetype switching {{{ - -nnoremap _md :set ft=markdown -nnoremap _hd :set ft=htmldjango -nnoremap _jt :set ft=htmljinja -nnoremap _js :set ft=javascript -nnoremap _cw :set ft=confluencewiki -nnoremap _pd :set ft=python.django -nnoremap _d :set ft=diff - -" }}} +" Zip Right +" +" Moves the character under the cursor to the end of the line. Handy when you +" have something like: +" +" foo +" +" And you want to wrap it in a method call, so you type: +" +" println()foo +" +" Once you hit escape your cursor is on the closing paren, so you can 'zip' it +" over to the right with this mapping. +" +" This should preserve your last yank/delete as well. +nnoremap zl :let @z=@"x$p:let @"=@z + " Insert Mode Completion {{{ inoremap @@ -487,7 +515,7 @@ " Don't move on * " I'd use a function for this but Vim clobbers the last search when you're in " a function so fuck it, practicality beats purity. -nnoremap * :let stay_star_view = winsaveview()*:call winrestview(stay_star_view) +nnoremap * :let stay_star_view = winsaveview()*:call winrestview(stay_star_view) " Jumping to tags. " @@ -510,7 +538,6 @@ endfunction nnoremap :silent! call JumpToTag() nnoremap :silent! call JumpToTagInSplit() -" nnoremap vmzzMzvzz15`z:Pulse " Keep search matches in the middle of the window. nnoremap n nzzzv @@ -698,6 +725,12 @@ au syntax clojure RainbowParenthesesLoadSquare au syntax clojure RainbowParenthesesLoadBraces + " Since YCM is hosefucked for Clojure, we'll use omnicompletion on + au FileType clojure inoremap + + " And close the omnicomplete preview window after we're done with it. + au InsertLeave *.clj if pumvisible() == 0|pclose|endif + " Friendlier Paredit mappings. au FileType clojure noremap () :call PareditWrap("(", ")") au FileType clojure noremap )( :call PareditSplice() @@ -844,6 +877,15 @@ augroup END " }}} +" DTrace {{{ + +augroup ft_dtrace + au! + + autocmd BufNewFile,BufRead *.d set filetype=dtrace +augroup END + +" }}} " Firefox {{{ augroup ft_firefox @@ -1117,6 +1159,16 @@ augroup END " }}} +" Standard In {{{ + +augroup ft_stdin + au! + + " Treat buffers from stdin (e.g.: echo foo | vim -) as scratch. + au StdinReadPost * :set buftype=nofile +augroup END + +" }}} " stevelosh.com Blog Entries {{{ augroup ft_steveloshcom @@ -1523,8 +1575,19 @@ " YouCompleteMe {{{ let g:ycm_min_num_of_chars_for_completion = 4 +" let g:ycm_collect_identifiers_from_tags_files = 1 let g:ycm_seed_identifiers_with_syntax = 1 -let g:ycm_collect_identifiers_from_tags_files = 1 +let g:ycm_filetype_blacklist = { + \ 'tagbar' : 1, + \ 'qf' : 1, + \ 'notes' : 1, + \ 'markdown' : 1, + \ 'unite' : 1, + \ 'text' : 1, + \ 'vimwiki' : 1, + \ 'pandoc' : 1, + \ 'clojure' : 1, + \} " }}} diff -r 3653651e4dfc -r d11d74fcebab weechat/weechat.conf --- a/weechat/weechat.conf Fri Feb 14 19:23:26 2014 -0500 +++ b/weechat/weechat.conf Fri Feb 14 19:28:21 2014 -0500 @@ -35,9 +35,8 @@ day_change_message_1date = "-- %a, %d %b %Y --" day_change_message_2dates = "-- %%a, %%d %%b %%Y (%a, %d %b %Y) --" eat_newline_glitch = off -emphasized_attributes = "" -highlight = "sjl,slosh,slj,clojerks,c2c,arroway,ingester" -highlight_regex = "(^all[,:]|backend(ia)?[^/]|red[- ]tape|[mM]oney ?[dD]rop)" +highlight = "sjl,slosh,slj,clojerks" +highlight_regex = "(^all[,:]|backend(ia)?[^s/]|red[- ]tape|steve ?losh|rob ford|(jesus )?fucking christ)" highlight_tags = "" hotlist_add_buffer_if_away = on hotlist_buffer_separator = ", " @@ -88,7 +87,7 @@ read_marker = line read_marker_always_show = on read_marker_string = "◡◡◠" -save_config_on_exit = on +save_config_on_exit = off save_layout_on_exit = none scroll_amount = 3 scroll_bottom_after_switch = off