Add dotfiles
This commit is contained in:
132
.config/nvim/snippets/tex/plotting.lua
Normal file
132
.config/nvim/snippets/tex/plotting.lua
Normal file
@@ -0,0 +1,132 @@
|
||||
----------------
|
||||
-- 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="funcplot"},
|
||||
fmta(
|
||||
[[
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
|
||||
\begin{tikzpicture}
|
||||
\begin{axis}[
|
||||
domain=<>,
|
||||
width=\textwidth,
|
||||
height=0.75\textwidth,
|
||||
]
|
||||
\addplot+[mark=none, line width=1pt]
|
||||
{<>};
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\end{figure}
|
||||
]],
|
||||
{
|
||||
i(1, "-5:5"),
|
||||
i(2),
|
||||
}
|
||||
)
|
||||
),
|
||||
|
||||
s({trig="csvplot"},
|
||||
fmta(
|
||||
[[
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
|
||||
\begin{tikzpicture}
|
||||
\begin{axis}[
|
||||
width=\textwidth,
|
||||
height=0.75\textwidth,
|
||||
]
|
||||
\addplot+[mark=none, line width=1pt]
|
||||
table[col sep=comma, x=<>, y=<>]
|
||||
{<>};
|
||||
\end{axis}
|
||||
\end{tikzpicture}
|
||||
\end{figure}
|
||||
]],
|
||||
{
|
||||
i(1, "x"),
|
||||
i(2, "y"),
|
||||
i(3),
|
||||
}
|
||||
)
|
||||
),
|
||||
|
||||
s({trig="fig"},
|
||||
fmta(
|
||||
[[
|
||||
\begin{figure}[H]
|
||||
\centering
|
||||
|
||||
<>
|
||||
|
||||
\caption{<>}
|
||||
\label{fig:<>}
|
||||
\end{figure}
|
||||
]],
|
||||
{
|
||||
i(0),
|
||||
i(1),
|
||||
i(2),
|
||||
}
|
||||
)
|
||||
),
|
||||
|
||||
|
||||
} -- return
|
||||
|
||||
Reference in New Issue
Block a user