--- 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
--- 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
--- 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[@]}")
--- /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'
--- /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
--- /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=" "
--- 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 \
--- /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
--- 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
--- 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
--- 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
--- 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 <Tab> complete-query
-bind editor ^T complete
# }}}
# Basic Options {{{
--- 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 () ()
--- 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
--- 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<bang>
command! -bang Wqa wqa<bang>
-" 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=<F6>
-nnoremap <F6> :set paste!<cr>
-
" Unfuck my screen
nnoremap U :syntax sync fromstart<cr>:redraw!<cr>
@@ -2226,6 +2220,11 @@
nnoremap gP g-
" }}}
+" NeoFormat {{{
+
+nnoremap <f6> :Neoformat<cr>
+
+" }}}
" NeoRepl {{{
nnoremap <leader>S 0v$:call NeoReplSendSelection()<cr>
--- 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")
--- 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 <lucian.adamson@yahoo.com>
-# Script License: GPL
-# Alternate Contact: Freenode IRC nick i686
-#
-# 2011-09-20, Nils Görs <weechatter@arcor.de>:
-# version 1.4: fixed: latest nick from join/part messages were used.
-# 2010-12-04, Sebastien Helleu <flashcode@flashtux.org>:
-# version 1.3: use tag "nick_xxx" (WeeChat >= 0.3.4 only)
-# 2010-08-03, Sebastien Helleu <flashcode@flashtux.org>:
-# version 1.2: fix bug with nick prefixes (op/halfop/..)
-# 2010-08-03, Sebastien Helleu <flashcode@flashtux.org>:
-# version 1.1: fix bug with self nick
-
-
-SCRIPT_NAME='zerotab'
-SCRIPT_AUTHOR='Lucian Adamson <lucian.adamson@yahoo.com>'
-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', '')