aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--editors/vim/bruijn.snippets58
-rw-r--r--src/Parser.hs10
2 files changed, 62 insertions, 6 deletions
diff --git a/editors/vim/bruijn.snippets b/editors/vim/bruijn.snippets
index f0bd285..b5b30ed 100644
--- a/editors/vim/bruijn.snippets
+++ b/editors/vim/bruijn.snippets
@@ -6,10 +6,10 @@ priority 0
# === Definition snippets ===
snippet "(.+)>" "" r
-`!p snip.rv = match.group(1)`‣ $0
+`!p snip.rv = match.group(1)`‣$0
endsnippet
-snippet "(.*)\." "" r
+snippet "(.*)\?" "" r
`!p snip.rv = match.group(1)`…$0
endsnippet
@@ -23,6 +23,34 @@ snippet "(.*)\|\|" "" r
`!p snip.rv = match.group(1)`⋁$0
endsnippet
+snippet "(.*)sum" "" r
+`!p snip.rv = match.group(1)`∑$0
+endsnippet
+
+snippet "(.*)prod" "" r
+`!p snip.rv = match.group(1)`∏$0
+endsnippet
+
+snippet "(.*)rprod" "" r
+`!p snip.rv = match.group(1)`∐$0
+endsnippet
+
+snippet "(.*)infty" "" r
+`!p snip.rv = match.group(1)`∞$0
+endsnippet
+
+snippet "(.*)\." "" r
+`!p snip.rv = match.group(1)`∘$0
+endsnippet
+
+snippet "(.*)\*" "" r
+`!p snip.rv = match.group(1)`⋅$0
+endsnippet
+
+snippet "(.*)\*\*" "" r
+`!p snip.rv = match.group(1)`⋆$0
+endsnippet
+
snippet "(.*)=>" "" r
`!p snip.rv = match.group(1)`⇒$0
endsnippet
@@ -39,6 +67,30 @@ snippet "(.*)<->" "" r
`!p snip.rv = match.group(1)`↔$0
endsnippet
+snippet "(.*)-\^" "" r
+`!p snip.rv = match.group(1)`↑$0
+endsnippet
+
+snippet "(.*)::" "" r
+`!p snip.rv = match.group(1)`∷$0
+endsnippet
+
+snippet "(.*)bra" "" r
+`!p snip.rv = match.group(1)`⟨$0
+endsnippet
+
+snippet "(.*)ket" "" r
+`!p snip.rv = match.group(1)`⟩$0
+endsnippet
+
+snippet "(.*)bbra" "" r
+`!p snip.rv = match.group(1)`⟪$0
+endsnippet
+
+snippet "(.*)kket" "" r
+`!p snip.rv = match.group(1)`⟫$0
+endsnippet
+
snippet "(.*)<=" "" r
`!p snip.rv = match.group(1)`≤$0
endsnippet
@@ -151,7 +203,7 @@ snippet "(.*)\^9" "" r
`!p snip.rv = match.group(1)`⁹$0
endsnippet
-snippet "(.*)\^+" "" r
+snippet "(.*)\^\+" "" r
`!p snip.rv = match.group(1)`⁺$0
endsnippet
diff --git a/src/Parser.hs b/src/Parser.hs
index 1952cde..af9aa70 100644
--- a/src/Parser.hs
+++ b/src/Parser.hs
@@ -27,9 +27,13 @@ emoticon = satisfy isEmoticon
where isEmoticon c = ('\128512' <= c && c <= '\128591')
mathematicalOperator :: Parser Char
-mathematicalOperator = satisfy isMathematicalUnicodeBlock
- <|> oneOf "¬₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎⁰¹²³⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾"
- where isMathematicalUnicodeBlock c = ('∀' <= c && c <= '⋿')
+mathematicalOperator =
+ satisfy isMathematicalUnicodeBlock
+ <|> satisfy isMiscMathematicalAUnicodeBlock
+ <|> oneOf "¬₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎⁰¹²³⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾"
+ where
+ isMathematicalUnicodeBlock c = ('∀' <= c && c <= '⋿')
+ isMiscMathematicalAUnicodeBlock c = ('⟀' <= c && c <= '⟯')
mathematicalArrow :: Parser Char
mathematicalArrow = satisfy isMathematicalOperator