--- a/bin/clhs Wed Aug 30 11:48:48 2023 -0400
+++ b/bin/clhs Wed Aug 30 11:49:23 2023 -0400
@@ -2,4 +2,4 @@
set -euo pipefail
-~/src/dotfiles/lisp/bin/clhs --url "file:///home/sjl/Dropbox/HyperSpec/HyperSpec/" --open "w3m" "$@"
+~/src/dotfiles/lisp/bin/clhs --open "w3m" "$@"
--- a/bin/packfor Wed Aug 30 11:48:48 2023 -0400
+++ b/bin/packfor Wed Aug 30 11:49:23 2023 -0400
@@ -2,5 +2,5 @@
set -euo pipefail
-cp ~/Dropbox/tasks/pack-archive ~/Dropbox/tasks/pack.txt
-nvim ~/Dropbox/tasks/pack.txt
+cp ~/Sync/tasks/pack-archive ~/Sync/tasks/pack.txt
+nvim ~/Sync/tasks/pack.txt
--- a/bin/t Wed Aug 30 11:48:48 2023 -0400
+++ b/bin/t Wed Aug 30 11:49:23 2023 -0400
@@ -2,4 +2,4 @@
set -euo pipefail
-python3 ~/src/t/t.py --task-dir ~/Dropbox/tasks/ --list tasks.txt "$@"
+python3 ~/src/t/t.py --task-dir ~/Sync/tasks/ --list tasks.txt "$@"
--- a/fish/config.fish Wed Aug 30 11:48:48 2023 -0400
+++ b/fish/config.fish Wed Aug 30 11:49:23 2023 -0400
@@ -8,7 +8,7 @@
function ei; hg -R ~/src/inventory/ pull -u; and nvim ~/src/inventory/inventory.markdown; and hg -R ~/src/inventory/ ci -m 'Update inventory'; and hg -R ~/src/inventory/ push; end
function el; cd ~/Dropbox/life; nvim .; end
function em; nvim ~/.mutt/muttrc; end
-function es; cd ~/src/stumpwm; nvim ~/.stumpwmrc; end
+function es; pushd ~/src/stumpwm; e ~/.stumpwmrc; popd; end
function ev; nvim ~/.vimrc; end
function eff; nvim ~/.config/fish/functions; end
function efh; nvim ~/.local/share/fish/fish_history; end # I have visited https://github.com/fish-shell/fish-shell/issues/862 nine thousand times and I'm fucking sick of opening a web browser to figure out where the fuck fish keeps its equivalent of ~/.bash_history
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fish/functions/ez.fish Wed Aug 30 11:49:23 2023 -0400
@@ -0,0 +1,8 @@
+function ez -d "Edit Zettelkasten"
+ pushd ~/src/zk
+ hg pull -u
+ e .
+ hg ci -m 'Update'
+ hg push
+ popd
+end
--- a/lisp/clhs.lisp Wed Aug 30 11:48:48 2023 -0400
+++ b/lisp/clhs.lisp Wed Aug 30 11:49:23 2023 -0400
@@ -12,8 +12,8 @@
;;;; Config -------------------------------------------------------------------
-(defparameter *default-hyperspec-url* "http://www.lispworks.com/documentation/HyperSpec/")
-;; (defparameter *default-hyperspec-url* "file:///home/sjl/Dropbox/HyperSpec/HyperSpec/")
+;; (defparameter *default-hyperspec-url* "http://www.lispworks.com/documentation/HyperSpec/")
+(defparameter *default-hyperspec-url* "file:///home/sjl/Sync/docs/hyperspec/HyperSpec/")
(defparameter *default-open-command* "open")
(defparameter *open* *default-open-command*)
(defparameter *url* *default-hyperspec-url*)
--- a/lisp/weather.lisp Wed Aug 30 11:48:48 2023 -0400
+++ b/lisp/weather.lisp Wed Aug 30 11:49:23 2023 -0400
@@ -179,7 +179,7 @@
(adopt:print-help-and-exit *ui*)
(progn
(load-config)
- (run (or (first arguments) "14607")
+ (run (or (first arguments) "48105")
:hours (gethash 'hours options))))
(error (e) (adopt:print-error-and-exit e))))))
--- a/stumpwmrc Wed Aug 30 11:48:48 2023 -0400
+++ b/stumpwmrc Wed Aug 30 11:49:23 2023 -0400
@@ -241,7 +241,7 @@
(local-time:find-timezone-by-location-name "US/Eastern"))
(defparameter *budget/start*
- (local-time:encode-timestamp 0 0 0 0 27 8 2023 :timezone *tz/eastern*))
+ (local-time:encode-timestamp 0 0 0 0 29 8 2023 :timezone *tz/eastern*))
(defun budget/per-day ()
(first (losh:read-all-from-file "/home/sjl/Sync/budget/per-day")))
@@ -913,12 +913,15 @@
"%)")))
;; temp, cpu, mem, time, tray
- (list "(TEMP %S) (CPU %C) (MEM %M) %d %T")))
+ #+no (list "(TEMP %S) (CPU %C) (MEM %M) %d %T")
+ (list "(CPU %C) (MEM %M) %d %T")
+ ))
(setf *mode-line-timeout* 10)
(setf *mode-line-background-color* "#111111")
- (ensure-mode-line))
+ (ensure-mode-line)
+ )
(configure-modeline)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/ftdetect/snakemake.vim Wed Aug 30 11:49:23 2023 -0400
@@ -0,0 +1,9 @@
+" Vim ftdetect file
+" Language: Snakemake (extended from python.vim)
+" Maintainer: Jay Hesselberth (jay.hesselberth@gmail.com)
+" Last Change: 2020 Oct 6
+"
+" Usage
+"
+" copy to $HOME/.vim/ftdetect directory
+au BufNewFile,BufRead Snakefile,*.smk set filetype=snakemake
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/ftplugin/snakemake/folding.vim Wed Aug 30 11:49:23 2023 -0400
@@ -0,0 +1,61 @@
+setlocal foldmethod=expr
+setlocal foldexpr=GetSnakemakeFold(v:lnum)
+
+function! GetSnakemakeFold(lnum)
+ " fold preamble
+ if a:lnum == 1
+ return '>1'
+ endif
+
+ let thisline = getline(a:lnum)
+
+ " blank lines end folds
+ if thisline =~? '\v^\s*$'
+ return '-1'
+ " start fold on top level rules or python objects
+ elseif thisline =~? '\v^(rule|def|checkpoint|class)'
+ return ">1"
+ elseif thisline =~? '\v^\S'
+ if PreviousLineIndented(a:lnum) && NextRuleIndented(a:lnum)
+ return ">1"
+ endif
+ endif
+
+ return "="
+
+endfunction
+
+function! NextRuleIndented(lnum)
+ let numlines = line('$')
+ let current = a:lnum + 1
+
+ while current <= numlines
+ let thisline = getline(current)
+ if thisline =~? '\v^(rule|def|checkpoint|class)'
+ return 0
+ elseif thisline =~? '\v^\s+(rule|checkpoint)'
+ return 1
+ endif
+
+ let current += 1
+ endwhile
+
+ return 0
+endfunction
+
+function! PreviousLineIndented(lnum)
+ let current = a:lnum - 1
+
+ while current >= 1
+ let thisline = getline(current)
+ if thisline =~? '\v^\S'
+ return 0
+ elseif thisline =~? '\v^\s+\S'
+ return 1
+ endif
+
+ let current -= 1
+ endwhile
+
+ return 0
+endfunction
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/ftplugin/snakemake/sections.vim Wed Aug 30 11:49:23 2023 -0400
@@ -0,0 +1,43 @@
+function! s:NextSection(type, backwards, visual)
+ if a:visual
+ normal! gv
+ endif
+
+ if a:type == 1
+ let pattern = '\v(^rule|^checkpoint|^def|%^)'
+ elseif a:type == 2
+ let pattern = '\v\n\zs\n^(rule|checkpoint|def)'
+ endif
+
+ if a:backwards
+ let dir = '?'
+ else
+ let dir = '/'
+ endif
+
+ execute 'silent normal! ' . dir . pattern . dir . "\r"
+endfunction
+
+noremap <script> <buffer> <silent> ]]
+ \ :call <SID>NextSection(1, 0, 0)<cr>
+
+noremap <script> <buffer> <silent> [[
+ \ :call <SID>NextSection(1, 1, 0)<cr>
+
+noremap <script> <buffer> <silent> ][
+ \ :call <SID>NextSection(2, 0, 0)<cr>
+
+noremap <script> <buffer> <silent> []
+ \ :call <SID>NextSection(2, 1, 0)<cr>
+
+vnoremap <script> <buffer> <silent> ]]
+ \ :<c-u>call <SID>NextSection(1, 0, 1)<cr>
+
+vnoremap <script> <buffer> <silent> [[
+ \ :<c-u>call <SID>NextSection(1, 1, 1)<cr>
+
+vnoremap <script> <buffer> <silent> ][
+ \ :<c-u>call <SID>NextSection(2, 0, 1)<cr>
+
+vnoremap <script> <buffer> <silent> []
+ \ :<c-u>call <SID>NextSection(2, 1, 1)<cr>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/syntax/snakemake.vim Wed Aug 30 11:49:23 2023 -0400
@@ -0,0 +1,126 @@
+" Vim syntax file
+" Language: Snakemake (extended from python.vim)
+" Maintainer: Jay Hesselberth (jay.hesselberth@gmail.com)
+" Last Change: 2020 Oct 6
+"
+" Usage
+"
+" copy to $HOME/.vim/syntax directory and
+" copy to ftdetect/snakemake.vim to $HOME/.vim/ftdetect directory
+"
+" force coloring in a vim session with:
+"
+" :set syntax=snakemake
+"
+if exists("b:current_syntax")
+ finish
+endif
+
+" load settings from system python.vim (7.4)
+source $VIMRUNTIME/syntax/python.vim
+source $VIMRUNTIME/indent/python.vim
+
+"
+" Snakemake rules, as of version 5.8
+"
+"
+" rule = "rule" (identifier | "") ":" ruleparams
+" include = "include:" stringliteral
+" workdir = "workdir:" stringliteral
+" ni = NEWLINE INDENT
+" ruleparams = [ni input] [ni output] [ni params] [ni message] [ni threads] [ni (run | shell)] NEWLINE snakemake
+" input = "input" ":" parameter_list
+" output = "output" ":" parameter_list
+" params = "params" ":" parameter_list
+" message = "message" ":" stringliteral
+" threads = "threads" ":" integer
+" resources = "resources" ":" parameter_list
+" version = "version" ":" statement
+" run = "run" ":" ni statement
+" shell = "shell" ":" stringliteral
+" singularity = "singularity" ":" stringliteral
+" conda = "conda" ":" stringliteral
+" shadow = "shadow" ":" stringliteral
+" group = "group" ":" stringliteral
+
+
+" general directives (e.g. input)
+syn keyword pythonStatement
+ \ benchmark
+ \ conda
+ \ configfile
+ \ container
+ \ default_target
+ \ envmodules
+ \ group
+ \ include
+ \ input
+ \ localrule
+ \ localrules
+ \ log
+ \ message
+ \ notebook
+ \ onerror
+ \ onstart
+ \ onsuccess
+ \ output
+ \ params
+ \ priority
+ \ resources
+ \ ruleorder
+ \ run
+ \ scattergather
+ \ script
+ \ shadow
+ \ shell
+ \ singularity
+ \ snakefile
+ \ template_engine
+ \ threads
+ \ version
+ \ wildcard_constraints
+ \ wildcards
+ \ workdir
+ \ wrapper
+
+" directives with a label (e.g. rule)
+syn keyword pythonStatement
+ \ checkpoint
+ \ rule
+ \ subworkflow
+ \ nextgroup=pythonFunction skipwhite
+
+" common snakemake objects
+syn keyword pythonBuiltinObj
+ \ Paramspace
+ \ checkpoints
+ \ config
+ \ gather
+ \ rules
+ \ scatter
+ \ workflow
+
+" snakemake functions
+syn keyword pythonBuiltinFunc
+ \ ancient
+ \ directory
+ \ expand
+ \ multiext
+ \ pipe
+ \ protected
+ \ read_job_properties
+ \ service
+ \ temp
+ \ touch
+ \ unpack
+
+" similar to special def and class treatment from python.vim, except
+" parenthetical part of def and class
+syn match pythonFunction
+ \ "\%(\%(rule\s\|subworkflow\s\|checkpoint\s\)\s*\)\@<=\h\w*" contained
+
+syn sync match pythonSync grouphere NONE "^\s*\%(rule\|subworkflow\|checkpoint\)\s\+\h\w*\s*"
+
+let b:current_syntax = "snakemake"
+
+" vim:set sw=2 sts=2 ts=8 noet: