115 lines
3.1 KiB
Lua
115 lines
3.1 KiB
Lua
local A = require("my.abbreviations")
|
|
local scrap = require("scrap")
|
|
|
|
require("my.abbreviations.math").setup()
|
|
|
|
vim.opt.conceallevel = 0
|
|
|
|
local abbreviations = {
|
|
-- Other fancy symvols
|
|
{ "tmat", "^T" }, -- Transpose of a matrix
|
|
{ "cmat", "^*" }, -- Conjugate of a matrix
|
|
{ "sneg", "^C" }, -- Set complement
|
|
{ "ortco", "^\\bot" }, -- Orthogonal complement
|
|
{ "sinter", "^\\circ" }, -- Interior of a set
|
|
{ "nuls", "\\varnothing" },
|
|
|
|
-- Basic commands
|
|
{ "mangle", "\\measuredangle" },
|
|
{ "aangle", "\\angle" },
|
|
{ "sdiff", "\\setminus" },
|
|
{ "sst", "\\subset" },
|
|
{ "spt", "\\supset" },
|
|
{ "sseq", "\\subseteq" },
|
|
{ "speq", "\\supseteq" },
|
|
{ "ccan", "\\cancel" },
|
|
{ "com", "\\circ" },
|
|
{ "mul", "\\cdot" },
|
|
{ "smul", "\\times" },
|
|
{ "card", "\\#" },
|
|
{ "div", "\\|" },
|
|
{ "ndiv", "\\not\\|\\:" },
|
|
{ "perp", "\\perp" },
|
|
{ "cdots", "\\cdots" }, -- center dots
|
|
{ "ldots", "\\ldots" }, -- low dots
|
|
{ "cldots", ",\\ldots," }, -- comma, low dots
|
|
{ "frac", "\\frac" }, -- fraction
|
|
{ "lim", "\\lim" }, -- Limit
|
|
{ "sup", "\\sup" }, -- supremum
|
|
{ "limsup", "\\lim\\sup" }, -- Limit of the supremum
|
|
{ "cal", "\\mathcal" }, -- Limit of the supremum
|
|
}
|
|
|
|
local abolishAbbreviations = {
|
|
-- {{{ Set symbols
|
|
-- - nats => naturals
|
|
-- - ints => integers
|
|
-- - rats => rationals
|
|
-- - irats => irationals
|
|
-- - rrea => reals
|
|
-- - comp => complex
|
|
-- - ppri => primes
|
|
-- - ffie => fields
|
|
{
|
|
"{nats,ints,rats,irats,rrea,comp,ppri,ffie}",
|
|
"\\mathbb\\{{N,Z,Q,I,R,C,P,F}\\}",
|
|
options = A.no_capitalization,
|
|
},
|
|
-- }}}
|
|
-- {{{ General function calls:
|
|
-- {function-name}{modifier?}{argument}{argument-modifier?}
|
|
--
|
|
-- - function-name = f/g/h/P
|
|
-- - modifier:
|
|
-- - d => derivative
|
|
-- - 2 => squared
|
|
-- - 3 => cubed
|
|
-- - i => inverse
|
|
-- - argument = x/y/z/a/t/i/n/k
|
|
-- - argument-modifier:
|
|
-- - n => subscript n
|
|
{
|
|
"{f,g,h,P}{d,2,3,i,}{x,y,z,a,t,i,n,k}{n,}",
|
|
"{}{',^2,^3,^\\{-1\\},}({}{_n,})",
|
|
},
|
|
-- }}}
|
|
-- {{{ Graph theory
|
|
-- Graph theory function syntax:
|
|
-- gt[function]{graph}{modifier}
|
|
-- - function:
|
|
-- - basic functions: e/E/v/G/L
|
|
-- - k => connectivity
|
|
-- - a => size of the biggest stable set
|
|
-- - w => size of the biggest clique
|
|
-- - d => biggest degree
|
|
-- - c{target}{kind} => {target} {kind} chromatic number
|
|
-- - target:
|
|
-- - vertices by default
|
|
-- - e => edges
|
|
-- - kind:
|
|
-- - normal by default
|
|
-- - l => list
|
|
-- - graph:
|
|
-- - G by default
|
|
-- - s/x/y/h => S/X/Y/H
|
|
-- - modifier:
|
|
-- - a => '
|
|
-- - 1/2 => _k
|
|
{
|
|
"gt{{e,E,v,V,L},k,a,w,d,md{,e},c{,e}{,l}}{,s,h,x,y}{,a,1,2}",
|
|
"{{},\\kappa,\\alpha,\\omega,\\Delta,\\delta{,'},\\chi{,'}{,_l}}({G,S,H,X,Y}{,',_1,_2})",
|
|
options = A.no_capitalization,
|
|
},
|
|
-- }}}
|
|
}
|
|
|
|
local expanded = scrap.expand_many(abolishAbbreviations)
|
|
|
|
-- Last I checked this contained 1229 abbreviations
|
|
-- print(#abbreviations + #expanded)
|
|
|
|
A.manyLocalAbbr(abbreviations)
|
|
A.manyLocalAbbr(expanded)
|
|
|
|
vim.opt_local.list = false -- The lsp usese tabs for formatting
|