diff options
-rw-r--r-- | home-manager/soispha/config/neovim/nixvim/files/ftplugin/tex.lua | 78 | ||||
-rw-r--r-- | home-manager/soispha/config/neovim/nixvim/plugins/telescope/extensions/bibtex/default.nix | 13 |
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"; + }; + }; + }; +} |