]> git.rmz.io Git - dotfiles.git/blobdiff - nvim/lua/plugins/lang/tex.lua
lazyvim: absorb all langs
[dotfiles.git] / nvim / lua / plugins / lang / tex.lua
diff --git a/nvim/lua/plugins/lang/tex.lua b/nvim/lua/plugins/lang/tex.lua
new file mode 100644 (file)
index 0000000..0d0fdb4
--- /dev/null
@@ -0,0 +1,44 @@
+return {
+  -- Add BibTeX/LaTeX to treesitter
+  {
+    "nvim-treesitter/nvim-treesitter",
+    opts = function(_, opts)
+      opts.highlight = opts.highlight or {}
+      if type(opts.ensure_installed) == "table" then
+        vim.list_extend(opts.ensure_installed, { "bibtex" })
+      end
+      if type(opts.highlight.disable) == "table" then
+        vim.list_extend(opts.highlight.disable, { "latex" })
+      else
+        opts.highlight.disable = { "latex" }
+      end
+    end,
+  },
+
+  {
+    "lervag/vimtex",
+    lazy = false, -- lazy-loading will disable inverse search
+    config = function()
+      vim.g.vimtex_mappings_disable = { ["n"] = { "K" } } -- disable `K` as it conflicts with LSP hover
+      vim.g.vimtex_quickfix_method = vim.fn.executable("pplatex") == 1 and "pplatex" or "latexlog"
+    end,
+    keys = {
+      { "<localLeader>l", "", desc = "+vimtex", ft = "tex" },
+    },
+  },
+
+  -- Correctly setup lspconfig for LaTeX ðŸš€
+  {
+    "neovim/nvim-lspconfig",
+    optional = true,
+    opts = {
+      servers = {
+        texlab = {
+          keys = {
+            { "<Leader>K", "<plug>(vimtex-doc-package)", desc = "Vimtex Docs", silent = true },
+          },
+        },
+      },
+    },
+  },
+}