# HG changeset patch # User Steve Losh # Date 1545001186 18000 # Node ID 2f3f2eb8cfdf66a4a5b85437f6d43464fa24d5fa # Parent 31ddcddb32bfe7c9f5ab96873a1b9f497b23dfa1# Parent 3ee7f5f0db6b9f12cfca99c1947ef93aa35ca339 Merge. diff -r 31ddcddb32bf -r 2f3f2eb8cfdf .hgsub --- a/.hgsub Sun Dec 16 17:58:06 2018 -0500 +++ b/.hgsub Sun Dec 16 17:59:46 2018 -0500 @@ -16,6 +16,7 @@ vim/bundle/html5 = [git]https://github.com/othree/html5.vim vim/bundle/indent-object = [git]https://github.com/michaeljsmith/vim-indent-object vim/bundle/javascript = [git]https://github.com/pangloss/vim-javascript +vim/bundle/jsx = [git]https://github.com/mxw/vim-jsx vim/bundle/markdown = [git]https://github.com/sjl/vim-markdown vim/bundle/miniyank = [git]https://github.com/bfredl/nvim-miniyank vim/bundle/nerdtree = [git]https://github.com/scrooloose/nerdtree diff -r 31ddcddb32bf -r 2f3f2eb8cfdf .hgsubstate --- a/.hgsubstate Sun Dec 16 17:58:06 2018 -0500 +++ b/.hgsubstate Sun Dec 16 17:59:46 2018 -0500 @@ -3,7 +3,7 @@ b6a8b49e2173ba5a1b34d00e68e0ed8addac3ebd vim/bundle/abolish a16a9b63eb85cc0960a7f25c54647ac1f99f3360 vim/bundle/ack 5e4a535e2d239cba3db19b6b79abedbc7c541727 vim/bundle/badwolf -a4d79fc208764917cb58e2aed6fbaeb5e3356d33 vim/bundle/clam +b542a7bc4d9bc5da8fb12e110fe7975131fb57a4 vim/bundle/clam 8295187ea1210138c0b171d8e3ec3569936f4c1a vim/bundle/commentary c6d1fc5e58d689bfb104ff336aeb89d9ef1b48e2 vim/bundle/ctrlp 38487bbec8ba50834e257940b357de03991fa8f9 vim/bundle/delimitmate @@ -15,7 +15,8 @@ 1d84591fff04caebab75cba2294fc3843f0a4a29 vim/bundle/gundo fccd580f5f11d576169ee347907c9fbd77af410a vim/bundle/html5 78fffa609b3e6b84ef01ee4c9aba6d7435d7b18e vim/bundle/indent-object -39e332a3c36c0115e1eab85c34cf121b7585869d vim/bundle/javascript +dd84369d731bcb8feee0901cbb9b63a2b219bf28 vim/bundle/javascript +ffc0bfd9da15d0fce02d117b843f718160f7ad27 vim/bundle/jsx e2d7fcd682a461a3951e8b5067cc8a0083e75e35 vim/bundle/markdown 1362fdc7c32855794659cafe6e65d3239843d9df vim/bundle/miniyank d6032c876c6d6932ab7f07e262a16c9a85a31d5b vim/bundle/nerdtree diff -r 31ddcddb32bf -r 2f3f2eb8cfdf bin/cacl --- a/bin/cacl Sun Dec 16 17:58:06 2018 -0500 +++ b/bin/cacl Sun Dec 16 17:59:46 2018 -0500 @@ -3,6 +3,6 @@ set -e LISPS=("sbcl" "ccl" "abcl" "ecl") -LISPS=("sbcl" "ccl") +LISPS=("sbcl" "ccl" "ecl") rlwrap ~/src/cacl/cacl-$(shuf -n1 -e "${LISPS[@]}") diff -r 31ddcddb32bf -r 2f3f2eb8cfdf bin/dns-lookup --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bin/dns-lookup Sun Dec 16 17:59:46 2018 -0500 @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +host -t a "$1" 8.8.8.8 | grep 'has address' | head -1 | cuts -f4 | tr -d '\n' diff -r 31ddcddb32bf -r 2f3f2eb8cfdf bin/extract-cookies --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bin/extract-cookies Sun Dec 16 17:59:46 2018 -0500 @@ -0,0 +1,40 @@ +#!/usr/bin/env bash + +# from https://gist.githubusercontent.com/spk/5014421/raw/0055721469fe0979afbe12b602444b50608e4a74/extract_cookies.sh + +# extract_cookies > ~/.cookies.txt +# wget --load-cookies=~/.cookies.txt http://mysite.com +# or +# curl --cookie ~/.cookies.txt http://mysite.com + +set -euo pipefail + +cleanup() { + rm -f $TMPFILE + exit 1 +} + +trap cleanup \ + EXIT INT QUIT TERM + +# This is the format of the sqlite database: +# CREATE TABLE moz_cookies (id INTEGER PRIMARY KEY, name TEXT, value TEXT, host TEXT, path TEXT,expiry INTEGER, lastAccessed INTEGER, isSecure INTEGER, isHttpOnly INTEGER); + +# We have to copy cookies.sqlite, because FireFox has a lock on it +TMPFILE=`mktemp /tmp/cookies.sqlite.XXXXXXXXXX` +cat $1 >> $TMPFILE + +sqlite3 -separator ' ' $TMPFILE << EOF +.mode tabs +.header off +SELECT host, + case substr(host,1,1)='.' when 0 then 'FALSE' else 'TRUE' end, + path, + case isSecure when 0 then 'FALSE' else 'TRUE' end, + expiry, + name, + value + FROM moz_cookies; +EOF + +cleanup diff -r 31ddcddb32bf -r 2f3f2eb8cfdf bin/parse-contacts --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bin/parse-contacts Sun Dec 16 17:59:46 2018 -0500 @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +# Parse a contacts.csv exported from Google (in Outlook format) into something +# human-usable. + +set -euo pipefail + +awk '{ $14 = $1 " " $2 " " $3; print $14, $15 }' FS=, OFS=, \ + | tail +2 - \ + | sed -Ee 's/ +,/,/' \ + | tr -s ' ' \ + | sort -t, -k2,1 -r \ + | awk '!seen[$2]++' FS=, OFS=, \ + | sort -t, -k2,2 \ + | awk '{ print $2, $1 }' FS=, OFS=" " diff -r 31ddcddb32bf -r 2f3f2eb8cfdf bin/rlwrap-lisp --- a/bin/rlwrap-lisp Sun Dec 16 17:58:06 2018 -0500 +++ b/bin/rlwrap-lisp Sun Dec 16 17:59:46 2018 -0500 @@ -3,7 +3,7 @@ rlwrap -m$ \ --multi-line-ext .lisp \ -a___ \ - --only-cook '^\[[a-zA-Z ]+\] [-a-zA-Z0-9._]+>' \ + --only-cook '^\[[a-zA-Z ]+\] [-a-zA-Z0-9._/]+>' \ -p'1;36' \ --quote-characters '"' \ --histsize 1000 \ diff -r 31ddcddb32bf -r 2f3f2eb8cfdf bin/search-contacts --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bin/search-contacts Sun Dec 16 17:59:46 2018 -0500 @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -euo pipefail +echo "Email Name Memo" +grep -i "$1" ~/.contacts diff -r 31ddcddb32bf -r 2f3f2eb8cfdf gitconfig --- a/gitconfig Sun Dec 16 17:58:06 2018 -0500 +++ b/gitconfig Sun Dec 16 17:59:46 2018 -0500 @@ -59,6 +59,7 @@ delete-local-reference-to-remote-branch = "!sh -c 'git branch -rd $1/$2' -" delete-remote-branch = "!sh -c 'git push $1 --delete $2' -" delete-branch = "!sh -c 'git delete-local-branch $1; git remotes | cut -f1 | sort | uniq | xargs -n1 -I % git delete-local-reference-to-remote-branch % $1' -" + delete-current-branch = "!bash -c 'git checkout master && git delete-branch $1' - $(git currentbranch)" currentbranch = rev-parse --abbrev-ref HEAD @@ -169,3 +170,6 @@ [include] path = ~/.gitconfig_local + +[credential] + helper = store diff -r 31ddcddb32bf -r 2f3f2eb8cfdf gitignore --- a/gitignore Sun Dec 16 17:58:06 2018 -0500 +++ b/gitignore Sun Dec 16 17:59:46 2018 -0500 @@ -13,3 +13,5 @@ *.fasl .notmylispwords .*.done +*.lx64fsl +.sjl-rsync-exclude diff -r 31ddcddb32bf -r 2f3f2eb8cfdf hgrc --- a/hgrc Sun Dec 16 17:58:06 2018 -0500 +++ b/hgrc Sun Dec 16 17:59:46 2018 -0500 @@ -21,6 +21,7 @@ progress = fetch = shelve = +histedit = prompt = ~/src/dotfiles/mercurial/hg-prompt/prompt.py hggit = ~/.hg-git/hggit diff -r 31ddcddb32bf -r 2f3f2eb8cfdf lispwords diff -r 31ddcddb32bf -r 2f3f2eb8cfdf mutt/muttrc --- a/mutt/muttrc Sun Dec 16 17:58:06 2018 -0500 +++ b/mutt/muttrc Sun Dec 16 17:59:46 2018 -0500 @@ -16,10 +16,8 @@ # }}} # Contacts {{{ -# Use the OS X address book -set query_command = "contacts -Sf '%eTOKEN%n' '%s' | sed -e 's/TOKEN/\t/g'" +set query_command = "search-contacts" bind editor complete-query -bind editor ^T complete # }}} # Basic Options {{{ diff -r 31ddcddb32bf -r 2f3f2eb8cfdf sbclrc diff -r 31ddcddb32bf -r 2f3f2eb8cfdf stumpwmrc --- a/stumpwmrc Sun Dec 16 17:58:06 2018 -0500 +++ b/stumpwmrc Sun Dec 16 17:59:46 2018 -0500 @@ -192,7 +192,9 @@ (,extern ("--auto")) (,extern ("--primary")) ;; (,extern ("--mode" "2560x1440")) - (,extern ("--left-of" ,laptop))) + ;; (,extern ("--right-of" ,laptop)) + (,extern ("--left-of" ,laptop)) + ) do (pr (uiop:run-program `("xrandr" "--output" ,output ,@commands))))) (defcommand vlime () () diff -r 31ddcddb32bf -r 2f3f2eb8cfdf vim/custom-dictionary.utf-8.add --- a/vim/custom-dictionary.utf-8.add Sun Dec 16 17:58:06 2018 -0500 +++ b/vim/custom-dictionary.utf-8.add Sun Dec 16 17:59:46 2018 -0500 @@ -265,3 +265,7 @@ unmarshal lol Dihydrogen +whitespace +dropdown +jQuery +deserializes diff -r 31ddcddb32bf -r 2f3f2eb8cfdf vim/vimrc --- a/vim/vimrc Sun Dec 16 17:58:06 2018 -0500 +++ b/vim/vimrc Sun Dec 16 17:59:46 2018 -0500 @@ -436,12 +436,6 @@ command! -bang WQ wq command! -bang Wqa wqa -" Toggle paste -" For some reason pastetoggle doesn't redraw the screen (thus the status bar -" doesn't change) while :set paste! does, so I use that instead. -" set pastetoggle= -nnoremap :set paste! - " Unfuck my screen nnoremap U :syntax sync fromstart:redraw! @@ -2226,6 +2220,11 @@ nnoremap gP g- " }}} +" NeoFormat {{{ + +nnoremap :Neoformat + +" }}} " NeoRepl {{{ nnoremap S 0v$:call NeoReplSendSelection() diff -r 31ddcddb32bf -r 2f3f2eb8cfdf weechat/python/autoload/editor.py --- a/weechat/python/autoload/editor.py Sun Dec 16 17:58:06 2018 -0500 +++ b/weechat/python/autoload/editor.py Sun Dec 16 17:59:46 2018 -0500 @@ -35,7 +35,7 @@ tf.file.close() tf = file(tf.name) - return tf.readlines() + return tf.read() def editor(data, buffer, args): suffix = args or "tmp" @@ -45,9 +45,7 @@ data = get_data(suffix, line) if data: weechat.command(buffer, "/input delete_line") - - for line in data: - weechat.command(buffer, line) + weechat.command(buffer, data.strip()) weechat.command("", "/window refresh") diff -r 31ddcddb32bf -r 2f3f2eb8cfdf weechat/python/autoload/zerotab.py --- a/weechat/python/autoload/zerotab.py Sun Dec 16 17:58:06 2018 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,72 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Script Name: Zerotab.py -# Script Author: Lucian Adamson -# Script License: GPL -# Alternate Contact: Freenode IRC nick i686 -# -# 2011-09-20, Nils Görs : -# version 1.4: fixed: latest nick from join/part messages were used. -# 2010-12-04, Sebastien Helleu : -# version 1.3: use tag "nick_xxx" (WeeChat >= 0.3.4 only) -# 2010-08-03, Sebastien Helleu : -# version 1.2: fix bug with nick prefixes (op/halfop/..) -# 2010-08-03, Sebastien Helleu : -# version 1.1: fix bug with self nick - - -SCRIPT_NAME='zerotab' -SCRIPT_AUTHOR='Lucian Adamson ' -SCRIPT_VERSION='1.4' -SCRIPT_LICENSE='GPL' -SCRIPT_DESC='Will tab complete the last nick in channel without typing anything first. This is good for rapid conversations.' - -import_ok=True - -try: - import weechat, re -except ImportError: - print 'This script must be run under WeeChat' - print 'You can obtain a copy of WeeChat, for free, at http://www.weechat.org' - import_ok=False - -latest_speaker={} -weechat_version=0 - -def my_completer(data, buffer, command): - global latest_speaker - str_input = weechat.buffer_get_string(weechat.current_buffer(), "input") - if command == "/input complete_next" and str_input == '': - nick = latest_speaker.get(buffer, "") - if nick != "": - weechat.command(buffer, "/input insert " + nick) - return weechat.WEECHAT_RC_OK - -def hook_print_cb(data, buffer, date, tags, displayed, highlight, prefix, message): - global latest_speaker - alltags = tags.split(',') - if 'notify_message' in alltags: - nick = None - if int(weechat_version) >= 0x00030400: - # in version >= 0.3.4, there is a tag "nick_xxx" for each message - for tag in alltags: - if tag.startswith('nick_'): - nick = tag[5:] - break - else: - # in older versions, no tag, so extract nick from printed message - # this is working, except for irc actions (/me ...) - nick = prefix - if re.match('^[@%+~*&!-]', nick): - nick = nick[1:] - if nick: - local_nick = weechat.buffer_get_string(buffer, "localvar_nick") - if nick != local_nick: - latest_speaker[buffer] = nick - return weechat.WEECHAT_RC_OK - -if __name__ == "__main__" and import_ok: - if weechat.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION, SCRIPT_LICENSE, SCRIPT_DESC, "", ""): - weechat_version = weechat.info_get("version_number", "") or 0 - weechat.hook_print("", "", "", 1, "hook_print_cb", "") - weechat.hook_command_run('/input complete*', 'my_completer', '')