aboutsummaryrefslogtreecommitdiffstats
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";
+ };
+ };
+ };
+}