Update pandoc snippets
							parent
							
								
									aaebf727d2
								
							
						
					
					
						commit
						ac3e2317f8
					
				| 
						 | 
					@ -25,17 +25,88 @@
 | 
				
			||||||
# Online reference: https://github.com/SirVer/ultisnips/blob/master/doc/UltiSnips.txt
 | 
					# Online reference: https://github.com/SirVer/ultisnips/blob/master/doc/UltiSnips.txt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
global !p
 | 
					global !p
 | 
				
			||||||
def math():
 | 
					from datetime import datetime
 | 
				
			||||||
  return vim.command_output('GetContext') == 'math_inline' or vim.command_output('GetContext') == 'math_block'
 | 
					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():
 | 
					def math_inline():
 | 
				
			||||||
	return vim.command_output('GetContext') == 'math_inline'
 | 
						return vim.command_output('GetContext') == 'math_inline'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def math_block():
 | 
					def math_block():
 | 
				
			||||||
	return vim.command_output('GetContext') == '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 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
 | 
					endglobal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extends html
 | 
					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
 | 
					# Zettelkasten templating
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -75,14 +146,50 @@ snippet in
 | 
				
			||||||
(In [$1]($2))$3
 | 
					(In [$1]($2))$3
 | 
				
			||||||
endsnippet
 | 
					endsnippet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
snippet c "Comment (html)"
 | 
					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
 | 
					<!-- $1 -->$2
 | 
				
			||||||
endsnippet
 | 
					endsnippet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
snippet c. "Comment (html) ..." i
 | 
					snippet <. "Comment (html) ..." i
 | 
				
			||||||
<!-- ... -->$1
 | 
					<!-- ... -->$1
 | 
				
			||||||
endsnippet
 | 
					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"
 | 
					snippet ref "References"
 | 
				
			||||||
<!--references-->
 | 
					<!--references-->
 | 
				
			||||||
endsnippet
 | 
					endsnippet
 | 
				
			||||||
| 
						 | 
					@ -114,11 +221,6 @@ ${8/(\w+).*/**Theorem** \n\n.../}
 | 
				
			||||||
___
 | 
					___
 | 
				
			||||||
endsnippet
 | 
					endsnippet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
snippet q
 | 
					 | 
				
			||||||
Your age: ${1|<18,18~60,>60|}
 | 
					 | 
				
			||||||
Your height: ${2|<120cm,120cm~180cm,>180cm|}
 | 
					 | 
				
			||||||
endsnippet
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet prop "Property"
 | 
					snippet prop "Property"
 | 
				
			||||||
**Property $1** [@]
 | 
					**Property $1** [@]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -320,72 +422,6 @@ snippet Omega "Omega"
 | 
				
			||||||
\\Omega
 | 
					\\Omega
 | 
				
			||||||
endsnippet
 | 
					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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# MathJax environments
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
snippet asaw "Als en slechts als (woorden)" i
 | 
					snippet asaw "Als en slechts als (woorden)" i
 | 
				
			||||||
als en slechts als 
 | 
					als en slechts als 
 | 
				
			||||||
endsnippet
 | 
					endsnippet
 | 
				
			||||||
| 
						 | 
					@ -402,6 +438,12 @@ snippet iffs "If and only if (shorthand)" i
 | 
				
			||||||
**iff**
 | 
					**iff**
 | 
				
			||||||
endsnippet
 | 
					endsnippet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					snippet beg "Begin"
 | 
				
			||||||
 | 
					\begin{$1}
 | 
				
			||||||
 | 
					$2
 | 
				
			||||||
 | 
					\end{$1}
 | 
				
			||||||
 | 
					endsnippet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
snippet align "" i
 | 
					snippet align "" i
 | 
				
			||||||
\begin{align}
 | 
					\begin{align}
 | 
				
			||||||
$1
 | 
					$1
 | 
				
			||||||
| 
						 | 
					@ -450,7 +492,7 @@ endsnippet
 | 
				
			||||||
# Subscripts
 | 
					# Subscripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
context "math()"
 | 
					context "math()"
 | 
				
			||||||
snippet '([A-z])(\d+)' "Subscript" irw
 | 
					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
 | 
					`!p snip.rv = match.group(1) + '_' + match.group(2) if len(match.group(2)) == 1 else match.group(1) + '_{' + match.group(2) + '}'`$1
 | 
				
			||||||
endsnippet
 | 
					endsnippet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -560,6 +602,11 @@ snippet Cov "Covariance" i
 | 
				
			||||||
\operatorname{Cov}
 | 
					\operatorname{Cov}
 | 
				
			||||||
endsnippet
 | 
					endsnippet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					context "math()" i
 | 
				
			||||||
 | 
					snippet ntup "Alpha"
 | 
				
			||||||
 | 
					(x_1, \ldots, x_n)
 | 
				
			||||||
 | 
					endsnippet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
snippet mxn "Matrix" i
 | 
					snippet mxn "Matrix" i
 | 
				
			||||||
m \times n
 | 
					m \times n
 | 
				
			||||||
endsnippet
 | 
					endsnippet
 | 
				
			||||||
| 
						 | 
					@ -638,18 +685,232 @@ snippet sketch "Link a sketch" i
 | 
				
			||||||
[$1](file:///home/h/sketches/$2)
 | 
					[$1](file:///home/h/sketches/$2)
 | 
				
			||||||
endsnippet
 | 
					endsnippet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
snippet ` "Inline code" i
 | 
					snippet deck "Get anki deck"
 | 
				
			||||||
`$1`$2
 | 
					`get-anki-decks`
 | 
				
			||||||
endsnippet
 | 
					endsnippet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
snippet ``` "Code block" i
 | 
					# snippet ` "Inline code" i
 | 
				
			||||||
```${1:sh}
 | 
					# `$1`
 | 
				
			||||||
 | 
					# endsnippet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Escape backticks
 | 
				
			||||||
 | 
					snippet `` "Code block" bA
 | 
				
			||||||
 | 
					\`\`\`$1
 | 
				
			||||||
$2
 | 
					$2
 | 
				
			||||||
```
 | 
					\`\`\`
 | 
				
			||||||
endsnippet
 | 
					endsnippet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
snippet tex "Latex block (see latex filter)"
 | 
					snippet `tex "Latex block (see latex filter)" bA
 | 
				
			||||||
```{.tex}
 | 
					\`\`\`{.tex}
 | 
				
			||||||
$1
 | 
					$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 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
 | 
					endsnippet
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue