-- lua_add {{{
local vimx = require("artemis")
vimx.g.vsnip_snippet_dir = vimx.g.config_dir .. "/snippets"
vimx.g.vsnip_filetypes = {
  plaintex = { "tex" },
  objc = { "c", "objc" },
  vue = { "javascript", "typescript" },
}
-- }}}

-- lua_source {{{
local vimx = require("artemis")
vimx.keymap.set("i", [[<Tab>]], "", {
  expr = true,
  callback = function()
    if vimx.fn.vsnip.jumpable(1) == 1 then
      return [[<Plug>(vsnip-jump-next)]]
    end
    return vimx.fn.lexima.expand([[<LT>TAB>]], "i")
  end,
})
vimx.keymap.set("s", [[<Tab>]], "", {
  expr = true,
  callback = function()
    if vimx.fn.vsnip.jumpable(1) == 1 then
      return [[<Plug>(vsnip-jump-next)]]
    end
    return [[<Tab>]]
  end,
})
vimx.keymap.set("i", "[[<S-Tab>]]", "", {
  expr = true,
  callback = function()
    if vimx.fn.vsnip.jumpable(-1) == 1 then
      return [[<Plug>(vsnip-jump-prev)]]
    end
    return vimx.fn.lexima.expend([[<LT>S-TAB>]], "i")
  end,
})
vimx.keymap.set("s", [[<S-Tab>]], "", {
  expr = true,
  callback = function()
    if vimx.fn.vsnip.jumpable(1) == 1 then
      return [[<Plug>(vsnip-jump-prev)]]
    end
    return [[<S-Tab>]]
  end,
})
-- }}}