require('core.snippets.shorthands')
require('core.snippets.functions')

return {
  -- document snippet
  s("doc",
    fmta(
      [[
      \documentclass{article}
      \title{<>}
      \author{<>}
      \begin{document}
      \maketitle
      <>
      \end{document}
      ]],
      {
        c(1, {
          sn(nil, { f(file_name, {}), i(1) }),
          i(1, "my title")
        }),
        i(2, "my name"),
        i(0)
      }
    )
  ),

  s({ trig = ";begin", snippetType = "autosnippet" },
    fmta(
      [[
      \begin{<>}
        <>
      \end{<>}
      ]],
      {
        i(1),
        i(0),
        rep(1)
      }
    )
  ),

  s({ trig = ";href", snippetType = "autosnippet" },
    fmta(
      [[\href{<>}{<>}]],
      {
        i(1, "url"),
        i(2, "display name"),
      }
    )
  ),

  postfix(".b", {
    f(function(_, parent)
      return [[\textbf{]]..parent.snippet.env.POSTFIX_MATCH.."}"
    end)
  }),

  postfix(".i", {
    f(function(_, parent)
      return [[\textit{]]..parent.snippet.env.POSTFIX_MATCH.."}"
    end)
  }),

  postfix(".ul", {
    f(function(_, parent)
      return [[\underline{]]..parent.snippet.env.POSTFIX_MATCH.."}"
    end)
  })
}