" bovine3dom's dogfood

" Provided only as an example.
" Do not install/run without reading through as you may be surprised by some
" of the settings.

" May require the latest beta builds.

" Move this to $XDG_CONFIG_DIR/tridactyl/tridactylrc (that's
" ~/.config/tridactyl/tridactylrc to mere mortals) or ~/.tridactylrc and
" install the native messenger (:installnative in Tridactyl). Run :source to
" get it in the browser, or just restart.

" NB: If you want "vim-like" behaviour where removing a line from
" here makes the setting disappear, uncomment the line below.

"sanitise tridactyllocal tridactylsync

"
" Binds
"

" Comment toggler for Reddit and Hacker News
bind ;c hint -c [class*="expand"],[class="togg"]

" GitHub pull request checkout command to clipboard (only works if you're a collaborator or above)
bind yp composite js document.getElementById("clone-help-step-1").textContent.replace("git checkout -b", "git checkout -B").replace("git pull ", "git fetch ") + "git reset --hard " + document.getElementById("clone-help-step-1").textContent.split(" ")[3].replace("-","/") | yank

" Git{Hub,Lab} git clone via SSH yank
bind yg composite js "git clone " + document.location.href.replace(/https?:\/\//,"git@").replace("/",":").replace(/$/,".git") | clipboard yank

" I like wikiwand but I don't like the way it changes URLs
bindurl wikiwand.com yy composite js document.location.href.replace("wikiwand.com/en","wikipedia.org/wiki") | clipboard yank

" Make gu take you back to subreddit from comments
bindurl reddit.com gu urlparent 4

" Only hint search results on Google
bindurl www.google.com f hint -Jc .rc > .r > a
bindurl www.google.com F hint -Jtc .rc>.r>a

" Allow Ctrl-a to select all in the commandline
unbind --mode=ex <C-a>

" Allow Ctrl-c to copy in the commandline
unbind --mode=ex <C-c>

" Handy multiwindow/multitasking binds
bind gd tabdetach
bind gD composite tabduplicate | tabdetach

" Make yy use canonical / short links on the 5 websites that support them
bind yy clipboard yankshort

" Stupid workaround to let hint -; be used with composite which steals semi-colons
command hint_focus hint -;

" Open right click menu on links
bind ;C composite hint_focus; !s xdotool key Menu

" Julia docs' built in search is bad
set searchurls.julia https://www.google.com/search?q=site:http://docs.julialang.org/en/v1.0%20

"
" Misc settings
"

" set editorcmd to suckless terminal, or use the defaults on other platforms
js tri.browserBg.runtime.getPlatformInfo().then(os=>{const editorcmd = os.os=="linux" ? "st vim" : "auto"; tri.config.set("editorcmd", editorcmd)})

" set profile dir on Windows
jsb browser.runtime.getPlatformInfo().then(os=>{const profiledir = os.os=="win" ? "C:\\Users\\olie\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\gwm76nmk.default" : "auto"; tri.config.set("profiledir", profiledir)})

" Sane hinting mode
set hintfiltermode vimperator-reflow
set hintnames numeric

" Defaults to 300ms but I'm a 'move fast and close the wrong tabs' kinda chap
set hintdelay 100

" Make Tridactyl work on more sites at the expense of some security
set csp clobber
fixamo_quiet

" Make quickmarks for the sane Tridactyl issue view
quickmark t https://github.com/tridactyl/tridactyl/issues?utf8=%E2%9C%93&q=sort%3Aupdated-desc+

"
" URL redirects
"

" New reddit is bad
autocmd DocStart ^http(s?)://www.reddit.com js tri.excmds.urlmodify("-t", "www", "old")
" Mosquito nets won't make themselves
autocmd DocStart ^http(s?)://www.amazon.co.uk js tri.excmds.urlmodify("-t", "www", "smile")

" This will have to do until someone writes us a nice syntax file :)
" vim: set filetype=vim:
