Merge commit 'f035c9318b23aea7479c124d749f5678c060e7b3'
						commit
						89c1417915
					
				| 
						 | 
					@ -34,6 +34,7 @@ alias fzfpac="pacman -Slq | fzf -m --preview 'pacman -Si {1}' | xargs -ro sudo p
 | 
				
			||||||
alias path='echo -e ${PATH//:/\\n}' # Pretty print path variables
 | 
					alias path='echo -e ${PATH//:/\\n}' # Pretty print path variables
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Programs
 | 
					# Programs
 | 
				
			||||||
 | 
					alias h="history"
 | 
				
			||||||
alias o="xdg-open"
 | 
					alias o="xdg-open"
 | 
				
			||||||
alias v="nvim"
 | 
					alias v="nvim"
 | 
				
			||||||
alias g='git'
 | 
					alias g='git'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +0,0 @@
 | 
				
			||||||
# shellcheck shell=bash
 | 
					 | 
				
			||||||
# vim: set ft=bash :
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
alias jira-me='jira issue list -a$(jira me)'
 | 
					 | 
				
			||||||
| 
						 | 
					@ -15,7 +15,6 @@
 | 
				
			||||||
[ -f "$HOME/.bash_aliases/hosts/$HOSTNAME" ] && . "$HOME/.bash_aliases/hosts/$HOSTNAME"
 | 
					[ -f "$HOME/.bash_aliases/hosts/$HOSTNAME" ] && . "$HOME/.bash_aliases/hosts/$HOSTNAME"
 | 
				
			||||||
[ -f "$HOME/.bash_aliases/private" ] && . "$HOME/.bash_aliases/private"
 | 
					[ -f "$HOME/.bash_aliases/private" ] && . "$HOME/.bash_aliases/private"
 | 
				
			||||||
[ -f "$HOME/.bash_aliases/lang-js" ] && . "$HOME/.bash_aliases/lang-js"
 | 
					[ -f "$HOME/.bash_aliases/lang-js" ] && . "$HOME/.bash_aliases/lang-js"
 | 
				
			||||||
