dotfiles/nvim/snippets/tex/greek.lua

440 lines
8.2 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

----------------
-- Abbreviations
----------------
local ls = require("luasnip")
local s = ls.snippet
local sn = ls.snippet_node
local t = ls.text_node
local i = ls.insert_node
local f = ls.function_node
local d = ls.dynamic_node
local fmt = require("luasnip.extras.fmt").fmt
local fmta = require("luasnip.extras.fmt").fmta
local rep = require("luasnip.extras").rep
---------------
-- Environments
---------------
local tex_utils = {}
tex_utils.in_mathzone = function() -- math context detection
return vim.fn['vimtex#syntax#in_mathzone']() == 1
end
tex_utils.in_text = function()
return not tex_utils.in_mathzone()
end
tex_utils.in_comment = function() -- comment detection
return vim.fn['vimtex#syntax#in_comment']() == 1
end
tex_utils.in_env = function(name) -- generic environment detection
local is_inside = vim.fn['vimtex#env#is_inside'](name)
return (is_inside[1] > 0 and is_inside[2] > 0)
end
local get_visual = function(args, parent)
if (#parent.snippet.env.LS_SELECT_RAW > 0) then
return sn(nil, i(1, parent.snippet.env.LS_SELECT_RAW))
else
return sn(nil, i(1))
end
end
-----------
-- Snippets
-----------
return {
s({trig="´a", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\alpha ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´b", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\beta ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´g", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\gamma ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´d", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\delta ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´e", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\epsilon ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´z", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\zeta ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´h", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\eta ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´q", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\theta ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´i", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\iota ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´k", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\kappa ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´l", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\lambda ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´m", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\mu ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´n", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\nu ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´x", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\xi ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´p", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\pi ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´r", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\rho ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´s", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\sigma ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´t", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\tau ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´u", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\upsilon ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´f", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\phi ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´c", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\chi ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´y", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\psi ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´w", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\omega ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´A", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Alpha ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´B", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Beta ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´G", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Gamma ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´D", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Delta ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´E", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Epsilon ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´Z", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Zeta ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´H", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Eta ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´Q", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Theta ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´I", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Iota ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´K", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Kappa ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´L", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Lambda ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´M", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Mu ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´N", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Nu ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´X", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Xi ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´P", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Pi ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´R", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Rho ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´S", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Sigma ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´T", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Tau ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´U", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Upsilon ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´F", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Phi ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´C", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Chi ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´Y", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Psi ]],
{}
),
{condition = tex_utils.in_mathzone}
),
s({trig="´W", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\Omega ]],
{}
),
{condition = tex_utils.in_mathzone}
),
-- Strictly speaking not greek characters, but very similar snippets
s({trig="´6", wordTrig=false, snippetType="autosnippet"},
fmta(
[[\partial ]],
{}
),
{condition = tex_utils.in_mathzone}
),
} -- return