about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--home-manager/soispha/config/neovim/nixvim/files/ftplugin/tex.lua78
-rw-r--r--home-manager/soispha/config/neovim/nixvim/plugins/telescope/extensions/bibtex/default.nix13
2 files changed, 70 insertions, 21 deletions
diff --git a/home-manager/soispha/config/neovim/nixvim/files/ftplugin/tex.lua b/home-manager/soispha/config/neovim/nixvim/files/ftplugin/tex.lua
index 926866a7..6cc37c4c 100644
--- a/home-manager/soispha/config/neovim/nixvim/files/ftplugin/tex.lua
+++ b/home-manager/soispha/config/neovim/nixvim/files/ftplugin/tex.lua
@@ -19,28 +19,28 @@
 --
 --
 
-
+-- Set non-treesitter colorscheme
 require("gruvbox").setup({
-  undercurl = true,
-  underline = true,
-  bold = true,
-  italic = {
-    strings = true,
-    comments = true,
-    operators = false,
-    folds = true,
-  },
-  strikethrough = true,
-  invert_selection = false,
-  invert_signs = false,
-  invert_tabline = false,
-  invert_intend_guides = false,
-  inverse = true, -- invert background for search, diffs, statuslines and errors
-  contrast = "", -- can be "hard", "soft" or empty string
-  palette_overrides = {},
-  overrides = {},
-  dim_inactive = false,
-  transparent_mode = false,
+    undercurl = true,
+    underline = true,
+    bold = true,
+    italic = {
+        strings = true,
+        comments = true,
+        operators = false,
+        folds = true,
+    },
+    strikethrough = true,
+    invert_selection = false,
+    invert_signs = false,
+    invert_tabline = false,
+    invert_intend_guides = false,
+    inverse = true, -- invert background for search, diffs, statuslines and errors
+    contrast = "",  -- can be "hard", "soft" or empty string
+    palette_overrides = {},
+    overrides = {},
+    dim_inactive = false,
+    transparent_mode = false,
 })
 vim.cmd("colorscheme gruvbox")
 
@@ -49,3 +49,39 @@ require('lualine').setup {
         theme = 'gruvbox',
     },
 }
+
+-- Set tex specific telescope extension
+require('telescope').setup {
+    extensions = {
+        bibtex = {
+            -- Depth for the *.bib file
+            depth = 1,
+            -- Path to global bibliographies (placed outside of the project)
+            global_files = {},
+            -- Define the search keys to use in the picker
+            search_keys = { 'author', 'year', 'title' },
+            -- Template for the formatted citation
+            citation_format = '{{author}} ({{year}}), {{title}}.',
+            -- Only use initials for the authors first name
+            citation_trim_firstname = true,
+            -- Max number of authors to write in the formatted citation
+            -- following authors will be replaced by "et al."
+            citation_max_auth = 2,
+            -- Wrapping in the preview window is disabled by default
+            wrap = false,
+            -- Custom format for citation label
+            custom_formats = {
+                { id = 'tex_autocite', cite_marker = '\\autocite{%s}' }
+            },
+            format = 'tex_autocite',
+            -- Use context awareness
+            context = true,
+            -- Fallback to global/directory .bib files if context not found
+            -- This setting has no effect if context = false
+            context_fallback = true,
+        },
+    }
+}
+require('telescope').load_extension('bibtex')
+vim.api.nvim_set_keymap("n", "<leader>ib", function() require('telescope').extensions.bibtex.bibtex() end,
+    { noremap = true, silent = true, desc = "list bibtex entries in telescope" })
diff --git a/home-manager/soispha/config/neovim/nixvim/plugins/telescope/extensions/bibtex/default.nix b/home-manager/soispha/config/neovim/nixvim/plugins/telescope/extensions/bibtex/default.nix
new file mode 100644
index 00000000..12c9736c
--- /dev/null
+++ b/home-manager/soispha/config/neovim/nixvim/plugins/telescope/extensions/bibtex/default.nix
@@ -0,0 +1,13 @@
+{pkgs, ...}: {
+  # WARNING: This is only activated in tex files via the ftplugin.
+  programs.nixvim = {
+    extraPlugins = [
+      pkgs.vimExtraPlugins.telescope-bibtex-nvim
+    ];
+    maps.normal = {
+      "<space>ib" = {
+        desc = "[i]nsert a [b]atex citation";
+      };
+    };
+  };
+}