command -v jira >/dev/null && [ -f "$HOME/.bash_aliases/jira" ] && . "$HOME/.bash_aliases/jira"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Completions {{{
 | 
					# Completions {{{
 | 
				
			||||||
[ -d "$HOME/.bash_completions" ] && for file in "$HOME/.bash_completions"/*; do
 | 
					[ -d "$HOME/.bash_completions" ] && for file in "$HOME/.bash_completions"/*; do
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,4 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
function GetClozeNumber()
 | 
					function GetClozeNumber()
 | 
				
			||||||
  let REGEX_CLOZE_START = '{{c\d\+::'
 | 
					  let REGEX_CLOZE_START = '{{c\d\+::'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -33,3 +34,4 @@ let g:sandwich#recipes += [
 | 
				
			||||||
      \     'nesting':  1
 | 
					      \     'nesting':  1
 | 
				
			||||||
      \   }
 | 
					      \   }
 | 
				
			||||||
      \ ]
 | 
					      \ ]
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,5 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
" Paste clipboard images
 | 
					" Paste clipboard images
 | 
				
			||||||
au FileType pandoc nmap <buffer><silent> <leader>v :call mdip#MarkdownClipboardImage()<CR>
 | 
					au FileType pandoc nmap <buffer><silent> <leader>v :call mdip#MarkdownClipboardImage()<CR>
 | 
				
			||||||
au FileType markdown nmap <buffer><silent> <leader>v :call mdip#MarkdownClipboardImage()<CR>
 | 
					au FileType markdown nmap <buffer><silent> <leader>v :call mdip#MarkdownClipboardImage()<CR>
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,5 @@
 | 
				
			||||||
 | 
					vim.env.ESLINT_D_PPID = vim.fn.getpid()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local eslint_linter = "eslint_d"
 | 
					local eslint_linter = "eslint_d"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
require("lint").linters_by_ft = {
 | 
					require("lint").linters_by_ft = {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,5 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
nmap s <Nop>
 | 
					nmap s <Nop>
 | 
				
			||||||
xmap s <Nop>
 | 
					xmap s <Nop>
 | 
				
			||||||
let g:sandwich#recipes = deepcopy(g:sandwich#default_recipes)
 | 
					let g:sandwich#recipes = deepcopy(g:sandwich#default_recipes)
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,6 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
let g:taskwiki_taskrc_location='/home/h/.config/task/taskrc'
 | 
					let g:taskwiki_taskrc_location='/home/h/.config/task/taskrc'
 | 
				
			||||||
let g:taskwiki_disable_concealcursor=1
 | 
					let g:taskwiki_disable_concealcursor=1
 | 
				
			||||||
let g:taskwiki_dont_preserve_folds=1
 | 
					let g:taskwiki_dont_preserve_folds=1
 | 
				
			||||||
let g:taskwiki_dont_fold=1
 | 
					let g:taskwiki_dont_fold=1
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
let g:javascript_plugin_jsdoc = 1 " jsdoc syntax highlighting
 | 
					let g:javascript_plugin_jsdoc = 1 " jsdoc syntax highlighting
 | 
				
			||||||
let g:javascript_plugin_flow = 1 " flow syntax highlighting
 | 
					let g:javascript_plugin_flow = 1 " flow syntax highlighting
 | 
				
			||||||
let g:javascript_conceal_function = "ƒ"
 | 
					let g:javascript_conceal_function = "ƒ"
 | 
				
			||||||
let g:javascript_conceal_return = "⇖"
 | 
					let g:javascript_conceal_return = "⇖"
 | 
				
			||||||
let g:svelte_indent_script = 0
 | 
					let g:svelte_indent_script = 0
 | 
				
			||||||
let g:svelte_indent_style = 0
 | 
					let g:svelte_indent_style = 0
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,4 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
let g:pandoc#syntax#conceal#urls=1
 | 
					let g:pandoc#syntax#conceal#urls=1
 | 
				
			||||||
let g:pandoc#syntax#codeblocks#embeds#langs=[
 | 
					let g:pandoc#syntax#codeblocks#embeds#langs=[
 | 
				
			||||||
  \ 'python',
 | 
					  \ 'python',
 | 
				
			||||||
| 
						 | 
					@ -13,3 +14,4 @@ let g:pandoc#syntax#codeblocks#embeds#langs=[
 | 
				
			||||||
let g:pandoc#syntax#style#emphases=0 " Bug workaround
 | 
					let g:pandoc#syntax#style#emphases=0 " Bug workaround
 | 
				
			||||||
let g:pandoc#syntax#conceal#cchar_overrides = { "atx": " ", "li": "·" }
 | 
					let g:pandoc#syntax#conceal#cchar_overrides = { "atx": " ", "li": "·" }
 | 
				
			||||||
let g:pandoc#syntax#conceal#blacklist=[]
 | 
					let g:pandoc#syntax#conceal#blacklist=[]
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,4 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
au FileType pandoc call pandoc#completion#Init()
 | 
					au FileType pandoc call pandoc#completion#Init()
 | 
				
			||||||
let g:pandoc#filetypes#pandoc_markdown=0
 | 
					let g:pandoc#filetypes#pandoc_markdown=0
 | 
				
			||||||
let g:pandoc#spell#enabled=0
 | 
					let g:pandoc#spell#enabled=0
 | 
				
			||||||
| 
						 | 
					@ -5,3 +6,4 @@ let g:pandoc#spell#default_langs=['en_us', 'nl_be']
 | 
				
			||||||
let g:pandoc#formatting#mode='a'
 | 
					let g:pandoc#formatting#mode='a'
 | 
				
			||||||
let g:pandoc#formatting#textwidth=90
 | 
					let g:pandoc#formatting#textwidth=90
 | 
				
			||||||
let g:pandoc#modules#disabled = ["formatting", "dashes", "yaml", "metadata"]
 | 
					let g:pandoc#modules#disabled = ["formatting", "dashes", "yaml", "metadata"]
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,4 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
" Tidalcycles (sclang and vim-tidal)
 | 
					" Tidalcycles (sclang and vim-tidal)
 | 
				
			||||||
let g:tidal_default_config = {"socket_name": "default", "target_pane": "tidal:1.1"}
 | 
					let g:tidal_default_config = {"socket_name": "default", "target_pane": "tidal:1.1"}
 | 
				
			||||||
let g:tidal_no_mappings = 1
 | 
					let g:tidal_no_mappings = 1
 | 
				
			||||||
| 
						 | 
					@ -12,3 +13,4 @@ au FileType tidal com! -nargs=0 H :TidalHush
 | 
				
			||||||
" SuperCollider
 | 
					" SuperCollider
 | 
				
			||||||
au BufEnter,BufWinEnter,BufNewFile,BufRead *.sc,*.scd se filetype=supercollider
 | 
					au BufEnter,BufWinEnter,BufNewFile,BufRead *.sc,*.scd se filetype=supercollider
 | 
				
			||||||
au Filetype supercollider packadd scvim
 | 
					au Filetype supercollider packadd scvim
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,6 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
let g:vimtex_view_method='zathura'
 | 
					let g:vimtex_view_method='zathura'
 | 
				
			||||||
let g:tex_flavor='latex'
 | 
					let g:tex_flavor='latex'
 | 
				
			||||||
let g:tex_conceal='abdmgs'
 | 
					let g:tex_conceal='abdmgs'
 | 
				
			||||||
let g:vimtex_quickfix_mode=0
 | 
					let g:vimtex_quickfix_mode=0
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,4 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
" Change local buffer to directory of current file after the plugin has loaded
 | 
					" Change local buffer to directory of current file after the plugin has loaded
 | 
				
			||||||
autocmd VimEnter * lcd %:p:h
 | 
					autocmd VimEnter * lcd %:p:h
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -106,3 +107,4 @@ let g:wiki_write_on_nav=1
 | 
				
			||||||
let g:wiki_zotero_root='~/.local/share/zotero'
 | 
					let g:wiki_zotero_root='~/.local/share/zotero'
 | 
				
			||||||
" ... mappings and commands
 | 
					" ... mappings and commands
 | 
				
			||||||
" ...
 | 
					" ...
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,7 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
syn match Todo /TODO/
 | 
					syn match Todo /TODO/
 | 
				
			||||||
syn match Todo /FIXME/
 | 
					syn match Todo /FIXME/
 | 
				
			||||||
syn match Todo /FIX/
 | 
					syn match Todo /FIX/
 | 
				
			||||||
syn match Todo /QUESTION/
 | 
					syn match Todo /QUESTION/
 | 
				
			||||||
syn match Todo /NOTE/
 | 
					syn match Todo /NOTE/
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,4 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
" Override the pandoc-syntax highlighting colors for more subtle citations
 | 
					" Override the pandoc-syntax highlighting colors for more subtle citations
 | 
				
			||||||
hi! link pandocPCite Comment
 | 
					hi! link pandocPCite Comment
 | 
				
			||||||
hi! link pandocICite Comment
 | 
					hi! link pandocICite Comment
 | 
				
			||||||
| 
						 | 
					@ -5,9 +6,6 @@ hi! link pandocCiteKey Comment
 | 
				
			||||||
hi! link pandocCiteAnchor Comment
 | 
					hi! link pandocCiteAnchor Comment
 | 
				
			||||||
hi! link pandocCiteLocator Comment
 | 
					hi! link pandocCiteLocator Comment
 | 
				
			||||||
 | 
					
 | 
				
			||||||
" Don't show the CiteKey within the CiteLocator
 | 
					 | 
				
			||||||
syn match pandocCiteKey /\v\[[^]]+\]/ contained
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
" Match cloze delimiters e.g. `{{c1::` and `}}`
 | 
					" Match cloze delimiters e.g. `{{c1::` and `}}`
 | 
				
			||||||
syn match ClozeDelimiter /{{c\d\+::/ conceal containedin=pandocUListItem,pandocListItem
 | 
					syn match ClozeDelimiter /{{c\d\+::/ conceal containedin=pandocUListItem,pandocListItem
 | 
				
			||||||
syn match ClozeDelimiter /}}/ conceal containedin=pandocUListItem,pandocListItem
 | 
					syn match ClozeDelimiter /}}/ conceal containedin=pandocUListItem,pandocListItem
 | 
				
			||||||
| 
						 | 
					@ -23,4 +21,6 @@ syn match TaskWikiTaskUuid containedin=TaskWikiTask /\v#([A-Z]:)?[0-9a-fA-F]{8}-
 | 
				
			||||||
syn match TaskWikiTaskUuid containedin=TaskWikiTask /\v#([A-Z]:)?[0-9a-fA-F]{8}$/
 | 
					syn match TaskWikiTaskUuid containedin=TaskWikiTask /\v#([A-Z]:)?[0-9a-fA-F]{8}$/
 | 
				
			||||||
highlight link TaskWikiTaskUuid Comment
 | 
					highlight link TaskWikiTaskUuid Comment
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:runtime! syntax/_comment_keywords.vim
 | 
					]])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.cmd.runtime("syntax/_comment_keywords.lua")
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,7 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
syn keyword Operator \+ conceal cchar=¬
 | 
					syn keyword Operator \+ conceal cchar=¬
 | 
				
			||||||
syn keyword Operator ,  conceal cchar=∧
 | 
					syn keyword Operator ,  conceal cchar=∧
 | 
				
			||||||
syn keyword Operator ;  conceal cchar=∨
 | 
					syn keyword Operator ;  conceal cchar=∨
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:runtime! syntax/_comment_keywords.vim
 | 
					vim.cmd.runtime("syntax/_comment_keywords.lua")
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,4 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
syntax keyword Statement define conceal cchar=≔
 | 
					syntax keyword Statement define conceal cchar=≔
 | 
				
			||||||
 | 
					
 | 
				
			||||||
syn keyword Operator not conceal cchar=¬
 | 
					syn keyword Operator not conceal cchar=¬
 | 
				
			||||||
| 
						 | 
					@ -35,5 +36,6 @@ syn keyword Operator phi     conceal cchar=φ
 | 
				
			||||||
syn keyword Operator chi     conceal cchar=χ
 | 
					syn keyword Operator chi     conceal cchar=χ
 | 
				
			||||||
syn keyword Operator psi     conceal cchar=ψ
 | 
					syn keyword Operator psi     conceal cchar=ψ
 | 
				
			||||||
syn keyword Operator omega   conceal cchar=ω
 | 
					syn keyword Operator omega   conceal cchar=ω
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:runtime! syntax/_comment_keywords.vim
 | 
					vim.cmd.runtime("syntax/_comment_keywords.lua")
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					vim.opt.matchpairs:append("=:;")
 | 
				
			||||||
| 
						 | 
					@ -1,15 +0,0 @@
 | 
				
			||||||
-- NOTE: May want to move this, as it is more specific to wiki than to pandoc
 | 
					 | 
				
			||||||
vim.api.nvim_create_user_command("AnkiDeck", function()
 | 
					 | 
				
			||||||
  local handle = io.popen("get-anki-decks")
 | 
					 | 
				
			||||||
  local decks = {}
 | 
					 | 
				
			||||||
  for line in handle:lines() do
 | 
					 | 
				
			||||||
    table.insert(decks, line)
 | 
					 | 
				
			||||||
  end
 | 
					 | 
				
			||||||
  handle:close()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  vim.ui.select(decks, { prompt = "Select Anki deck" }, function(choice)
 | 
					 | 
				
			||||||
    if choice then
 | 
					 | 
				
			||||||
      vim.api.nvim_put({ choice }, "", true, true)
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
  end)
 | 
					 | 
				
			||||||
end, {})
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,4 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
" Anki helper functions
 | 
					" Anki helper functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
" Convert cloze note to regular text
 | 
					" Convert cloze note to regular text
 | 
				
			||||||
| 
						 | 
					@ -20,3 +21,4 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
au FileType pandoc com! -range AnkiRemoveAllClozes :%s/\%V{{c\d\+:://ge | :%s/\%V}}//ge | :%s/\%VSTART\nCloze\n//ge | :%s/\%VEND\n//ge
 | 
					au FileType pandoc com! -range AnkiRemoveAllClozes :%s/\%V{{c\d\+:://ge | :%s/\%V}}//ge | :%s/\%VSTART\nCloze\n//ge | :%s/\%VEND\n//ge
 | 
				
			||||||
au FileType pandoc com! -range AnkiRemoveSelectedClozes :%s/\%V{{c\d\+:://ge | :%s/\%V}}//ge | :%s/\%VSTART\nCloze\n//ge | :%s/\%VEND\n//ge
 | 
					au FileType pandoc com! -range AnkiRemoveSelectedClozes :%s/\%V{{c\d\+:://ge | :%s/\%V}}//ge | :%s/\%VSTART\nCloze\n//ge | :%s/\%VEND\n//ge
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,20 @@
 | 
				
			||||||
 | 
					-- NOTE: May want to move this, as it is more specific to wiki than to pandoc
 | 
				
			||||||
 | 
					vim.api.nvim_create_user_command("AnkiDeck", function()
 | 
				
			||||||
 | 
					  local handle = io.popen("get-anki-decks")
 | 
				
			||||||
 | 
					  local decks = {}
 | 
				
			||||||
 | 
					  for line in handle:lines() do
 | 
				
			||||||
 | 
					    table.insert(decks, line)
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					  handle:close()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  vim.ui.select(decks, { prompt = "Select Anki deck" }, function(choice)
 | 
				
			||||||
 | 
					    if choice then
 | 
				
			||||||
 | 
					      vim.api.nvim_put({ choice }, "", true, true)
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					  end)
 | 
				
			||||||
 | 
					end, {})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
set cc=81
 | 
					set cc=81
 | 
				
			||||||
set cocu=""
 | 
					set cocu=""
 | 
				
			||||||
func! GetContext()
 | 
					func! GetContext()
 | 
				
			||||||
| 
						 | 
					@ -17,3 +34,4 @@ func! GetContext()
 | 
				
			||||||
  endif
 | 
					  endif
 | 
				
			||||||
endfunc
 | 
					endfunc
 | 
				
			||||||
com! -nargs=0 GetContext :call GetContext()
 | 
					com! -nargs=0 GetContext :call GetContext()
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,4 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
"
 | 
					"
 | 
				
			||||||
" Source: https://wiki.call-cc.org/vim / Jonathan Palardy
 | 
					" Source: https://wiki.call-cc.org/vim / Jonathan Palardy
 | 
				
			||||||
"
 | 
					"
 | 
				
			||||||
| 
						 | 
					@ -23,3 +24,4 @@ fun! Scheme_eval_defun()
 | 
				
			||||||
    call Scheme_send_sexp(@")
 | 
					    call Scheme_send_sexp(@")
 | 
				
			||||||
    call setpos('.', pos)
 | 
					    call setpos('.', pos)
 | 
				
			||||||
endfun
 | 
					endfun
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -1,12 +1,29 @@
 | 
				
			||||||
require("nixCatsUtils").setup({ non_nix_value = true }) -- https://github.com/BirdeeHub/nixCats-nvim/blob/77dffad8235eb77684fcb7599487c8e9f23d5b8f/templates/example/init.lua
 | 
					require("nixCatsUtils").setup({ non_nix_value = true }) -- https://github.com/BirdeeHub/nixCats-nvim/blob/77dffad8235eb77684fcb7599487c8e9f23d5b8f/templates/example/init.lua
 | 
				
			||||||
 | 
					
 | 
				
			||||||
require("vim")
 | 
					vim.cmd([[
 | 
				
			||||||
 | 
					set termguicolors
 | 
				
			||||||
 | 
					set bg=light
 | 
				
			||||||
 | 
					hi Normal ctermbg=none guibg=NONE
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					require("base")
 | 
				
			||||||
 | 
					require("cursor")
 | 
				
			||||||
 | 
					require("fold")
 | 
				
			||||||
 | 
					require("netrw")
 | 
				
			||||||
require("ftdetect")
 | 
					require("ftdetect")
 | 
				
			||||||
 | 
					require("plug")
 | 
				
			||||||
 | 
					require("pandoc")
 | 
				
			||||||
require("keymaps")
 | 
					require("keymaps")
 | 
				
			||||||
require("highlight")
 | 
					require("highlight")
 | 
				
			||||||
 | 
					require("paq-setup")
 | 
				
			||||||
 | 
					require("statusline")
 | 
				
			||||||
require("diagnostic")
 | 
					require("diagnostic")
 | 
				
			||||||
 | 
					require("utils")
 | 
				
			||||||
 | 
					require("zk")
 | 
				
			||||||
 | 
					require("reload")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
require("paq-setup") -- when not on nixCats
 | 
					require("paq-setup") -- when not on nixCats
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- vim.opt.background = "dark"
 | 
					-- vim.opt.background = "dark"
 | 
				
			||||||
-- vim.opt.laststatus = 3
 | 
					-- vim.opt.laststatus = 3
 | 
				
			||||||
 | 
					vim.opt.laststatus = 3
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,5 @@
 | 
				
			||||||
" General config {{{
 | 
					vim.cmd([[
 | 
				
			||||||
"
 | 
					 | 
				
			||||||
" Tip: acronyms for overview, use `:h` for a quick lookup.
 | 
					" Tip: acronyms for overview, use `:h` for a quick lookup.
 | 
				
			||||||
 | 
					 | 
				
			||||||
set nocp                               " Disable vi incompatibility
 | 
					set nocp                               " Disable vi incompatibility
 | 
				
			||||||
filetype plugin indent on              " Filetype recognition
 | 
					filetype plugin indent on              " Filetype recognition
 | 
				
			||||||
set enc=utf8                           " Default to UTF-8 encoding
 | 
					set enc=utf8                           " Default to UTF-8 encoding
 | 
				
			||||||
| 
						 | 
					@ -28,6 +26,5 @@ set lcs=trail:·,tab:→\ ,nbsp:␣         " Whitespace rendering
 | 
				
			||||||
set ar                                 " Autoread
 | 
					set ar                                 " Autoread
 | 
				
			||||||
set spellsuggest+=5                    " Limit spell suggestions
 | 
					set spellsuggest+=5                    " Limit spell suggestions
 | 
				
			||||||
set wildignore+=*/node_modules/*,*/tmp/*,*.so,*.swp,*.zip
 | 
					set wildignore+=*/node_modules/*,*/tmp/*,*.so,*.swp,*.zip
 | 
				
			||||||
set thesaurus+=~/.vim/thesaurus/mthesaur.txt
 | 
					" set thesaurus+=./thesaurus/mthesaur.txt " FIXME
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
" }}}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,4 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
" Taken from /usr/share/vim/vim90/defaults.vim
 | 
					" Taken from /usr/share/vim/vim90/defaults.vim
 | 
				
			||||||
augroup vimStartup
 | 
					augroup vimStartup
 | 
				
			||||||
  au!
 | 
					  au!
 | 
				
			||||||
| 
						 | 
					@ -12,3 +13,4 @@ augroup vimStartup
 | 
				
			||||||
    \ | endif
 | 
					    \ | endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
augroup END
 | 
					augroup END
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,4 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
" Folds {{{
 | 
					" Folds {{{
 | 
				
			||||||
set foldmethod=marker
 | 
					set foldmethod=marker
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -22,3 +23,4 @@ augroup filetype_snippets
 | 
				
			||||||
augroup END
 | 
					augroup END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
" }}}
 | 
					" }}}
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -7,5 +7,6 @@ vim.filetype.add({
 | 
				
			||||||
    [".*/%.vscode/.*%.json"] = "jsonc",
 | 
					    [".*/%.vscode/.*%.json"] = "jsonc",
 | 
				
			||||||
    [".*/%.ssh/config%.d/.*"] = "sshconfig",
 | 
					    [".*/%.ssh/config%.d/.*"] = "sshconfig",
 | 
				
			||||||
    ["%.env.*"] = "dotenv",
 | 
					    ["%.env.*"] = "dotenv",
 | 
				
			||||||
 | 
					    ["%.pl$"] = "prolog",
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,50 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
 | 
					" Leader keys
 | 
				
			||||||
 | 
					let mapleader = " "
 | 
				
			||||||
 | 
					let maplocalleader = ";"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Splits & navigation
 | 
				
			||||||
 | 
					nm s <c-w>           " Split horizontal
 | 
				
			||||||
 | 
					nm ss :sp<CR><c-w>w| " Split horizontal
 | 
				
			||||||
 | 
					nm sv :vs<CR><c-w>w| " Split vertical
 | 
				
			||||||
 | 
					nm sw <c-w>w|        " Navigate splits
 | 
				
			||||||
 | 
					nm sh <c-w>h|        "
 | 
				
			||||||
 | 
					nm sj <c-w>j|        "
 | 
				
			||||||
 | 
					nm sk <c-w>k|        "
 | 
				
			||||||
 | 
					nm sl <c-w>l|        "
 | 
				
			||||||
 | 
					nn sH <c-w>8<|       " Resize splits
 | 
				
			||||||
 | 
					nn sJ <c-w>8-|       "
 | 
				
			||||||
 | 
					nn sK <c-w>8+|       "
 | 
				
			||||||
 | 
					nn sL <c-w>8>|       "
 | 
				
			||||||
 | 
					nn s= <c-w>=|        " Equalize splits
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Open
 | 
				
			||||||
 | 
					nn sb :Lex<cr>|          " File tree
 | 
				
			||||||
 | 
					nn <leader><leader> :noh<cr> |"
 | 
				
			||||||
 | 
					nn <leader>t :term<cr>| " Open terminal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Remaps
 | 
				
			||||||
 | 
					ino <nowait> jj <esc>|   " Normal now
 | 
				
			||||||
 | 
					nn  <left>  <nop>|       " Hard mode
 | 
				
			||||||
 | 
					nn  <down>  <nop>|       " "
 | 
				
			||||||
 | 
					nn  <up>    <nop>|       " "
 | 
				
			||||||
 | 
					nn  <right> <nop>|       " "
 | 
				
			||||||
 | 
					ino <left>  <nop>|       " "
 | 
				
			||||||
 | 
					ino <down>  <nop>|       " "
 | 
				
			||||||
 | 
					ino <up>    <nop>|       " "
 | 
				
			||||||
 | 
					ino <right> <nop>|       " "
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Search
 | 
				
			||||||
 | 
					nn <c-_> :noh<cr>| " map 'ctrl + /'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Line numbers
 | 
				
			||||||
 | 
					nn <leader>n :set nu! rnu!<cr>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Vim configuration
 | 
				
			||||||
 | 
					nn <leader>ec :vs $MYVIMRC<cr>
 | 
				
			||||||
 | 
					nn <leader>so :so %<cr>
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local set = vim.keymap.set
 | 
					local set = vim.keymap.set
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set("n", "<leader>cx", "<cmd>!chmod +x %<CR>", { silent = true, desc = "Run `chmod +x` on current file" })
 | 
					set("n", "<leader>cx", "<cmd>!chmod +x %<CR>", { silent = true, desc = "Run `chmod +x` on current file" })
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,5 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
let g:netrw_winsize = 30
 | 
					let g:netrw_winsize = 30
 | 
				
			||||||
let g:netrw_liststyle=3
 | 
					let g:netrw_liststyle=3
 | 
				
			||||||
let g:netrw_banner = 0
 | 
					let g:netrw_banner = 0
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,4 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
fu! Compile()
 | 
					fu! Compile()
 | 
				
			||||||
  if expand('%:e') == "md" 
 | 
					  if expand('%:e') == "md" 
 | 
				
			||||||
    :silent exec "!pandoc % -s -o /tmp/op.pdf &"
 | 
					    :silent exec "!pandoc % -s -o /tmp/op.pdf &"
 | 
				
			||||||
| 
						 | 
					@ -8,3 +9,4 @@ fu! Preview()
 | 
				
			||||||
  :call Compile()
 | 
					  :call Compile()
 | 
				
			||||||
  :silent exec "!zathura /tmp/op.pdf &"
 | 
					  :silent exec "!zathura /tmp/op.pdf &"
 | 
				
			||||||
endfu
 | 
					endfu
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,4 @@
 | 
				
			||||||
" Plugins {{{
 | 
					vim.cmd([[
 | 
				
			||||||
 | 
					 | 
				
			||||||
" Plug setup {{{
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call plug#begin()
 | 
					call plug#begin()
 | 
				
			||||||
Plug 'machakann/vim-sandwich'
 | 
					Plug 'machakann/vim-sandwich'
 | 
				
			||||||
Plug 'Shougo/context_filetype.vim'
 | 
					Plug 'Shougo/context_filetype.vim'
 | 
				
			||||||
| 
						 | 
					@ -31,4 +28,4 @@ Plug 'goerz/jupytext.vim'
 | 
				
			||||||
" OpenSCAD
 | 
					" OpenSCAD
 | 
				
			||||||
Plug 'sirtaj/vim-openscad'
 | 
					Plug 'sirtaj/vim-openscad'
 | 
				
			||||||
call plug#end()
 | 
					call plug#end()
 | 
				
			||||||
" }}}
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,7 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
augroup Vim
 | 
					augroup Vim
 | 
				
			||||||
  au!
 | 
					  au!
 | 
				
			||||||
  " Reload vim config when ~/.vimrc is changed
 | 
					  " Reload vim config when ~/.vimrc is changed
 | 
				
			||||||
  au BufWritePost $HOME/.vimrc so $MYVIMRC | redraw | echo "Reloaded vimrc"
 | 
					  au BufWritePost $HOME/.vimrc so $MYVIMRC | redraw | echo "Reloaded vimrc"
 | 
				
			||||||
augroup END
 | 
					augroup END
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,4 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
se ls=2
 | 
					se ls=2
 | 
				
			||||||
se stl=\ %0*%n
 | 
					se stl=\ %0*%n
 | 
				
			||||||
se stl+=\ %m
 | 
					se stl+=\ %m
 | 
				
			||||||
| 
						 | 
					@ -5,3 +6,4 @@ se stl+=\ %y%0*
 | 
				
			||||||
se stl+=\ %<%F
 | 
					se stl+=\ %<%F
 | 
				
			||||||
se stl+=\ %0*%=%5l%*
 | 
					se stl+=\ %0*%=%5l%*
 | 
				
			||||||
se stl+=%0*/%L%*
 | 
					se stl+=%0*/%L%*
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
function! SynGroup()
 | 
					function! SynGroup()
 | 
				
			||||||
    let l:s = synID(line('.'), col('.'), 1)
 | 
					    let l:s = synID(line('.'), col('.'), 1)
 | 
				
			||||||
    echo synIDattr(l:s, 'name') . ' -> ' . synIDattr(synIDtrans(l:s), 'name')
 | 
					    echo synIDattr(l:s, 'name') . ' -> ' . synIDattr(synIDtrans(l:s), 'name')
 | 
				
			||||||
endfun
 | 
					endfun
 | 
				
			||||||
 | 
					
 | 
				
			||||||
com! -nargs=0 Syn :call SynGroup()
 | 
					com! -nargs=0 Syn :call SynGroup()
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -1,5 +0,0 @@
 | 
				
			||||||
vim.cmd([[
 | 
					 | 
				
			||||||
set runtimepath^=~/.vim runtimepath+=~/.vim/after
 | 
					 | 
				
			||||||
let &packpath = &runtimepath
 | 
					 | 
				
			||||||
source ~/.vimrc"
 | 
					 | 
				
			||||||
]])
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,4 @@
 | 
				
			||||||
 | 
					vim.cmd([[
 | 
				
			||||||
let s:zk_preview_enabled = 0
 | 
					let s:zk_preview_enabled = 0
 | 
				
			||||||
let s:live_server_job = -1
 | 
					let s:live_server_job = -1
 | 
				
			||||||
au BufEnter /home/h/.zk/*.md silent exe '!echo "%" > /home/h/.zk/current-zettel.txt'
 | 
					au BufEnter /home/h/.zk/*.md silent exe '!echo "%" > /home/h/.zk/current-zettel.txt'
 | 
				
			||||||
| 
						 | 
					@ -18,3 +19,4 @@ endfunction
 | 
				
			||||||
command! ToggleZKPreview call ToggleZKPreview()
 | 
					command! ToggleZKPreview call ToggleZKPreview()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
nn <leader>o :ToggleZKPreview<cr> :!xdg-open http://localhost:8080/%:t:r.html & <cr>
 | 
					nn <leader>o :ToggleZKPreview<cr> :!xdg-open http://localhost:8080/%:t:r.html & <cr>
 | 
				
			||||||
 | 
					]])
 | 
				
			||||||
| 
						 | 
					@ -27,7 +27,7 @@ return {
 | 
				
			||||||
    t("flex-wrap: wrap;"),
 | 
					    t("flex-wrap: wrap;"),
 | 
				
			||||||
    i(0),
 | 
					    i(0),
 | 
				
			||||||
  }),
 | 
					  }),
 | 
				
			||||||
  s({ trig = "dfc", dscr = "Display flex column" }, {
 | 
					  s({ trig = "dfc", dscr = "Add 'flex-direction: column;'" }, {
 | 
				
			||||||
    t("display: flex;"),
 | 
					    t("display: flex;"),
 | 
				
			||||||
    t("flex-direction: column;"),
 | 
					    t("flex-direction: column;"),
 | 
				
			||||||
    i(0),
 | 
					    i(0),
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,6 +5,909 @@ local d = ls.dynamic_node
 | 
				
			||||||
local sn = ls.snippet_node
 | 
					local sn = ls.snippet_node
 | 
				
			||||||
local fmta = require("luasnip.extras.fmt").fmta
 | 
					local fmta = require("luasnip.extras.fmt").fmta
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Original .snippets file - TODO: Migrate to lua snippets
 | 
				
			||||||
 | 
					-- ```viml
 | 
				
			||||||
 | 
					-- global !p
 | 
				
			||||||
 | 
					-- from datetime import datetime
 | 
				
			||||||
 | 
					-- from math import factorial
 | 
				
			||||||
 | 
					-- import subprocess
 | 
				
			||||||
 | 
					-- import re
 | 
				
			||||||
 | 
					-- import sys
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- ZOTERO_BASE = "http://127.0.0.1:23119/better-bibtex/cayw"
 | 
				
			||||||
 | 
					-- FENCES = {
 | 
				
			||||||
 | 
					-- 	"i": "idea",
 | 
				
			||||||
 | 
					-- 	"q": "question",
 | 
				
			||||||
 | 
					-- 	"n": "note",
 | 
				
			||||||
 | 
					-- 	"t": "thought",
 | 
				
			||||||
 | 
					-- }
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- def math_inline():
 | 
				
			||||||
 | 
					-- 	return vim.command_output('GetContext') == 'math_inline'
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- def math_block():
 | 
				
			||||||
 | 
					-- 	return vim.command_output('GetContext') == 'math_block'
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- def math():
 | 
				
			||||||
 | 
					-- 	return math_inline() or math_block()
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- def code_block():
 | 
				
			||||||
 | 
					-- 	return vim.command_output('GetContext') == 'pandocDelimitedCodeBlock'
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- def code_inline():
 | 
				
			||||||
 | 
					-- 	return vim.command_output('GetContext') == 'pandocNoFormatted'
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- def code():
 | 
				
			||||||
 | 
					-- 	return code_inline() or code_block()
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- def slugify(text):
 | 
				
			||||||
 | 
					-- 	return re.sub('\s+', '-', text.lower())
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- def linkify(text, link):
 | 
				
			||||||
 | 
					-- 	return f"[{text}]({link})"
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- def zot(action):
 | 
				
			||||||
 | 
					-- 		if action == "get_title":
 | 
				
			||||||
 | 
					-- 			cmd = f"curl -s '{ZOTERO_BASE}?format=json&selected=1' | jq '.[].title' -r"
 | 
				
			||||||
 | 
					-- 		elif action == "get_citekey":
 | 
				
			||||||
 | 
					-- 			cmd = f"curl -s '{ZOTERO_BASE}?format=pandoc&selected=1'"
 | 
				
			||||||
 | 
					-- 		elif action == "get_citekey_brackets":
 | 
				
			||||||
 | 
					-- 			cmd = f"curl -s '{ZOTERO_BASE}?format=pandoc&selected=1&brackets=1'"
 | 
				
			||||||
 | 
					-- 		elif action == "get_link":
 | 
				
			||||||
 | 
					-- 			link_path = re.sub("^@", "", zot("get_citekey"))
 | 
				
			||||||
 | 
					-- 			link_title = zot("get_title")
 | 
				
			||||||
 | 
					-- 			link = linkify(link_title, link_path)
 | 
				
			||||||
 | 
					-- 			return link
 | 
				
			||||||
 | 
					-- 		elif action == "get_file":
 | 
				
			||||||
 | 
					-- 			link_path = re.sub("^@", "", zot("get_citekey"))
 | 
				
			||||||
 | 
					-- 			link_title = zot("get_title")
 | 
				
			||||||
 | 
					-- 			link = linkify(link_title, f"file://{link_path}.pdf")
 | 
				
			||||||
 | 
					-- 			return link
 | 
				
			||||||
 | 
					-- 		else:
 | 
				
			||||||
 | 
					-- 			return "Zotero action not found"
 | 
				
			||||||
 | 
					-- 		return subprocess.check_output(cmd, shell=True).decode("utf-8").strip()
 | 
				
			||||||
 | 
					-- endglobal
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet ctx "Context" i
 | 
				
			||||||
 | 
					-- `!p snip.rv = vim.command_output('GetContext')`
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- # General markdown
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet ^h "Markdown header" r
 | 
				
			||||||
 | 
					-- # $1
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet ^sec "Markdown section" r
 | 
				
			||||||
 | 
					-- ## $1
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet ^ssec "Markdown subsection" r
 | 
				
			||||||
 | 
					-- ### $1
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet ^sex "Markdown example section" r
 | 
				
			||||||
 | 
					-- ## Example: $1
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet ^ssex "Markdown example subsection" r
 | 
				
			||||||
 | 
					-- ### Example: $1
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- # Zettelkasten templating
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet nl
 | 
				
			||||||
 | 
					-- *nld*: $1
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet eng
 | 
				
			||||||
 | 
					-- *eng*: $1
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet fr
 | 
				
			||||||
 | 
					-- *fra*: $1
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet (de
 | 
				
			||||||
 | 
					-- *deu*: $1
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet (nl
 | 
				
			||||||
 | 
					-- (*nld*: $1)
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet (eng
 | 
				
			||||||
 | 
					-- (*eng*: $1)
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet (fr
 | 
				
			||||||
 | 
					-- (*fra*: $1)
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet (de
 | 
				
			||||||
 | 
					-- (*deu*: $1)
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet in
 | 
				
			||||||
 | 
					-- (In [$1]($2))$3
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet liwhat "What?" A
 | 
				
			||||||
 | 
					-- `!p snip.rv = "* [What?](" + snip.basename + "_what)"`$1
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet liwhy "Why?" A
 | 
				
			||||||
 | 
					-- `!p snip.rv = "* [Why?](" + snip.basename + "_why)"`$1
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet < "Comment (html)"
 | 
				
			||||||
 | 
					-- <!-- $1 -->$2
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet <. "Comment (html) ..." i
 | 
				
			||||||
 | 
					-- <!-- ... -->$1
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet <t "Thought (html)" i
 | 
				
			||||||
 | 
					-- <!--:::thought
 | 
				
			||||||
 | 
					-- $1
 | 
				
			||||||
 | 
					-- :::-->
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet <q "Question (html)" i
 | 
				
			||||||
 | 
					-- <!--:::question
 | 
				
			||||||
 | 
					-- $1
 | 
				
			||||||
 | 
					-- :::-->
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet <i "Idea (html)" i
 | 
				
			||||||
 | 
					-- <!--:::idea
 | 
				
			||||||
 | 
					-- $1
 | 
				
			||||||
 | 
					-- :::-->
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet <n "Note (html)" i
 | 
				
			||||||
 | 
					-- <!--:::note
 | 
				
			||||||
 | 
					-- $1
 | 
				
			||||||
 | 
					-- :::-->
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet td "Todo"
 | 
				
			||||||
 | 
					-- TODO${1:: $2}
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet ref "References"
 | 
				
			||||||
 | 
					-- <!--references-->
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet sort "Sort"
 | 
				
			||||||
 | 
					-- <!--sort-->
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet foot "Footnotes"
 | 
				
			||||||
 | 
					-- <!--footnotes-->
 | 
				
			||||||
 | 
					-- [^0]:
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet def "Definition"
 | 
				
			||||||
 | 
					-- **Definition${1:: $2}**${3: [${4:citation}${5:, ${6:pointer}}]}
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- $7
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- ___
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet theo "Theorem"
 | 
				
			||||||
 | 
					-- **Theorem${1:: $2}**${3: [${4:citation}${5:, ${6:pointer}}]}
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- $7
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- ${8/(\w+).*/**Theorem** \n\n.../}
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- ___
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet prop "Property"
 | 
				
			||||||
 | 
					-- **Property $1** [@]
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- $2
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- ___
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet lemm "Lemma"
 | 
				
			||||||
 | 
					-- **Lemma $1** [@]
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- $2
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- ___
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet coro "Corollary"
 | 
				
			||||||
 | 
					-- **Corollary $1** [@]
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- $2
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- ___
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- # Greek symbols
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet alpha "Alpha"
 | 
				
			||||||
 | 
					-- \\alpha
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet beta "Beta"
 | 
				
			||||||
 | 
					-- \\beta
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet gamma "Gamma"
 | 
				
			||||||
 | 
					-- \\gamma
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet delta "Delta"
 | 
				
			||||||
 | 
					-- \\delta
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet epsilon "Epsilon"
 | 
				
			||||||
 | 
					-- \\epsilonilon
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet zeta "Zeta"
 | 
				
			||||||
 | 
					-- \\zeta
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet eta "Eta"
 | 
				
			||||||
 | 
					-- \\eta
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet theta "Theta"
 | 
				
			||||||
 | 
					-- \\theta
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet iota "Iota"
 | 
				
			||||||
 | 
					-- \\iota
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet kappa "Kappa"
 | 
				
			||||||
 | 
					-- \\kappa
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet lambda "Lambda" i
 | 
				
			||||||
 | 
					-- \\lambda
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet mu "Mu"
 | 
				
			||||||
 | 
					-- \\mu
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet nu "Nu"
 | 
				
			||||||
 | 
					-- \\nu
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet xi "Xi"
 | 
				
			||||||
 | 
					-- \\xi
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet omicron "Omicron"
 | 
				
			||||||
 | 
					-- \\omicron
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet pi "Pi"
 | 
				
			||||||
 | 
					-- \\pi
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet rho "Rho"
 | 
				
			||||||
 | 
					-- \\rho
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet sigma "Sigma"
 | 
				
			||||||
 | 
					-- \\sigma
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet tau "Tau"
 | 
				
			||||||
 | 
					-- \\tau
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet upsilon "Upsilon"
 | 
				
			||||||
 | 
					-- \\upsilon
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet phi "Phi"
 | 
				
			||||||
 | 
					-- \\phi
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet chi "Chi"
 | 
				
			||||||
 | 
					-- \\chi
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet psi "Psi"
 | 
				
			||||||
 | 
					-- \\psi
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet omega "Omega"
 | 
				
			||||||
 | 
					-- \\omega
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet Gamma "Gamma"
 | 
				
			||||||
 | 
					-- \\Gamma
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet Delta "Delta"
 | 
				
			||||||
 | 
					-- \\Delta
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet Theta "Theta"
 | 
				
			||||||
 | 
					-- \\Theta
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet Lambda "Lambda"
 | 
				
			||||||
 | 
					-- \\Lambda
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet Xi "Xi"
 | 
				
			||||||
 | 
					-- \\Xi
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet Pi "Pi"
 | 
				
			||||||
 | 
					-- \\Pi
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet Sigma "Sigma"
 | 
				
			||||||
 | 
					-- \\Sigma
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet Upsilon "Upsilon"
 | 
				
			||||||
 | 
					-- \\Upsilon
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet Phi "Phi"
 | 
				
			||||||
 | 
					-- \\Phi
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet Psi "Psi"
 | 
				
			||||||
 | 
					-- \\Psi
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet Omega "Omega"
 | 
				
			||||||
 | 
					-- \\Omega
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet asaw "Als en slechts als (woorden)" i
 | 
				
			||||||
 | 
					-- als en slechts als
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet iffw "If and only if (words)" i
 | 
				
			||||||
 | 
					-- if and only if
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet asas "Als en slechts als (shorthand)" i
 | 
				
			||||||
 | 
					-- **asa**
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet iffs "If and only if (shorthand)" i
 | 
				
			||||||
 | 
					-- **iff**
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet beg "Begin"
 | 
				
			||||||
 | 
					-- \begin{$1}
 | 
				
			||||||
 | 
					-- $2
 | 
				
			||||||
 | 
					-- \end{$1}
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet align "" i
 | 
				
			||||||
 | 
					-- \begin{align}
 | 
				
			||||||
 | 
					-- $1
 | 
				
			||||||
 | 
					-- \end{align}
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet cases "" i
 | 
				
			||||||
 | 
					-- \begin{cases}
 | 
				
			||||||
 | 
					-- $1 \\\\
 | 
				
			||||||
 | 
					-- $2
 | 
				
			||||||
 | 
					-- \end{cases}
 | 
				
			||||||
 | 
					-- $3
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet tik "Tikzpicture" i
 | 
				
			||||||
 | 
					-- \begin{tikzpicture}
 | 
				
			||||||
 | 
					-- $1
 | 
				
			||||||
 | 
					-- \end{tikzpicture}
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet matrix "Matrix" i
 | 
				
			||||||
 | 
					-- \begin{bmatrix}
 | 
				
			||||||
 | 
					-- $1
 | 
				
			||||||
 | 
					-- \end{bmatrix}
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- # Insert anything after m/M in math mode
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet "(\b)m(.*)" "MathJax" r
 | 
				
			||||||
 | 
					-- `!p snip.rv = match.group(1) + "$" + match.group(2) + "$"`
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet (\b)M(.*) "MathJax block" irw
 | 
				
			||||||
 | 
					-- $$
 | 
				
			||||||
 | 
					-- `!p snip.rv = match.group(2)`
 | 
				
			||||||
 | 
					-- $$
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- # Calligraphic letters
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet c([A-z]) "Calligraphic A" r
 | 
				
			||||||
 | 
					-- `!p snip.rv = "\\mathcal{" + match.group(1) + "}"`$1
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- # Subscripts
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet '([A-z])(\w+)' "Subscripts" irw
 | 
				
			||||||
 | 
					-- `!p snip.rv = match.group(1) + '_' + match.group(2) if len(match.group(2)) == 1 else match.group(1) + '_{' + match.group(2) + '}'`$1
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- # MathJax
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet fa "For all" i
 | 
				
			||||||
 | 
					-- \forall
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet frac "" i
 | 
				
			||||||
 | 
					-- \frac{$1}{$2}$3
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet set "" i
 | 
				
			||||||
 | 
					-- \\{$1\\}$2
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet N "" i
 | 
				
			||||||
 | 
					-- \mathbb{N}
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet N0 "" i
 | 
				
			||||||
 | 
					-- \mathbb{N}_0
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet N+ "" i
 | 
				
			||||||
 | 
					-- \mathbb{N}^+
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet Z "" i
 | 
				
			||||||
 | 
					-- \mathbb{Z}
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet Z0 "" i
 | 
				
			||||||
 | 
					-- \mathbb{Z}_0
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet Z+ "" i
 | 
				
			||||||
 | 
					-- \mathbb{Z}^+
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet R "" i
 | 
				
			||||||
 | 
					-- \mathbb{R}
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet R0 "" i
 | 
				
			||||||
 | 
					-- \mathbb{R}_0
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet R+ "" i
 | 
				
			||||||
 | 
					-- \mathbb{R}^+
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet C "" i
 | 
				
			||||||
 | 
					-- \mathbb{C}
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet lim "" i
 | 
				
			||||||
 | 
					-- \lim_{$1}$2
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet limn "" i
 | 
				
			||||||
 | 
					-- \lim_{n \to \infty}$2
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet binom "" i
 | 
				
			||||||
 | 
					-- \binom{$1}{$2}$3
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet andmath "description" i
 | 
				
			||||||
 | 
					-- \text{ and }
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet enmath "description" i
 | 
				
			||||||
 | 
					-- \text{ en }
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet lra "MathJax: long right arrow" i
 | 
				
			||||||
 | 
					-- \longrightarrow
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet Ra "MathJax: right arrow" i
 | 
				
			||||||
 | 
					-- \Rightarrow
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet Im "MathJax: image operator" i
 | 
				
			||||||
 | 
					-- \operatorname{Im}
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet ggd "Grootste gemene deler" i
 | 
				
			||||||
 | 
					-- \operatorname{ggd}
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet fl "Floating point" i
 | 
				
			||||||
 | 
					-- \operatorname{fl}
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet Var "Variance" i
 | 
				
			||||||
 | 
					-- \operatorname{Var}
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet E "Expectation" i
 | 
				
			||||||
 | 
					-- \operatorname{E}
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet Cov "Covariance" i
 | 
				
			||||||
 | 
					-- \operatorname{Cov}
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()" i
 | 
				
			||||||
 | 
					-- snippet ntup "Alpha"
 | 
				
			||||||
 | 
					-- (x_1, \ldots, x_n)
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet mxn "Matrix" i
 | 
				
			||||||
 | 
					-- m \times n
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet mxn- "Matrix" i
 | 
				
			||||||
 | 
					-- $m \times n$-matrix
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet nxn "Matrix" i
 | 
				
			||||||
 | 
					-- n \times n
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet det "Determinant" i
 | 
				
			||||||
 | 
					-- \operatorname{det}(${1:A})$2
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet det| "Determinant alternative notation" i
 | 
				
			||||||
 | 
					-- |${1:A}|$2
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet Span "Span" i
 | 
				
			||||||
 | 
					-- \operatorname{Span}\\{$1\\}$2
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet Nul "Null" i
 | 
				
			||||||
 | 
					-- \operatorname{Nul}($1)$2
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet Col "Column space" i
 | 
				
			||||||
 | 
					-- \operatorname{Col}($1)$2
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet kern "Kernel" i
 | 
				
			||||||
 | 
					-- \operatorname{kern}($1)$2
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet vec "Vector" i
 | 
				
			||||||
 | 
					-- \mathbf{$1}$2
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "math()"
 | 
				
			||||||
 | 
					-- snippet vec([A-z]) "Vector ..." r
 | 
				
			||||||
 | 
					-- `!p snip.rv = "\\mathbf{" + match.group(1) + "}"`$1
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet v1tovp "Vectors v indexed from 1 to p"
 | 
				
			||||||
 | 
					-- \mathbf{v_1},...,\mathbf{v_p}$2
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet a1toan "Vectors a indexed from 1 to n"
 | 
				
			||||||
 | 
					-- \mathbf{a_1},...,\mathbf{v_n}$2
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet .. "Dot dot dot" i
 | 
				
			||||||
 | 
					-- \dots $1
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet text "MathJax text" i
 | 
				
			||||||
 | 
					-- \text{$1}$2
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet leq "Less than or equal to" i
 | 
				
			||||||
 | 
					-- \leq
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet leq "Greater than or equal to" i
 | 
				
			||||||
 | 
					-- \geq
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet eat "Evaluated at" i
 | 
				
			||||||
 | 
					-- {\biggr\rvert}_{$1}$2
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet sketch "Link a sketch" i
 | 
				
			||||||
 | 
					-- [$1](file:///home/h/sketches/$2)
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet deck "Get anki deck"
 | 
				
			||||||
 | 
					-- `get-anki-decks`
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- # snippet ` "Inline code" i
 | 
				
			||||||
 | 
					-- # `$1`
 | 
				
			||||||
 | 
					-- # endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- # Escape backticks
 | 
				
			||||||
 | 
					-- snippet `` "Code block" bA
 | 
				
			||||||
 | 
					-- \`\`\`$1
 | 
				
			||||||
 | 
					-- $2
 | 
				
			||||||
 | 
					-- \`\`\`
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet `tex "Latex block (see latex filter)" bA
 | 
				
			||||||
 | 
					-- \`\`\`{.tex}
 | 
				
			||||||
 | 
					-- $1
 | 
				
			||||||
 | 
					-- \`\`\`
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet `tik "Tikz block (see tikz filter)" bA
 | 
				
			||||||
 | 
					-- \`\`\`{.tex}
 | 
				
			||||||
 | 
					-- \\begin{tikzpicture}
 | 
				
			||||||
 | 
					-- $1
 | 
				
			||||||
 | 
					-- \\end{tikzpicture}
 | 
				
			||||||
 | 
					-- \`\`\`
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet task "Task" i
 | 
				
			||||||
 | 
					-- * [ ] $1 -- pro:$2
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet "(\b)fn(\d+)" "" ir
 | 
				
			||||||
 | 
					-- `!p snip.rv = snip.basename + "_" + match.group(2).zfill(2)`$1
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet "ch(\d+)" "Link chapter" ir
 | 
				
			||||||
 | 
					-- `!p
 | 
				
			||||||
 | 
					-- num_str = match.group(1).zfill(2)
 | 
				
			||||||
 | 
					-- title = 3*"."
 | 
				
			||||||
 | 
					-- link = snip.basename + "_" + num_str
 | 
				
			||||||
 | 
					-- snip.rv = num_str + ". " + linkify(title, link)
 | 
				
			||||||
 | 
					-- `
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet "ch(\d+)to(\d+)" "Link chapters ... to ..." irA
 | 
				
			||||||
 | 
					-- `!p
 | 
				
			||||||
 | 
					-- for i in range(int(match.group(1)), int(match.group(2)) + 1):
 | 
				
			||||||
 | 
					-- 	num_str = str(i).zfill(2)
 | 
				
			||||||
 | 
					-- 	title = 3*"."
 | 
				
			||||||
 | 
					-- 	link = snip.basename + "_" + num_str
 | 
				
			||||||
 | 
					-- 	snip.rv += num_str + ". " + linkify(title, link) + "\n"
 | 
				
			||||||
 | 
					-- `
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet "sec([\sA-z]+)" "Link section titled ..." r
 | 
				
			||||||
 | 
					-- `!p
 | 
				
			||||||
 | 
					-- snip.rv = "* " + linkify(match.group(1), f"{snip.basename}_{slugify(match.group(1))}")
 | 
				
			||||||
 | 
					-- `
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet cp(\d+) "Comment current page (and date)" r
 | 
				
			||||||
 | 
					-- `!p snip.rv = "<!--" + datetime.now().strftime("%Y-%m-%d") + " p. " + match.group(1) + "-->"`
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet (\d+)! "Factorial of ..." r
 | 
				
			||||||
 | 
					-- `!p snip.rv = factorial(int(match.group(1)))`
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet d "Date"
 | 
				
			||||||
 | 
					-- `!p snip.rv = datetime.now().strftime("%Y-%m-%d")`
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet :(\w*) "Fence" r
 | 
				
			||||||
 | 
					-- `!p snip.rv += ":::" + FENCES.get(match.group(1) or "", "") + "\n" `$1
 | 
				
			||||||
 | 
					-- `!p snip.rv += ":::"`$2
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet \[(\w*) "Fence inline" ir
 | 
				
			||||||
 | 
					-- `!p snip.rv += "["`$1`!p snip.rv += "]{." + FENCES.get(match.group(1) or "", "") + "}"`$2
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet ^eg "Example" r
 | 
				
			||||||
 | 
					-- E.g. $1
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- # E.g. after list (or list preceded by space)
 | 
				
			||||||
 | 
					-- snippet (\*\s|\*)eg "Example" r
 | 
				
			||||||
 | 
					-- * E.g. $1
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- # E.g. after dot (or dot preceded by space)
 | 
				
			||||||
 | 
					-- snippet (\.\s|\.)eg "Example" r
 | 
				
			||||||
 | 
					-- . E.g. $1
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet (?<!^|\*\s|\*|\.\s|\.)eg "Example" r
 | 
				
			||||||
 | 
					-- e.g. $1
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- # Zettelkasten to Anki
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet td "TARGET DECK: <Deck name>"
 | 
				
			||||||
 | 
					-- TARGET DECK: $1::$2
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet clo "Cloze"
 | 
				
			||||||
 | 
					-- START
 | 
				
			||||||
 | 
					-- Cloze
 | 
				
			||||||
 | 
					-- ${0:${VISUAL}}$1
 | 
				
			||||||
 | 
					-- END
 | 
				
			||||||
 | 
					-- $2
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet clos "Cloze start"
 | 
				
			||||||
 | 
					-- START
 | 
				
			||||||
 | 
					-- Cloze
 | 
				
			||||||
 | 
					-- $1
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet cloe "Cloze end"
 | 
				
			||||||
 | 
					-- END
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet clod
 | 
				
			||||||
 | 
					-- START
 | 
				
			||||||
 | 
					-- Cloze
 | 
				
			||||||
 | 
					-- **Definition$1**
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- $2
 | 
				
			||||||
 | 
					-- END
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet clop
 | 
				
			||||||
 | 
					-- START
 | 
				
			||||||
 | 
					-- Cloze
 | 
				
			||||||
 | 
					-- **Property$1**
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- $2
 | 
				
			||||||
 | 
					-- END
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet clot
 | 
				
			||||||
 | 
					-- START
 | 
				
			||||||
 | 
					-- Cloze
 | 
				
			||||||
 | 
					-- **Theorem$1**
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- $2
 | 
				
			||||||
 | 
					-- END
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet clol
 | 
				
			||||||
 | 
					-- START
 | 
				
			||||||
 | 
					-- Cloze
 | 
				
			||||||
 | 
					-- **Lemma$1**
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- $2
 | 
				
			||||||
 | 
					-- END
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet "c(\d+)" "Cloze <number>" r
 | 
				
			||||||
 | 
					-- {{c`!p snip.rv = int(match.group(1))`::${0:${VISUAL}}$1}}$2
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- # Match preceded by whitespace or start of line
 | 
				
			||||||
 | 
					-- snippet (?<!\S)z($|t|l|z|o|\.) "Zotero" r
 | 
				
			||||||
 | 
					-- `!p
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- ACTIONS = {
 | 
				
			||||||
 | 
					-- 	"": "get_citekey",
 | 
				
			||||||
 | 
					-- 	"t": "get_title",
 | 
				
			||||||
 | 
					-- 	"l": "get_link",
 | 
				
			||||||
 | 
					-- 	"z": "get_citekey_brackets",
 | 
				
			||||||
 | 
					-- 	"o": "get_file",
 | 
				
			||||||
 | 
					-- }
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snip.rv = zot(ACTIONS.get(match.group(1)))
 | 
				
			||||||
 | 
					-- `
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet zq "Zotero quote" r
 | 
				
			||||||
 | 
					-- `!p snip.rv = '>\n> --' + zot("get_citekey_brackets")`
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet acz "According to ..."
 | 
				
			||||||
 | 
					-- `!p snip.rv = "According to " + zot("get_citekey")`
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet azex "As ... explains"
 | 
				
			||||||
 | 
					-- `!p snip.rv = "As " + zot("get_citekey") + " explains, "`
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet iz "In ..."
 | 
				
			||||||
 | 
					-- `!p snip.rv = "In " + zot("get_citekey")`
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet izd "In ...'s definition"
 | 
				
			||||||
 | 
					-- `!p snip.rv = "In " + zot("get_citekey") + "'s definition, "`
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet zintends "... intends to ..." A
 | 
				
			||||||
 | 
					-- `!p snip.rv = zot("get_citekey") + " intends to "`
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet tfol "The following" wA
 | 
				
			||||||
 | 
					-- the following
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet tfolt "It follows that" wA
 | 
				
			||||||
 | 
					-- it follows that
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet ntfol "In the following" wA
 | 
				
			||||||
 | 
					-- in the following
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet algos "algorithms" wA
 | 
				
			||||||
 | 
					-- algorithms
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- snippet algo "algorithm" wA
 | 
				
			||||||
 | 
					-- algorithm
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- # TODO: Make only available in tikzpicture
 | 
				
			||||||
 | 
					-- context "code()"
 | 
				
			||||||
 | 
					-- snippet q "State" w
 | 
				
			||||||
 | 
					-- \node[state] ($1) [] {$2};
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- context "code()"
 | 
				
			||||||
 | 
					-- snippet q0 "Initial state" w
 | 
				
			||||||
 | 
					-- \node[initial,state] ($1) {$2};
 | 
				
			||||||
 | 
					-- endsnippet
 | 
				
			||||||
 | 
					-- ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- Taken from https://ejmastnak.com/tutorials/vim-latex/luasnip/#anatomy
 | 
					-- Taken from https://ejmastnak.com/tutorials/vim-latex/luasnip/#anatomy
 | 
				
			||||||
local get_visual = function(_, parent)
 | 
					local get_visual = function(_, parent)
 | 
				
			||||||
  if #parent.snippet.env.LS_SELECT_RAW > 0 then
 | 
					  if #parent.snippet.env.LS_SELECT_RAW > 0 then
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,24 @@
 | 
				
			||||||
 | 
					local ls = require("luasnip")
 | 
				
			||||||
 | 
					local s = ls.snippet
 | 
				
			||||||
 | 
					local t = ls.text_node
 | 
				
			||||||
 | 
					local i = ls.insert_node
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					return {
 | 
				
			||||||
 | 
					  s("reqtrace", t({ "(#%require racket/trace)" })),
 | 
				
			||||||
 | 
					  s("strln", t({ "(string-length " }), i(1), t({ ")" })),
 | 
				
			||||||
 | 
					  s("impb", t({ "(import (rnrs base (6))", "        (rnrs io simple" }), i(0), t({ ")" })),
 | 
				
			||||||
 | 
					  s("def", {
 | 
				
			||||||
 | 
					    t("(define "),
 | 
				
			||||||
 | 
					    i(1),
 | 
				
			||||||
 | 
					    t(" "),
 | 
				
			||||||
 | 
					    i(2),
 | 
				
			||||||
 | 
					    t(")"),
 | 
				
			||||||
 | 
					  }),
 | 
				
			||||||
 | 
					  s("defp", {
 | 
				
			||||||
 | 
					    t("(define ("),
 | 
				
			||||||
 | 
					    i(1),
 | 
				
			||||||
 | 
					    t(" "),
 | 
				
			||||||
 | 
					    i(2),
 | 
				
			||||||
 | 
					    t("))"),
 | 
				
			||||||
 | 
					  }),
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,69 @@
 | 
				
			||||||
 | 
					local ls = require("luasnip")
 | 
				
			||||||
 | 
					local s = ls.snippet
 | 
				
			||||||
 | 
					local i = ls.insert_node
 | 
				
			||||||
 | 
					local t = ls.text_node
 | 
				
			||||||
 | 
					local f = ls.function_node
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Inspired by https://castel.dev/post/lecture-notes-1/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ls.add_snippets("tex", {
 | 
				
			||||||
 | 
					  s("beg", {
 | 
				
			||||||
 | 
					    t("\\begin{"),
 | 
				
			||||||
 | 
					    i(1),
 | 
				
			||||||
 | 
					    t({ "}", "\t" }),
 | 
				
			||||||
 | 
					    i(0),
 | 
				
			||||||
 | 
					    t({ "", "\\end{" }),
 | 
				
			||||||
 | 
					    f(function(args)
 | 
				
			||||||
 | 
					      return args[1][1]
 | 
				
			||||||
 | 
					    end, { 1 }),
 | 
				
			||||||
 | 
					    t("}"),
 | 
				
			||||||
 | 
					  }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  s("def", {
 | 
				
			||||||
 | 
					    t("\\begin{definition}"),
 | 
				
			||||||
 | 
					    t({ "", "\t" }),
 | 
				
			||||||
 | 
					    i(0),
 | 
				
			||||||
 | 
					    t({ "", "\\end{definition}" }),
 | 
				
			||||||
 | 
					  }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  s("fig", {
 | 
				
			||||||
 | 
					    t("\\begin{figure}"),
 | 
				
			||||||
 | 
					    t({ "", "\t" }),
 | 
				
			||||||
 | 
					    i(0),
 | 
				
			||||||
 | 
					    t({ "", "\\end{figure}" }),
 | 
				
			||||||
 | 
					  }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  s(
 | 
				
			||||||
 | 
					    "time",
 | 
				
			||||||
 | 
					    f(function()
 | 
				
			||||||
 | 
					      return os.date("%H:%M")
 | 
				
			||||||
 | 
					    end)
 | 
				
			||||||
 | 
					  ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  s("i", t("\\textit{"), i(0), t("}")),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  s("b", t("\\textbf{"), i(0), t("}")),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  s("center", {
 | 
				
			||||||
 | 
					    t("\\begin{center}"),
 | 
				
			||||||
 | 
					    t({ "", "" }),
 | 
				
			||||||
 | 
					    i(0),
 | 
				
			||||||
 | 
					    t({ "", "\\end{center}" }),
 | 
				
			||||||
 | 
					  }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  s("pac", t("\\usepackage{"), i(0), t("}")),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  s("foot", t("\\footnote{"), i(0), t("}")),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  s("dm", {
 | 
				
			||||||
 | 
					    t({ "\\[", "" }),
 | 
				
			||||||
 | 
					    i(1),
 | 
				
			||||||
 | 
					    t({ "", "\\]" }),
 | 
				
			||||||
 | 
					    i(0),
 | 
				
			||||||
 | 
					  }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  s("ch", t("\\chapter{"), i(0), t("}")),
 | 
				
			||||||
 | 
					  s("sec", t("\\section{"), i(0), t("}")),
 | 
				
			||||||
 | 
					  s("ssec", t("\\subsection{"), i(0), t("}")),
 | 
				
			||||||
 | 
					  s("sssec", t("\\subsubsection{"), i(0), t("}")),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					enabled=False
 | 
				
			||||||
| 
						 | 
					@ -1,210 +0,0 @@
 | 
				
			||||||
" YinYang - black/white color scheme
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if (&background ==# "dark" && get(g:, "colors_name", "") ==# "yang")
 | 
					 | 
				
			||||||
    runtime! colors/yin.vim
 | 
					 | 
				
			||||||
    finish
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
highlight clear
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if exists("syntax_on")
 | 
					 | 
				
			||||||
    syntax reset
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
let g:colors_name = "yang"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
let s:palette = {}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
let s:palette.white = [254, '#f7f7f7']
 | 
					 | 
				
			||||||
let s:palette.gray15 = [253, '#e4e4e4']
 | 
					 | 
				
			||||||
let s:palette.gray14 = [250, '#bcbcbc']
 | 
					 | 
				
			||||||
let s:palette.gray13 = [249, '#b2b2b2']
 | 
					 | 
				
			||||||
let s:palette.gray12 = [248, '#a8a8a8']
 | 
					 | 
				
			||||||
let s:palette.gray11 = [247, '#9e9e9e']
 | 
					 | 
				
			||||||
let s:palette.gray10 = [246, '#949494']
 | 
					 | 
				
			||||||
let s:palette.gray09 = [245, '#8a8a8a']
 | 
					 | 
				
			||||||
let s:palette.gray08 = [244, '#808080']
 | 
					 | 
				
			||||||
let s:palette.gray07 = [243, '#767676']
 | 
					 | 
				
			||||||
let s:palette.gray06 = [242, '#666666']
 | 
					 | 
				
			||||||
let s:palette.gray05 = [241, '#606060']
 | 
					 | 
				
			||||||
let s:palette.gray04 = [240, '#585858']
 | 
					 | 
				
			||||||
let s:palette.gray03 = [239, '#4e4e4e']
 | 
					 | 
				
			||||||
let s:palette.gray02 = [238, '#444444']
 | 
					 | 
				
			||||||
let s:palette.gray01 = [235, '#262626']
 | 
					 | 
				
			||||||
let s:palette.black = [233, '#121212']
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
let s:palette.purple = [98, '#875fd7']
 | 
					 | 
				
			||||||
let s:palette.brown = [130, '#af5f00']
 | 
					 | 
				
			||||||
let s:palette.blue = [67, '#5f87af']
 | 
					 | 
				
			||||||
let s:palette.darkblue = [27, '#005fff']
 | 
					 | 
				
			||||||
let s:palette.green = [65, '#5f875f']
 | 
					 | 
				
			||||||
let s:palette.red = [88, '#870000']
 | 
					 | 
				
			||||||
let s:palette.orange = [166, '#5f5fd7']
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if has("nvim")
 | 
					 | 
				
			||||||
    let g:terminal_color_0 = s:palette.gray01[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_1 = s:palette.gray06[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_2 = s:palette.gray03[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_3 = s:palette.gray11[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_4 = s:palette.gray02[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_5 = s:palette.gray08[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_6 = s:palette.gray09[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_7 = s:palette.gray13[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_8 = s:palette.gray03[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_9 = s:palette.gray10[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_10 = s:palette.gray07[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_11 = s:palette.gray13[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_12 = s:palette.gray05[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_13 = s:palette.gray12[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_14 = s:palette.gray14[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_15 = s:palette.white[1]
 | 
					 | 
				
			||||||
elseif has("terminal")
 | 
					 | 
				
			||||||
    let g:terminal_ansi_colors = [
 | 
					 | 
				
			||||||
                \ s:palette.gray01[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray06[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray03[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray11[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray02[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray08[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray09[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray13[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray03[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray10[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray07[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray13[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray05[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray12[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray14[1],
 | 
					 | 
				
			||||||
                \ s:palette.white[1]
 | 
					 | 
				
			||||||
                \ ]
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function! s:hi(group, fg_color, bg_color, style)
 | 
					 | 
				
			||||||
    let highlight_command = ['hi', a:group]
 | 
					 | 
				
			||||||
    if !empty(a:fg_color)
 | 
					 | 
				
			||||||
        let [ctermfg, guifg] = a:fg_color
 | 
					 | 
				
			||||||
        call add(highlight_command, printf('ctermfg=%d guifg=%s', ctermfg, guifg))
 | 
					 | 
				
			||||||
    endif
 | 
					 | 
				
			||||||
    if !empty(a:bg_color)
 | 
					 | 
				
			||||||
        let [ctermbg, guibg] = a:bg_color
 | 
					 | 
				
			||||||
        call add(highlight_command, printf('ctermbg=%d guibg=%s', ctermbg, guibg))
 | 
					 | 
				
			||||||
    endif
 | 
					 | 
				
			||||||
    if !empty(a:style)
 | 
					 | 
				
			||||||
        call add(highlight_command, printf('cterm=%s gui=%s', a:style, a:style))
 | 
					 | 
				
			||||||
    endif
 | 
					 | 
				
			||||||
    execute join(highlight_command, ' ')
 | 
					 | 
				
			||||||
endfunction
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('Normal', s:palette.gray05, s:palette.white, '')
 | 
					 | 
				
			||||||
set background=light
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('Constant', s:palette.gray11, [], 'bold')
 | 
					 | 
				
			||||||
call s:hi('String', s:palette.gray08, [], '')
 | 
					 | 
				
			||||||
call s:hi('Number', s:palette.gray10, [], '')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('Identifier', s:palette.gray06, [], 'none')
 | 
					 | 
				
			||||||
call s:hi('Function', s:palette.gray06, [], '')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('Statement', s:palette.gray08, [], 'bold')
 | 
					 | 
				
			||||||
call s:hi('Operator', s:palette.gray03, [], 'none')
 | 
					 | 
				
			||||||
call s:hi('Keyword', s:palette.gray10, [], '')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('PreProc', s:palette.gray10, [], 'none')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('Type', s:palette.gray09, [], 'bold')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('Special', s:palette.gray10, [], '')
 | 
					 | 
				
			||||||
call s:hi('SpecialComment', s:palette.gray12, [], 'bold')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('Title', s:palette.gray10, [], 'bold')
 | 
					 | 
				
			||||||
call s:hi('Todo', s:palette.purple, s:palette.white, '')
 | 
					 | 
				
			||||||
if has("nvim") || has("gui_running")
 | 
					 | 
				
			||||||
    call s:hi('Comment', s:palette.gray12, [], 'italic')
 | 
					 | 
				
			||||||
else
 | 
					 | 
				
			||||||
    call s:hi('Comment', s:palette.gray12, [], '')
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('LineNr', s:palette.gray13, s:palette.gray15, 'none')
 | 
					 | 
				
			||||||
call s:hi('FoldColumn', s:palette.gray08, s:palette.gray15, 'none')
 | 
					 | 
				
			||||||
call s:hi('CursorLine', [], s:palette.gray15, 'none')
 | 
					 | 
				
			||||||
call s:hi('CursorLineNr', s:palette.gray06, s:palette.gray15, 'none')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('Visual', s:palette.white, s:palette.gray06, '')
 | 
					 | 
				
			||||||
call s:hi('Search', s:palette.gray15, s:palette.gray03, 'none')
 | 
					 | 
				
			||||||
call s:hi('IncSearch', s:palette.white, s:palette.gray11, 'bold')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('SpellBad', s:palette.red, s:palette.white, 'undercurl')
 | 
					 | 
				
			||||||
call s:hi('SpellCap', s:palette.red, s:palette.white, 'undercurl')
 | 
					 | 
				
			||||||
call s:hi('SpellLocal', s:palette.red, s:palette.white, 'undercurl')
 | 
					 | 
				
			||||||
call s:hi('SpellRare', s:palette.brown, s:palette.white, 'undercurl')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('Error', s:palette.red, s:palette.white, 'bold')
 | 
					 | 
				
			||||||
call s:hi('ErrorMsg', s:palette.red, s:palette.white, '')
 | 
					 | 
				
			||||||
call s:hi('WarningMsg', s:palette.brown, s:palette.white, '')
 | 
					 | 
				
			||||||
call s:hi('ModeMsg', s:palette.gray10, [], '')
 | 
					 | 
				
			||||||
call s:hi('MoreMsg', s:palette.gray10, [], '')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('MatchParen', s:palette.orange, s:palette.white, '')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('Cursor', [], s:palette.gray12, '')
 | 
					 | 
				
			||||||
call s:hi('Underlined', s:palette.gray08, [], 'underline')
 | 
					 | 
				
			||||||
call s:hi('SpecialKey', s:palette.gray13, [], '')
 | 
					 | 
				
			||||||
call s:hi('NonText', s:palette.gray13, [], '')
 | 
					 | 
				
			||||||
call s:hi('Directory', s:palette.gray08, [], '')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('Pmenu', s:palette.gray05, s:palette.gray14, 'none')
 | 
					 | 
				
			||||||
call s:hi('PmenuSbar', s:palette.white, s:palette.gray01, 'none')
 | 
					 | 
				
			||||||
call s:hi('PmenuSel', s:palette.gray14, s:palette.gray05, '')
 | 
					 | 
				
			||||||
call s:hi('PmenuThumb', s:palette.gray14, s:palette.gray03, 'none')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('StatusLine', s:palette.gray03, s:palette.gray13, 'none')
 | 
					 | 
				
			||||||
call s:hi('StatusLineNC', s:palette.gray13, s:palette.gray15, 'none')
 | 
					 | 
				
			||||||
call s:hi('WildMenu', s:palette.gray08, [], '')
 | 
					 | 
				
			||||||
call s:hi('VertSplit', s:palette.gray13, s:palette.white, 'none')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('DiffAdd', s:palette.white, s:palette.green, '')
 | 
					 | 
				
			||||||
call s:hi('DiffChange', s:palette.white, s:palette.blue, '')
 | 
					 | 
				
			||||||
call s:hi('DiffDelete', s:palette.white, s:palette.red, '')
 | 
					 | 
				
			||||||
call s:hi('DiffText', s:palette.white, s:palette.darkblue, '')
 | 
					 | 
				
			||||||
call s:hi('DiffAdded', s:palette.green, s:palette.white, '')
 | 
					 | 
				
			||||||
call s:hi('DiffChanged', s:palette.blue, s:palette.white, '')
 | 
					 | 
				
			||||||
call s:hi('DiffRemoved', s:palette.red, s:palette.white, '')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
highlight! link Character Constant
 | 
					 | 
				
			||||||
highlight! link Float Number
 | 
					 | 
				
			||||||
highlight! link Boolean Number
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
highlight! link SignColumn FoldColumn
 | 
					 | 
				
			||||||
highlight! link ColorColumn FoldColumn
 | 
					 | 
				
			||||||
highlight! link CursorColumn CursorLine
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
highlight! link Folded LineNr
 | 
					 | 
				
			||||||
highlight! link Conceal Normal
 | 
					 | 
				
			||||||
highlight! link ErrorMsg Error
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
highlight! link Conditional Statement
 | 
					 | 
				
			||||||
highlight! link Repeat Statement
 | 
					 | 
				
			||||||
highlight! link Label Statement
 | 
					 | 
				
			||||||
highlight! link Exception Statement
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
highlight! link Include PreProc
 | 
					 | 
				
			||||||
highlight! link Define PreProc
 | 
					 | 
				
			||||||
highlight! link Macro PreProc
 | 
					 | 
				
			||||||
highlight! link PreCondit PreProc
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
highlight! link StorageClass Type
 | 
					 | 
				
			||||||
highlight! link Structure Type
 | 
					 | 
				
			||||||
highlight! link Typedef Type
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
highlight! link SpecialChar Special
 | 
					 | 
				
			||||||
highlight! link Tag Special
 | 
					 | 
				
			||||||
highlight! link Delimiter Special
 | 
					 | 
				
			||||||
highlight! link Debug Special
 | 
					 | 
				
			||||||
highlight! link Question Special
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
highlight! link VisualNOS Visual
 | 
					 | 
				
			||||||
highlight! link TabLine StatusLineNC
 | 
					 | 
				
			||||||
highlight! link TabLineFill StatusLineNC
 | 
					 | 
				
			||||||
highlight! link TabLineSel StatusLine
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,212 +0,0 @@
 | 
				
			||||||
" YinYang - black/white color scheme
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if (&background ==# "light" && get(g:, "colors_name", "") ==# "yin")
 | 
					 | 
				
			||||||
    runtime! colors/yang.vim
 | 
					 | 
				
			||||||
    finish
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
highlight clear
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if exists("syntax_on")
 | 
					 | 
				
			||||||
    syntax reset
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
let g:colors_name = "yin"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
let s:palette = {}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
let s:palette.blackest = [0, '#0c0c0c']
 | 
					 | 
				
			||||||
let s:palette.black = [233, '#111111']
 | 
					 | 
				
			||||||
let s:palette.gray01 = [235, '#1e1e1e']
 | 
					 | 
				
			||||||
let s:palette.gray02 = [238, '#444444']
 | 
					 | 
				
			||||||
let s:palette.gray03 = [239, '#4e4e4e']
 | 
					 | 
				
			||||||
let s:palette.gray04 = [240, '#585858']
 | 
					 | 
				
			||||||
let s:palette.gray05 = [242, '#666666']
 | 
					 | 
				
			||||||
let s:palette.gray06 = [243, '#767676']
 | 
					 | 
				
			||||||
let s:palette.gray07 = [244, '#808080']
 | 
					 | 
				
			||||||
let s:palette.gray08 = [245, '#8a8a8a']
 | 
					 | 
				
			||||||
let s:palette.gray09 = [246, '#949494']
 | 
					 | 
				
			||||||
let s:palette.gray10 = [247, '#9e9e9e']
 | 
					 | 
				
			||||||
let s:palette.gray11 = [248, '#a8a8a8']
 | 
					 | 
				
			||||||
let s:palette.gray12 = [249, '#b2b2b2']
 | 
					 | 
				
			||||||
let s:palette.gray13 = [250, '#bcbcbc']
 | 
					 | 
				
			||||||
let s:palette.gray14 = [251, '#c6c6c6']
 | 
					 | 
				
			||||||
let s:palette.gray15 = [254, '#e4e4e4']
 | 
					 | 
				
			||||||
let s:palette.white = [255, '#eeeeee']
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
let s:palette.comments = copy(s:palette.gray03)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
let s:palette.purple = [62, '#5f5fd7']
 | 
					 | 
				
			||||||
let s:palette.brown = [94, '#875f00']
 | 
					 | 
				
			||||||
let s:palette.blue = [24, '#005f87']
 | 
					 | 
				
			||||||
let s:palette.lightblue = [31, '#00afff']
 | 
					 | 
				
			||||||
let s:palette.green = [29, '#00875f']
 | 
					 | 
				
			||||||
let s:palette.red = [88, '#870000']
 | 
					 | 
				
			||||||
let s:palette.orange = [166, '#5f5fd7']
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if has("nvim")
 | 
					 | 
				
			||||||
    let g:terminal_color_0 = s:palette.gray01[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_1 = s:palette.gray06[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_2 = s:palette.gray03[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_3 = s:palette.gray11[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_4 = s:palette.gray02[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_5 = s:palette.gray08[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_6 = s:palette.gray09[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_7 = s:palette.gray13[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_8 = s:palette.gray03[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_9 = s:palette.gray10[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_10 = s:palette.gray07[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_11 = s:palette.gray15[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_12 = s:palette.gray05[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_13 = s:palette.gray12[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_14 = s:palette.gray14[1]
 | 
					 | 
				
			||||||
    let g:terminal_color_15 = s:palette.white[1]
 | 
					 | 
				
			||||||
elseif has("terminal")
 | 
					 | 
				
			||||||
    let g:terminal_ansi_colors = [
 | 
					 | 
				
			||||||
                \ s:palette.gray01[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray06[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray03[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray11[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray02[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray08[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray09[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray13[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray03[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray10[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray07[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray15[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray05[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray12[1],
 | 
					 | 
				
			||||||
                \ s:palette.gray14[1],
 | 
					 | 
				
			||||||
                \ s:palette.white[1]
 | 
					 | 
				
			||||||
                \ ]
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function! s:hi(group, fg_color, bg_color, style)
 | 
					 | 
				
			||||||
    let highlight_command = ['hi', a:group]
 | 
					 | 
				
			||||||
    if !empty(a:fg_color)
 | 
					 | 
				
			||||||
        let [ctermfg, guifg] = a:fg_color
 | 
					 | 
				
			||||||
        call add(highlight_command, printf('ctermfg=%d guifg=%s', ctermfg, guifg))
 | 
					 | 
				
			||||||
    endif
 | 
					 | 
				
			||||||
    if !empty(a:bg_color)
 | 
					 | 
				
			||||||
        let [ctermbg, guibg] = a:bg_color
 | 
					 | 
				
			||||||
        call add(highlight_command, printf('ctermbg=%d guibg=%s', ctermbg, guibg))
 | 
					 | 
				
			||||||
    endif
 | 
					 | 
				
			||||||
    if !empty(a:style)
 | 
					 | 
				
			||||||
        call add(highlight_command, printf('cterm=%s gui=%s', a:style, a:style))
 | 
					 | 
				
			||||||
    endif
 | 
					 | 
				
			||||||
    execute join(highlight_command, ' ')
 | 
					 | 
				
			||||||
endfunction
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('Normal', s:palette.gray11, s:palette.black, '')
 | 
					 | 
				
			||||||
set background=dark
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('Constant', s:palette.gray05, [], 'bold')
 | 
					 | 
				
			||||||
call s:hi('String', s:palette.gray10, [], '')
 | 
					 | 
				
			||||||
call s:hi('Number', s:palette.gray06, [], '')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('Identifier', s:palette.gray08, [], 'none')
 | 
					 | 
				
			||||||
call s:hi('Function', s:palette.gray08, [], '')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('Statement', s:palette.gray05, [], 'bold')
 | 
					 | 
				
			||||||
call s:hi('Operator', s:palette.gray05, [], 'none')
 | 
					 | 
				
			||||||
call s:hi('Keyword', s:palette.gray05, [], '')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('PreProc', s:palette.gray07, [], 'none')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('Type', s:palette.gray05, [], 'bold')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('Special', s:palette.gray05, [], '')
 | 
					 | 
				
			||||||
call s:hi('SpecialComment', s:palette.comments, [], 'bold')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('Title', s:palette.gray07, [], 'bold')
 | 
					 | 
				
			||||||
call s:hi('Todo', s:palette.purple, s:palette.black, '')
 | 
					 | 
				
			||||||
if has("nvim") || has("gui_running")
 | 
					 | 
				
			||||||
    call s:hi('Comment', s:palette.comments, [], 'italic')
 | 
					 | 
				
			||||||
else
 | 
					 | 
				
			||||||
    call s:hi('Comment', s:palette.comments, [], '')
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('LineNr', s:palette.gray02, s:palette.black, 'none')
 | 
					 | 
				
			||||||
call s:hi('FoldColumn', s:palette.gray07, s:palette.gray01, 'none')
 | 
					 | 
				
			||||||
call s:hi('CursorLine', [], s:palette.gray01, 'none')
 | 
					 | 
				
			||||||
call s:hi('CursorLineNr', s:palette.gray14, s:palette.gray01, 'none')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('Visual', s:palette.black, s:palette.gray06, '')
 | 
					 | 
				
			||||||
call s:hi('Search', s:palette.gray01, s:palette.gray11, 'none')
 | 
					 | 
				
			||||||
call s:hi('IncSearch', s:palette.black, s:palette.gray07, 'bold')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('SpellBad', s:palette.red, s:palette.black, 'undercurl')
 | 
					 | 
				
			||||||
call s:hi('SpellCap', s:palette.red, s:palette.black, 'undercurl')
 | 
					 | 
				
			||||||
call s:hi('SpellLocal', s:palette.red, s:palette.black, 'undercurl')
 | 
					 | 
				
			||||||
call s:hi('SpellRare', s:palette.brown, s:palette.black, 'undercurl')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('Error', s:palette.red, s:palette.black, 'bold')
 | 
					 | 
				
			||||||
call s:hi('ErrorMsg', s:palette.red, s:palette.black, '')
 | 
					 | 
				
			||||||
call s:hi('WarningMsg', s:palette.brown, s:palette.black, '')
 | 
					 | 
				
			||||||
call s:hi('ModeMsg', s:palette.gray10, [], '')
 | 
					 | 
				
			||||||
call s:hi('MoreMsg', s:palette.gray10, [], '')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('MatchParen', s:palette.orange, s:palette.black, '')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('Cursor', [], s:palette.gray12, '')
 | 
					 | 
				
			||||||
call s:hi('Underlined', s:palette.gray08, [], 'underline')
 | 
					 | 
				
			||||||
call s:hi('SpecialKey', s:palette.gray04, [], '')
 | 
					 | 
				
			||||||
call s:hi('NonText', s:palette.gray04, [], '')
 | 
					 | 
				
			||||||
call s:hi('Directory', s:palette.gray08, [], '')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('Pmenu', s:palette.gray10, s:palette.gray03, 'none')
 | 
					 | 
				
			||||||
call s:hi('PmenuSbar', s:palette.black, s:palette.gray15, 'none')
 | 
					 | 
				
			||||||
call s:hi('PmenuSel', s:palette.gray03, s:palette.gray10, '')
 | 
					 | 
				
			||||||
call s:hi('PmenuThumb', s:palette.gray03, s:palette.gray09, 'none')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('StatusLine', s:palette.gray12, s:palette.gray01, 'none')
 | 
					 | 
				
			||||||
call s:hi('StatusLineNC', s:palette.black, s:palette.black, 'none')
 | 
					 | 
				
			||||||
call s:hi('WildMenu', s:palette.gray08, [], '')
 | 
					 | 
				
			||||||
call s:hi('VertSplit', s:palette.gray03, s:palette.black, 'none')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
call s:hi('DiffAdd', s:palette.blackest, s:palette.green, '')
 | 
					 | 
				
			||||||
call s:hi('DiffChange', s:palette.blackest, s:palette.blue, '')
 | 
					 | 
				
			||||||
call s:hi('DiffDelete', s:palette.blackest, s:palette.red, '')
 | 
					 | 
				
			||||||
call s:hi('DiffText', s:palette.black, s:palette.lightblue, '')
 | 
					 | 
				
			||||||
call s:hi('DiffAdded', s:palette.green, s:palette.black, '')
 | 
					 | 
				
			||||||
call s:hi('DiffChanged', s:palette.blue, s:palette.black, '')
 | 
					 | 
				
			||||||
call s:hi('DiffRemoved', s:palette.red, s:palette.black, '')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
highlight! link Character Constant
 | 
					 | 
				
			||||||
highlight! link Float Number
 | 
					 | 
				
			||||||
highlight! link Boolean Number
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
highlight! link SignColumn FoldColumn
 | 
					 | 
				
			||||||
highlight! link ColorColumn FoldColumn
 | 
					 | 
				
			||||||
highlight! link CursorColumn CursorLine
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
highlight! link Folded LineNr
 | 
					 | 
				
			||||||
highlight! link Conceal Normal
 | 
					 | 
				
			||||||
highlight! link ErrorMsg Error
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
highlight! link Conditional Statement
 | 
					 | 
				
			||||||
highlight! link Repeat Statement
 | 
					 | 
				
			||||||
highlight! link Label Statement
 | 
					 | 
				
			||||||
highlight! link Exception Statement
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
highlight! link Include PreProc
 | 
					 | 
				
			||||||
highlight! link Define PreProc
 | 
					 | 
				
			||||||
highlight! link Macro PreProc
 | 
					 | 
				
			||||||
highlight! link PreCondit PreProc
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
highlight! link StorageClass Type
 | 
					 | 
				
			||||||
highlight! link Structure Type
 | 
					 | 
				
			||||||
highlight! link Typedef Type
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
highlight! link SpecialChar Special
 | 
					 | 
				
			||||||
highlight! link Tag Special
 | 
					 | 
				
			||||||
highlight! link Delimiter Special
 | 
					 | 
				
			||||||
highlight! link Debug Special
 | 
					 | 
				
			||||||
highlight! link Question Special
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
highlight! link VisualNOS Visual
 | 
					 | 
				
			||||||
highlight! link TabLine StatusLineNC
 | 
					 | 
				
			||||||
highlight! link TabLineFill StatusLineNC
 | 
					 | 
				
			||||||
highlight! link TabLineSel StatusLine
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
autocmd BufNewFile,BufReadPost *.pl set filetype=prolog
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
set mps+==:;
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,3 +0,0 @@
 | 
				
			||||||
set termguicolors
 | 
					 | 
				
			||||||
set bg=light
 | 
					 | 
				
			||||||
hi Normal ctermbg=none guibg=NONE
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,44 +0,0 @@
 | 
				
			||||||
" Leader keys
 | 
					 | 
				
			||||||
let mapleader = " "
 | 
					 | 
				
			||||||
let maplocalleader = ";"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
" Splits & navigation
 | 
					 | 
				
			||||||
nm s <c-w>           " Split horizontal
 | 
					 | 
				
			||||||
nm ss :sp<CR><c-w>w| " Split horizontal
 | 
					 | 
				
			||||||
nm sv :vs<CR><c-w>w| " Split vertical
 | 
					 | 
				
			||||||
nm sw <c-w>w|        " Navigate splits
 | 
					 | 
				
			||||||
nm sh <c-w>h|        "
 | 
					 | 
				
			||||||
nm sj <c-w>j|        "
 | 
					 | 
				
			||||||
nm sk <c-w>k|        "
 | 
					 | 
				
			||||||
nm sl <c-w>l|        "
 | 
					 | 
				
			||||||
nn sH <c-w>8<|       " Resize splits
 | 
					 | 
				
			||||||
nn sJ <c-w>8-|       "
 | 
					 | 
				
			||||||
nn sK <c-w>8+|       "
 | 
					 | 
				
			||||||
nn sL <c-w>8>|       "
 | 
					 | 
				
			||||||
nn s= <c-w>=|        " Equalize splits
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
" Open
 | 
					 | 
				
			||||||
nn sb :Lex<cr>|          " File tree
 | 
					 | 
				
			||||||
nn <leader><leader> :noh<cr> |"
 | 
					 | 
				
			||||||
nn <leader>t :term<cr>| " Open terminal
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
" Remaps
 | 
					 | 
				
			||||||
ino <nowait> jj <esc>|   " Normal now
 | 
					 | 
				
			||||||
nn  <left>  <nop>|       " Hard mode
 | 
					 | 
				
			||||||
nn  <down>  <nop>|       " "
 | 
					 | 
				
			||||||
nn  <up>    <nop>|       " "
 | 
					 | 
				
			||||||
nn  <right> <nop>|       " "
 | 
					 | 
				
			||||||
ino <left>  <nop>|       " "
 | 
					 | 
				
			||||||
ino <down>  <nop>|       " "
 | 
					 | 
				
			||||||
ino <up>    <nop>|       " "
 | 
					 | 
				
			||||||
ino <right> <nop>|       " "
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
" Search
 | 
					 | 
				
			||||||
nn <c-_> :noh<cr>| " map 'ctrl + /'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
" Line numbers
 | 
					 | 
				
			||||||
nn <leader>n :set nu! rnu!<cr>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
" Vim configuration
 | 
					 | 
				
			||||||
nn <leader>ec :vs $MYVIMRC<cr>
 | 
					 | 
				
			||||||
nn <leader>so :so %<cr>
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,7 +0,0 @@
 | 
				
			||||||
snippet fne "Filename (+extension)" i
 | 
					 | 
				
			||||||
`!p snip.rv = snip.fn`
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# snippet ^fn "Filename basename" ir
 | 
					 | 
				
			||||||
# `!p snip.rv = snip.basename`
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,72 +0,0 @@
 | 
				
			||||||
snippet b1(\w+) "Border (1px)" r
 | 
					 | 
				
			||||||
`!p
 | 
					 | 
				
			||||||
import re
 | 
					 | 
				
			||||||
colors = {
 | 
					 | 
				
			||||||
		'r': 'red',
 | 
					 | 
				
			||||||
		'g': 'green',
 | 
					 | 
				
			||||||
		'b': 'blue',
 | 
					 | 
				
			||||||
		'y': 'yellow',
 | 
					 | 
				
			||||||
		'o': 'orange',
 | 
					 | 
				
			||||||
		'p': 'purple',
 | 
					 | 
				
			||||||
		'c': 'cyan',
 | 
					 | 
				
			||||||
		'm': 'magenta',
 | 
					 | 
				
			||||||
		'w': 'white',
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
color = colors.get(match.group(1), 'black')
 | 
					 | 
				
			||||||
snip.rv = f"border: 1px solid {color};"
 | 
					 | 
				
			||||||
`$0
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet df "Use flexbox layout"
 | 
					 | 
				
			||||||
display: flex;
 | 
					 | 
				
			||||||
$0
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet fr "Use row direction (flex)"
 | 
					 | 
				
			||||||
flex-direction: row;
 | 
					 | 
				
			||||||
$0
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet fc "Use column direction (flex)"
 | 
					 | 
				
			||||||
flex-direction: column;
 | 
					 | 
				
			||||||
$0
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet dfr "Use flexbox layout in row direction"
 | 
					 | 
				
			||||||
display: flex;
 | 
					 | 
				
			||||||
flex-direction: row;
 | 
					 | 
				
			||||||
$0
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet dfr "Use flexbox layout in column direction"
 | 
					 | 
				
			||||||
display: flex;
 | 
					 | 
				
			||||||
flex-direction: column;
 | 
					 | 
				
			||||||
$0
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet dg "Use CSS grid layout"
 | 
					 | 
				
			||||||
display: grid;
 | 
					 | 
				
			||||||
$0
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet db "Use block layout"
 | 
					 | 
				
			||||||
display: block;
 | 
					 | 
				
			||||||
$0
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet dn "Set display to 'none'"
 | 
					 | 
				
			||||||
display: none;
 | 
					 | 
				
			||||||
$0
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet var "Use CSS variable"
 | 
					 | 
				
			||||||
var(--$1)$0
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet m
 | 
					 | 
				
			||||||
margin: $0;
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet p
 | 
					 | 
				
			||||||
padding: $0;
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,51 +0,0 @@
 | 
				
			||||||
snippet ifdef
 | 
					 | 
				
			||||||
#ifdef GL_ES
 | 
					 | 
				
			||||||
precision mediump float;
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet defpi
 | 
					 | 
				
			||||||
#define PI 3.14159265359
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet main
 | 
					 | 
				
			||||||
void main() {
 | 
					 | 
				
			||||||
  $1
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet uni
 | 
					 | 
				
			||||||
uniform $1;
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet unif
 | 
					 | 
				
			||||||
uniform float $1;
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet univ
 | 
					 | 
				
			||||||
uniform vec$1 float $2;
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet univ2
 | 
					 | 
				
			||||||
uniform vec2 float $1;
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet univ3
 | 
					 | 
				
			||||||
uniform vec3 float $1;
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet univ4
 | 
					 | 
				
			||||||
uniform vec4 float $1;
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet f
 | 
					 | 
				
			||||||
float
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet v
 | 
					 | 
				
			||||||
vec
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet ss
 | 
					 | 
				
			||||||
smoothstep($1)$2
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,11 +0,0 @@
 | 
				
			||||||
snippet clg "console.log"
 | 
					 | 
				
			||||||
console.log($0)
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet Js "JSON.stringify"
 | 
					 | 
				
			||||||
JSON.stringify($0)
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet Jsf "JSON.stringify (formatted)"
 | 
					 | 
				
			||||||
JSON.stringify($0, 0, 2)
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,900 +0,0 @@
 | 
				
			||||||
 | 
					 | 
				
			||||||
global !p
 | 
					 | 
				
			||||||
from datetime import datetime
 | 
					 | 
				
			||||||
from math import factorial
 | 
					 | 
				
			||||||
import subprocess
 | 
					 | 
				
			||||||
import re
 | 
					 | 
				
			||||||
import sys
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ZOTERO_BASE = "http://127.0.0.1:23119/better-bibtex/cayw"
 | 
					 | 
				
			||||||
FENCES = {
 | 
					 | 
				
			||||||
	"i": "idea",
 | 
					 | 
				
			||||||
	"q": "question",
 | 
					 | 
				
			||||||
	"n": "note",
 | 
					 | 
				
			||||||
	"t": "thought",
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def math_inline():
 | 
					 | 
				
			||||||
	return vim.command_output('GetContext') == 'math_inline'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def math_block():
 | 
					 | 
				
			||||||
	return vim.command_output('GetContext') == 'math_block'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def math():
 | 
					 | 
				
			||||||
	return math_inline() or math_block()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def code_block():
 | 
					 | 
				
			||||||
	return vim.command_output('GetContext') == 'pandocDelimitedCodeBlock'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def code_inline():
 | 
					 | 
				
			||||||
	return vim.command_output('GetContext') == 'pandocNoFormatted'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def code():
 | 
					 | 
				
			||||||
	return code_inline() or code_block()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def slugify(text):
 | 
					 | 
				
			||||||
	return re.sub('\s+', '-', text.lower())
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def linkify(text, link):
 | 
					 | 
				
			||||||
	return f"[{text}]({link})"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
def zot(action):
 | 
					 | 
				
			||||||
		if action == "get_title":
 | 
					 | 
				
			||||||
			cmd = f"curl -s '{ZOTERO_BASE}?format=json&selected=1' | jq '.[].title' -r"
 | 
					 | 
				
			||||||
		elif action == "get_citekey":
 | 
					 | 
				
			||||||
			cmd = f"curl -s '{ZOTERO_BASE}?format=pandoc&selected=1'"
 | 
					 | 
				
			||||||
		elif action == "get_citekey_brackets":
 | 
					 | 
				
			||||||
			cmd = f"curl -s '{ZOTERO_BASE}?format=pandoc&selected=1&brackets=1'"
 | 
					 | 
				
			||||||
		elif action == "get_link":
 | 
					 | 
				
			||||||
			link_path = re.sub("^@", "", zot("get_citekey"))
 | 
					 | 
				
			||||||
			link_title = zot("get_title")
 | 
					 | 
				
			||||||
			link = linkify(link_title, link_path)
 | 
					 | 
				
			||||||
			return link
 | 
					 | 
				
			||||||
		elif action == "get_file":
 | 
					 | 
				
			||||||
			link_path = re.sub("^@", "", zot("get_citekey"))
 | 
					 | 
				
			||||||
			link_title = zot("get_title")
 | 
					 | 
				
			||||||
			link = linkify(link_title, f"file://{link_path}.pdf")
 | 
					 | 
				
			||||||
			return link
 | 
					 | 
				
			||||||
		else:
 | 
					 | 
				
			||||||
			return "Zotero action not found"
 | 
					 | 
				
			||||||
		return subprocess.check_output(cmd, shell=True).decode("utf-8").strip()
 | 
					 | 
				
			||||||
endglobal
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet ctx "Context" i
 | 
					 | 
				
			||||||
`!p snip.rv = vim.command_output('GetContext')`
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# General markdown
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet ^h "Markdown header" r
 | 
					 | 
				
			||||||
# $1
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet ^sec "Markdown section" r
 | 
					 | 
				
			||||||
## $1
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet ^ssec "Markdown subsection" r
 | 
					 | 
				
			||||||
### $1
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet ^sex "Markdown example section" r
 | 
					 | 
				
			||||||
## Example: $1
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet ^ssex "Markdown example subsection" r
 | 
					 | 
				
			||||||
### Example: $1
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Zettelkasten templating
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet nl
 | 
					 | 
				
			||||||
*nld*: $1
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet eng
 | 
					 | 
				
			||||||
*eng*: $1
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet fr
 | 
					 | 
				
			||||||
*fra*: $1
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet (de
 | 
					 | 
				
			||||||
*deu*: $1
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet (nl
 | 
					 | 
				
			||||||
(*nld*: $1)
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet (eng
 | 
					 | 
				
			||||||
(*eng*: $1)
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet (fr
 | 
					 | 
				
			||||||
(*fra*: $1)
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet (de
 | 
					 | 
				
			||||||
(*deu*: $1)
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet in
 | 
					 | 
				
			||||||
(In [$1]($2))$3
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet liwhat "What?" A
 | 
					 | 
				
			||||||
`!p snip.rv = "* [What?](" + snip.basename + "_what)"`$1
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet liwhy "Why?" A
 | 
					 | 
				
			||||||
`!p snip.rv = "* [Why?](" + snip.basename + "_why)"`$1
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet < "Comment (html)"
 | 
					 | 
				
			||||||
<!-- $1 -->$2
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet <. "Comment (html) ..." i
 | 
					 | 
				
			||||||
<!-- ... -->$1
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet <t "Thought (html)" i
 | 
					 | 
				
			||||||
<!--:::thought
 | 
					 | 
				
			||||||
$1
 | 
					 | 
				
			||||||
:::-->
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet <q "Question (html)" i
 | 
					 | 
				
			||||||
<!--:::question
 | 
					 | 
				
			||||||
$1
 | 
					 | 
				
			||||||
:::-->
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet <i "Idea (html)" i
 | 
					 | 
				
			||||||
<!--:::idea
 | 
					 | 
				
			||||||
$1
 | 
					 | 
				
			||||||
:::-->
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet <n "Note (html)" i
 | 
					 | 
				
			||||||
<!--:::note
 | 
					 | 
				
			||||||
$1
 | 
					 | 
				
			||||||
:::-->
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet td "Todo"
 | 
					 | 
				
			||||||
TODO${1:: $2}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet ref "References"
 | 
					 | 
				
			||||||
<!--references-->
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet sort "Sort"
 | 
					 | 
				
			||||||
<!--sort-->
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet foot "Footnotes"
 | 
					 | 
				
			||||||
<!--footnotes-->
 | 
					 | 
				
			||||||
[^0]:
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet def "Definition"
 | 
					 | 
				
			||||||
**Definition${1:: $2}**${3: [${4:citation}${5:, ${6:pointer}}]}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
$7
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
___
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet theo "Theorem"
 | 
					 | 
				
			||||||
**Theorem${1:: $2}**${3: [${4:citation}${5:, ${6:pointer}}]}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
$7
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
${8/(\w+).*/**Theorem** \n\n.../}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
___
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet prop "Property"
 | 
					 | 
				
			||||||
**Property $1** [@]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
$2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
___
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet lemm "Lemma"
 | 
					 | 
				
			||||||
**Lemma $1** [@]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
$2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
___
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet coro "Corollary"
 | 
					 | 
				
			||||||
**Corollary $1** [@]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
$2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
___
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Greek symbols
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet alpha "Alpha"
 | 
					 | 
				
			||||||
\\alpha
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet beta "Beta"
 | 
					 | 
				
			||||||
\\beta
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet gamma "Gamma"
 | 
					 | 
				
			||||||
\\gamma
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet delta "Delta"
 | 
					 | 
				
			||||||
\\delta
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet epsilon "Epsilon"
 | 
					 | 
				
			||||||
\\epsilonilon
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet zeta "Zeta"
 | 
					 | 
				
			||||||
\\zeta
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet eta "Eta"
 | 
					 | 
				
			||||||
\\eta
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet theta "Theta"
 | 
					 | 
				
			||||||
\\theta
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet iota "Iota"
 | 
					 | 
				
			||||||
\\iota
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet kappa "Kappa"
 | 
					 | 
				
			||||||
\\kappa
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet lambda "Lambda" i
 | 
					 | 
				
			||||||
\\lambda
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet mu "Mu"
 | 
					 | 
				
			||||||
\\mu
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet nu "Nu"
 | 
					 | 
				
			||||||
\\nu
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet xi "Xi"
 | 
					 | 
				
			||||||
\\xi
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet omicron "Omicron"
 | 
					 | 
				
			||||||
\\omicron
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet pi "Pi"
 | 
					 | 
				
			||||||
\\pi
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet rho "Rho"
 | 
					 | 
				
			||||||
\\rho
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet sigma "Sigma"
 | 
					 | 
				
			||||||
\\sigma
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet tau "Tau"
 | 
					 | 
				
			||||||
\\tau
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet upsilon "Upsilon"
 | 
					 | 
				
			||||||
\\upsilon
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet phi "Phi"
 | 
					 | 
				
			||||||
\\phi
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet chi "Chi"
 | 
					 | 
				
			||||||
\\chi
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet psi "Psi"
 | 
					 | 
				
			||||||
\\psi
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet omega "Omega"
 | 
					 | 
				
			||||||
\\omega
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet Gamma "Gamma"
 | 
					 | 
				
			||||||
\\Gamma
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet Delta "Delta"
 | 
					 | 
				
			||||||
\\Delta
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet Theta "Theta"
 | 
					 | 
				
			||||||
\\Theta
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet Lambda "Lambda"
 | 
					 | 
				
			||||||
\\Lambda
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet Xi "Xi"
 | 
					 | 
				
			||||||
\\Xi
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet Pi "Pi"
 | 
					 | 
				
			||||||
\\Pi
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet Sigma "Sigma"
 | 
					 | 
				
			||||||
\\Sigma
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet Upsilon "Upsilon"
 | 
					 | 
				
			||||||
\\Upsilon
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet Phi "Phi"
 | 
					 | 
				
			||||||
\\Phi
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet Psi "Psi"
 | 
					 | 
				
			||||||
\\Psi
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet Omega "Omega"
 | 
					 | 
				
			||||||
\\Omega
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet asaw "Als en slechts als (woorden)" i
 | 
					 | 
				
			||||||
als en slechts als 
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet iffw "If and only if (words)" i
 | 
					 | 
				
			||||||
if and only if
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet asas "Als en slechts als (shorthand)" i
 | 
					 | 
				
			||||||
**asa**
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet iffs "If and only if (shorthand)" i
 | 
					 | 
				
			||||||
**iff**
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet beg "Begin"
 | 
					 | 
				
			||||||
\begin{$1}
 | 
					 | 
				
			||||||
$2
 | 
					 | 
				
			||||||
\end{$1}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet align "" i
 | 
					 | 
				
			||||||
\begin{align}
 | 
					 | 
				
			||||||
$1
 | 
					 | 
				
			||||||
\end{align}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet cases "" i
 | 
					 | 
				
			||||||
\begin{cases}
 | 
					 | 
				
			||||||
$1 \\\\
 | 
					 | 
				
			||||||
$2
 | 
					 | 
				
			||||||
\end{cases}
 | 
					 | 
				
			||||||
$3
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet tik "Tikzpicture" i
 | 
					 | 
				
			||||||
\begin{tikzpicture}
 | 
					 | 
				
			||||||
$1
 | 
					 | 
				
			||||||
\end{tikzpicture}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet matrix "Matrix" i
 | 
					 | 
				
			||||||
\begin{bmatrix}
 | 
					 | 
				
			||||||
$1
 | 
					 | 
				
			||||||
\end{bmatrix}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Insert anything after m/M in math mode
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet "(\b)m(.*)" "MathJax" r
 | 
					 | 
				
			||||||
`!p snip.rv = match.group(1) + "$" + match.group(2) + "$"`
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet (\b)M(.*) "MathJax block" irw
 | 
					 | 
				
			||||||
$$
 | 
					 | 
				
			||||||
`!p snip.rv = match.group(2)`
 | 
					 | 
				
			||||||
$$
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Calligraphic letters
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet c([A-z]) "Calligraphic A" r
 | 
					 | 
				
			||||||
`!p snip.rv = "\\mathcal{" + match.group(1) + "}"`$1
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Subscripts
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet '([A-z])(\w+)' "Subscripts" irw
 | 
					 | 
				
			||||||
`!p snip.rv = match.group(1) + '_' + match.group(2) if len(match.group(2)) == 1 else match.group(1) + '_{' + match.group(2) + '}'`$1
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# MathJax
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet fa "For all" i
 | 
					 | 
				
			||||||
\forall
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet frac "" i
 | 
					 | 
				
			||||||
\frac{$1}{$2}$3
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet set "" i
 | 
					 | 
				
			||||||
\\{$1\\}$2
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet N "" i
 | 
					 | 
				
			||||||
\mathbb{N}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet N0 "" i
 | 
					 | 
				
			||||||
\mathbb{N}_0
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet N+ "" i
 | 
					 | 
				
			||||||
\mathbb{N}^+
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet Z "" i
 | 
					 | 
				
			||||||
\mathbb{Z}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet Z0 "" i
 | 
					 | 
				
			||||||
\mathbb{Z}_0
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet Z+ "" i
 | 
					 | 
				
			||||||
\mathbb{Z}^+
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet R "" i
 | 
					 | 
				
			||||||
\mathbb{R}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet R0 "" i
 | 
					 | 
				
			||||||
\mathbb{R}_0
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet R+ "" i
 | 
					 | 
				
			||||||
\mathbb{R}^+
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet C "" i
 | 
					 | 
				
			||||||
\mathbb{C}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet lim "" i
 | 
					 | 
				
			||||||
\lim_{$1}$2
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet limn "" i
 | 
					 | 
				
			||||||
\lim_{n \to \infty}$2
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet binom "" i
 | 
					 | 
				
			||||||
\binom{$1}{$2}$3
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet andmath "description" i
 | 
					 | 
				
			||||||
\text{ and }
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet enmath "description" i
 | 
					 | 
				
			||||||
\text{ en }
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet lra "MathJax: long right arrow" i
 | 
					 | 
				
			||||||
\longrightarrow
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet Ra "MathJax: right arrow" i
 | 
					 | 
				
			||||||
\Rightarrow
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet Im "MathJax: image operator" i
 | 
					 | 
				
			||||||
\operatorname{Im}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet ggd "Grootste gemene deler" i
 | 
					 | 
				
			||||||
\operatorname{ggd}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet fl "Floating point" i
 | 
					 | 
				
			||||||
\operatorname{fl}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet Var "Variance" i
 | 
					 | 
				
			||||||
\operatorname{Var}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet E "Expectation" i
 | 
					 | 
				
			||||||
\operatorname{E}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet Cov "Covariance" i
 | 
					 | 
				
			||||||
\operatorname{Cov}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()" i
 | 
					 | 
				
			||||||
snippet ntup "Alpha"
 | 
					 | 
				
			||||||
(x_1, \ldots, x_n)
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet mxn "Matrix" i
 | 
					 | 
				
			||||||
m \times n
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet mxn- "Matrix" i
 | 
					 | 
				
			||||||
$m \times n$-matrix
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet nxn "Matrix" i
 | 
					 | 
				
			||||||
n \times n
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet det "Determinant" i
 | 
					 | 
				
			||||||
\operatorname{det}(${1:A})$2
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet det| "Determinant alternative notation" i
 | 
					 | 
				
			||||||
|${1:A}|$2
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet Span "Span" i
 | 
					 | 
				
			||||||
\operatorname{Span}\\{$1\\}$2
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet Nul "Null" i
 | 
					 | 
				
			||||||
\operatorname{Nul}($1)$2
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet Col "Column space" i
 | 
					 | 
				
			||||||
\operatorname{Col}($1)$2
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet kern "Kernel" i
 | 
					 | 
				
			||||||
\operatorname{kern}($1)$2
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet vec "Vector" i
 | 
					 | 
				
			||||||
\mathbf{$1}$2
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "math()"
 | 
					 | 
				
			||||||
snippet vec([A-z]) "Vector ..." r
 | 
					 | 
				
			||||||
`!p snip.rv = "\\mathbf{" + match.group(1) + "}"`$1
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet v1tovp "Vectors v indexed from 1 to p"
 | 
					 | 
				
			||||||
\mathbf{v_1},...,\mathbf{v_p}$2
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet a1toan "Vectors a indexed from 1 to n"
 | 
					 | 
				
			||||||
\mathbf{a_1},...,\mathbf{v_n}$2
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet .. "Dot dot dot" i
 | 
					 | 
				
			||||||
\dots $1
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet text "MathJax text" i
 | 
					 | 
				
			||||||
\text{$1}$2
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet leq "Less than or equal to" i
 | 
					 | 
				
			||||||
\leq
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet leq "Greater than or equal to" i
 | 
					 | 
				
			||||||
\geq
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet eat "Evaluated at" i
 | 
					 | 
				
			||||||
{\biggr\rvert}_{$1}$2
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet sketch "Link a sketch" i
 | 
					 | 
				
			||||||
[$1](file:///home/h/sketches/$2)
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet deck "Get anki deck"
 | 
					 | 
				
			||||||
`get-anki-decks`
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# snippet ` "Inline code" i
 | 
					 | 
				
			||||||
# `$1`
 | 
					 | 
				
			||||||
# endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Escape backticks
 | 
					 | 
				
			||||||
snippet `` "Code block" bA
 | 
					 | 
				
			||||||
\`\`\`$1
 | 
					 | 
				
			||||||
$2
 | 
					 | 
				
			||||||
\`\`\`
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet `tex "Latex block (see latex filter)" bA
 | 
					 | 
				
			||||||
\`\`\`{.tex}
 | 
					 | 
				
			||||||
$1
 | 
					 | 
				
			||||||
\`\`\`
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet `tik "Tikz block (see tikz filter)" bA
 | 
					 | 
				
			||||||
\`\`\`{.tex}
 | 
					 | 
				
			||||||
\\begin{tikzpicture}
 | 
					 | 
				
			||||||
$1
 | 
					 | 
				
			||||||
\\end{tikzpicture}
 | 
					 | 
				
			||||||
\`\`\`
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet task "Task" i
 | 
					 | 
				
			||||||
* [ ] $1 -- pro:$2
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet "(\b)fn(\d+)" "" ir
 | 
					 | 
				
			||||||
`!p snip.rv = snip.basename + "_" + match.group(2).zfill(2)`$1
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet "ch(\d+)" "Link chapter" ir
 | 
					 | 
				
			||||||
`!p
 | 
					 | 
				
			||||||
num_str = match.group(1).zfill(2)
 | 
					 | 
				
			||||||
title = 3*"."
 | 
					 | 
				
			||||||
link = snip.basename + "_" + num_str
 | 
					 | 
				
			||||||
snip.rv = num_str + ". " + linkify(title, link)
 | 
					 | 
				
			||||||
`
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet "ch(\d+)to(\d+)" "Link chapters ... to ..." irA
 | 
					 | 
				
			||||||
`!p
 | 
					 | 
				
			||||||
for i in range(int(match.group(1)), int(match.group(2)) + 1):
 | 
					 | 
				
			||||||
	num_str = str(i).zfill(2)
 | 
					 | 
				
			||||||
	title = 3*"."
 | 
					 | 
				
			||||||
	link = snip.basename + "_" + num_str
 | 
					 | 
				
			||||||
	snip.rv += num_str + ". " + linkify(title, link) + "\n"
 | 
					 | 
				
			||||||
`
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet "sec([\sA-z]+)" "Link section titled ..." r
 | 
					 | 
				
			||||||
`!p
 | 
					 | 
				
			||||||
snip.rv = "* " + linkify(match.group(1), f"{snip.basename}_{slugify(match.group(1))}")
 | 
					 | 
				
			||||||
`
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet cp(\d+) "Comment current page (and date)" r
 | 
					 | 
				
			||||||
`!p snip.rv = "<!--" + datetime.now().strftime("%Y-%m-%d") + " p. " + match.group(1) + "-->"`
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet (\d+)! "Factorial of ..." r
 | 
					 | 
				
			||||||
`!p snip.rv = factorial(int(match.group(1)))`
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet d "Date"
 | 
					 | 
				
			||||||
`!p snip.rv = datetime.now().strftime("%Y-%m-%d")`
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet :(\w*) "Fence" r
 | 
					 | 
				
			||||||
`!p snip.rv += ":::" + FENCES.get(match.group(1) or "", "") + "\n" `$1
 | 
					 | 
				
			||||||
`!p snip.rv += ":::"`$2
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet \[(\w*) "Fence inline" ir
 | 
					 | 
				
			||||||
`!p snip.rv += "["`$1`!p snip.rv += "]{." + FENCES.get(match.group(1) or "", "") + "}"`$2
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet ^eg "Example" r
 | 
					 | 
				
			||||||
E.g. $1
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# E.g. after list (or list preceded by space)
 | 
					 | 
				
			||||||
snippet (\*\s|\*)eg "Example" r
 | 
					 | 
				
			||||||
* E.g. $1
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# E.g. after dot (or dot preceded by space)
 | 
					 | 
				
			||||||
snippet (\.\s|\.)eg "Example" r
 | 
					 | 
				
			||||||
. E.g. $1
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet (?<!^|\*\s|\*|\.\s|\.)eg "Example" r
 | 
					 | 
				
			||||||
e.g. $1
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Zettelkasten to Anki
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet td "TARGET DECK: <Deck name>"
 | 
					 | 
				
			||||||
TARGET DECK: $1::$2
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet clo "Cloze"
 | 
					 | 
				
			||||||
START
 | 
					 | 
				
			||||||
Cloze
 | 
					 | 
				
			||||||
${0:${VISUAL}}$1
 | 
					 | 
				
			||||||
END
 | 
					 | 
				
			||||||
$2
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet clos "Cloze start"
 | 
					 | 
				
			||||||
START
 | 
					 | 
				
			||||||
Cloze
 | 
					 | 
				
			||||||
$1
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet cloe "Cloze end"
 | 
					 | 
				
			||||||
END
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet clod
 | 
					 | 
				
			||||||
START
 | 
					 | 
				
			||||||
Cloze
 | 
					 | 
				
			||||||
**Definition$1**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
$2
 | 
					 | 
				
			||||||
END
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet clop
 | 
					 | 
				
			||||||
START
 | 
					 | 
				
			||||||
Cloze
 | 
					 | 
				
			||||||
**Property$1**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
$2
 | 
					 | 
				
			||||||
END
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet clot
 | 
					 | 
				
			||||||
START
 | 
					 | 
				
			||||||
Cloze
 | 
					 | 
				
			||||||
**Theorem$1**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
$2
 | 
					 | 
				
			||||||
END
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet clol
 | 
					 | 
				
			||||||
START
 | 
					 | 
				
			||||||
Cloze
 | 
					 | 
				
			||||||
**Lemma$1**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
$2
 | 
					 | 
				
			||||||
END
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet "c(\d+)" "Cloze <number>" r
 | 
					 | 
				
			||||||
{{c`!p snip.rv = int(match.group(1))`::${0:${VISUAL}}$1}}$2
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Match preceded by whitespace or start of line
 | 
					 | 
				
			||||||
snippet (?<!\S)z($|t|l|z|o|\.) "Zotero" r
 | 
					 | 
				
			||||||
`!p
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ACTIONS = {
 | 
					 | 
				
			||||||
	"": "get_citekey",
 | 
					 | 
				
			||||||
	"t": "get_title",
 | 
					 | 
				
			||||||
	"l": "get_link",
 | 
					 | 
				
			||||||
	"z": "get_citekey_brackets",
 | 
					 | 
				
			||||||
	"o": "get_file",
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snip.rv = zot(ACTIONS.get(match.group(1)))
 | 
					 | 
				
			||||||
`
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet zq "Zotero quote" r
 | 
					 | 
				
			||||||
`!p snip.rv = '>\n> --' + zot("get_citekey_brackets")`
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet acz "According to ..."
 | 
					 | 
				
			||||||
`!p snip.rv = "According to " + zot("get_citekey")`
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet azex "As ... explains"
 | 
					 | 
				
			||||||
`!p snip.rv = "As " + zot("get_citekey") + " explains, "`
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet iz "In ..."
 | 
					 | 
				
			||||||
`!p snip.rv = "In " + zot("get_citekey")`
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet izd "In ...'s definition"
 | 
					 | 
				
			||||||
`!p snip.rv = "In " + zot("get_citekey") + "'s definition, "`
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet zintends "... intends to ..." A
 | 
					 | 
				
			||||||
`!p snip.rv = zot("get_citekey") + " intends to "`
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet tfol "The following" wA
 | 
					 | 
				
			||||||
the following
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet tfolt "It follows that" wA
 | 
					 | 
				
			||||||
it follows that
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet ntfol "In the following" wA
 | 
					 | 
				
			||||||
in the following
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet algos "algorithms" wA
 | 
					 | 
				
			||||||
algorithms
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet algo "algorithm" wA
 | 
					 | 
				
			||||||
algorithm
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# TODO: Make only available in tikzpicture
 | 
					 | 
				
			||||||
context "code()"
 | 
					 | 
				
			||||||
snippet q "State" w
 | 
					 | 
				
			||||||
\node[state] ($1) [] {$2};
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
context "code()"
 | 
					 | 
				
			||||||
snippet q0 "Initial state" w
 | 
					 | 
				
			||||||
\node[initial,state] ($1) {$2};
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,20 +0,0 @@
 | 
				
			||||||
snippet reqtrace "(#%require racket/trace)" b
 | 
					 | 
				
			||||||
(#%require racket/trace)
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet strln "(string-length <string>)" b
 | 
					 | 
				
			||||||
(string-length $0)
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet impb "Import rnrs base libraries" b
 | 
					 | 
				
			||||||
(import (rnrs base (6))
 | 
					 | 
				
			||||||
        (rnrs io simple)$0)
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet def "(define <name> <variable>)" b
 | 
					 | 
				
			||||||
(define $0 $1)
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet defp "(define (<procedure-name> <arguments>))" b
 | 
					 | 
				
			||||||
(define ($0 $1))
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,19 +0,0 @@
 | 
				
			||||||
extends html, javascript, css
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet oM
 | 
					 | 
				
			||||||
onMount(() => $0)
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet oD
 | 
					 | 
				
			||||||
onDestroy(() => $0)
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet preJsf "JSON.stringify (formatted and wrapped)"
 | 
					 | 
				
			||||||
<pre>
 | 
					 | 
				
			||||||
{JSON.stringify($0, 0, 2)}
 | 
					 | 
				
			||||||
</pre>
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet :g "Open :global("
 | 
					 | 
				
			||||||
:global(
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,78 +0,0 @@
 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Inspired by https://castel.dev/post/lecture-notes-1/
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet beg "begin{} / end{}" b
 | 
					 | 
				
			||||||
\begin{$1}
 | 
					 | 
				
			||||||
	$0
 | 
					 | 
				
			||||||
\end{$1}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet def "begin{definition} / end{definition}" b
 | 
					 | 
				
			||||||
\begin{definition}
 | 
					 | 
				
			||||||
	$0
 | 
					 | 
				
			||||||
\end{defintion}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet fig "begin{figure} / end{figure}" b
 | 
					 | 
				
			||||||
\begin{figure}
 | 
					 | 
				
			||||||
	$0
 | 
					 | 
				
			||||||
\end{figure}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet time "Time"
 | 
					 | 
				
			||||||
`date +%R`
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet i
 | 
					 | 
				
			||||||
\textit{$0}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet b
 | 
					 | 
				
			||||||
\textbf{$0}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet center
 | 
					 | 
				
			||||||
\begin{center}
 | 
					 | 
				
			||||||
$0
 | 
					 | 
				
			||||||
\end{center}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet pac
 | 
					 | 
				
			||||||
\usepackage{$0}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet foot
 | 
					 | 
				
			||||||
\footnote{$0}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# snippet m "Math" wA
 | 
					 | 
				
			||||||
# $${1}$`!p
 | 
					 | 
				
			||||||
# if t[2] and t[2][0] not in [',', '.', '?', '-', ' ']:
 | 
					 | 
				
			||||||
#		snip.rv = ' '
 | 
					 | 
				
			||||||
# else:
 | 
					 | 
				
			||||||
#		snip.rv = ''
 | 
					 | 
				
			||||||
# `$2
 | 
					 | 
				
			||||||
# endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet dm "Math" wA
 | 
					 | 
				
			||||||
\[
 | 
					 | 
				
			||||||
$1
 | 
					 | 
				
			||||||
\]$0
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet ch
 | 
					 | 
				
			||||||
\chapter{$0}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet sec
 | 
					 | 
				
			||||||
\section{$0}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet ssec
 | 
					 | 
				
			||||||
\subsection{$0}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet sssec
 | 
					 | 
				
			||||||
\subsubsection{$0}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,4 +0,0 @@
 | 
				
			||||||
source ~/.vim/init/base.vim
 | 
					 | 
				
			||||||
source ~/.vim/init/mappings.vim
 | 
					 | 
				
			||||||
source ~/.vim/init/plugins.vim
 | 
					 | 
				
			||||||
source ~/.vim/init/colors.vim
 | 
					 | 
				
			||||||
		Loading…
	
		Reference in New Issue