updates
This commit is contained in:
parent
63bbeaca3b
commit
ce01469113
37 changed files with 1621 additions and 384 deletions
106
home-manager/modules/neovim/snippets/tex/fonts.lua
Normal file
106
home-manager/modules/neovim/snippets/tex/fonts.lua
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
local helpers = require("personal.luasnip-helper-funcs")
|
||||
local get_visual = helpers.get_visual
|
||||
|
||||
-- A logical OR of `line_begin` and the regTrig '[^%a]trig'
|
||||
function line_begin_or_non_letter(line_to_cursor, matched_trigger)
|
||||
local line_begin = line_to_cursor:sub(1, -(#matched_trigger + 1)):match("^%s*$")
|
||||
local non_letter = line_to_cursor:sub(-(#matched_trigger + 1), -(#matched_trigger + 1)):match("[^%a]")
|
||||
return line_begin or non_letter
|
||||
end
|
||||
|
||||
-- Math context detection
|
||||
local tex = {}
|
||||
tex.in_mathzone = function()
|
||||
return vim.fn["vimtex#syntax#in_mathzone"]() == 1
|
||||
end
|
||||
tex.in_text = function()
|
||||
return not tex.in_mathzone()
|
||||
end
|
||||
|
||||
local line_begin = function(line_to_cursor, matched_trigger)
|
||||
-- +1 because `string.sub("abcd", 1, -2)` -> abc
|
||||
return line_to_cursor:sub(1, -(#matched_trigger + 1)):match("^%s*$")
|
||||
end
|
||||
|
||||
-- Return snippet tables
|
||||
return {
|
||||
-- TYPEWRITER i.e. \texttt
|
||||
s(
|
||||
{ trig = "([^%a])tt", regTrig = true, wordTrig = false, snippetType = "autosnippet", priority = 2000 },
|
||||
fmta("<>\\texttt{<>}", {
|
||||
f(function(_, snip)
|
||||
return snip.captures[1]
|
||||
end),
|
||||
d(1, get_visual),
|
||||
}),
|
||||
{ condition = tex.in_text }
|
||||
),
|
||||
-- ITALIC i.e. \textit
|
||||
s(
|
||||
{ trig = "([^%a])tii", regTrig = true, wordTrig = false, snippetType = "autosnippet" },
|
||||
fmta("<>\\textit{<>}", {
|
||||
f(function(_, snip)
|
||||
return snip.captures[1]
|
||||
end),
|
||||
d(1, get_visual),
|
||||
})
|
||||
),
|
||||
-- BOLD i.e. \textbf
|
||||
s(
|
||||
{ trig = "tbb", snippetType = "autosnippet" },
|
||||
fmta("\\textbf{<>}", {
|
||||
d(1, get_visual),
|
||||
})
|
||||
),
|
||||
-- MATH ROMAN i.e. \mathrm
|
||||
s(
|
||||
{ trig = "([^%a])rmm", regTrig = true, wordTrig = false, snippetType = "autosnippet" },
|
||||
fmta("<>\\mathrm{<>}", {
|
||||
f(function(_, snip)
|
||||
return snip.captures[1]
|
||||
end),
|
||||
d(1, get_visual),
|
||||
})
|
||||
),
|
||||
-- MATH CALIGRAPHY i.e. \mathcal
|
||||
s(
|
||||
{ trig = "([^%a])mcc", regTrig = true, wordTrig = false, snippetType = "autosnippet" },
|
||||
fmta("<>\\mathcal{<>}", {
|
||||
f(function(_, snip)
|
||||
return snip.captures[1]
|
||||
end),
|
||||
d(1, get_visual),
|
||||
})
|
||||
),
|
||||
-- MATH BOLDFACE i.e. \mathbf
|
||||
s(
|
||||
{ trig = "([^%a])mbf", regTrig = true, wordTrig = false, snippetType = "autosnippet" },
|
||||
fmta("<>\\mathbf{<>}", {
|
||||
f(function(_, snip)
|
||||
return snip.captures[1]
|
||||
end),
|
||||
d(1, get_visual),
|
||||
})
|
||||
),
|
||||
-- MATH BLACKBOARD i.e. \mathbb
|
||||
s(
|
||||
{ trig = "([^%a])mbb", regTrig = true, wordTrig = false, snippetType = "autosnippet" },
|
||||
fmta("<>\\mathbb{<>}", {
|
||||
f(function(_, snip)
|
||||
return snip.captures[1]
|
||||
end),
|
||||
d(1, get_visual),
|
||||
})
|
||||
),
|
||||
-- REGULAR TEXT i.e. \text (in math environments)
|
||||
s(
|
||||
{ trig = "([^%a])tee", regTrig = true, wordTrig = false, snippetType = "autosnippet" },
|
||||
fmta("<>\\text{<>}", {
|
||||
f(function(_, snip)
|
||||
return snip.captures[1]
|
||||
end),
|
||||
d(1, get_visual),
|
||||
}),
|
||||
{ condition = tex.in_mathzone }
|
||||
),
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue