diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-11-23 13:14:04 +0100 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-11-23 13:22:07 +0100 |
commit | 90a049ccbd48184af95b865f6a1f75eec064f350 (patch) | |
tree | 6c7fd847bbb3f3d21c1b365cea65e201bc4944e2 /modules/by-name/nv/nvim/plgs | |
parent | refactor(pkgs/less): Remove and use less from nixpkgs (diff) | |
download | nixos-config-90a049ccbd48184af95b865f6a1f75eec064f350.tar.gz nixos-config-90a049ccbd48184af95b865f6a1f75eec064f350.zip |
refactor(modules/nvim/files): Move to their respective plugin
Diffstat (limited to 'modules/by-name/nv/nvim/plgs')
-rw-r--r-- | modules/by-name/nv/nvim/plgs/telescope/extensions/bibtex/default.nix | 10 | ||||
-rw-r--r-- | modules/by-name/nv/nvim/plgs/telescope/extensions/bibtex/tex.lua | 60 |
2 files changed, 69 insertions, 1 deletions
diff --git a/modules/by-name/nv/nvim/plgs/telescope/extensions/bibtex/default.nix b/modules/by-name/nv/nvim/plgs/telescope/extensions/bibtex/default.nix index e263cfdc..818aa18e 100644 --- a/modules/by-name/nv/nvim/plgs/telescope/extensions/bibtex/default.nix +++ b/modules/by-name/nv/nvim/plgs/telescope/extensions/bibtex/default.nix @@ -6,11 +6,19 @@ }: let cfg = config.soispha.programs.nvim; in { - # WARNING: This is only activated in tex files via the ftplugin. home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable { extraPlugins = [ pkgs.vimExtraPlugins.telescope-bibtex-nvim ]; + + # Only activate this in tex files. + # TODO: Why? <2024-11-23> + extraFiles = { + "ftplugin/tex.lua".text = '' + ${lib.strings.fileContents ./tex.lua} + ''; + }; + keymaps = [ { key = "<space>ib"; diff --git a/modules/by-name/nv/nvim/plgs/telescope/extensions/bibtex/tex.lua b/modules/by-name/nv/nvim/plgs/telescope/extensions/bibtex/tex.lua new file mode 100644 index 00000000..4107a7c5 --- /dev/null +++ b/modules/by-name/nv/nvim/plgs/telescope/extensions/bibtex/tex.lua @@ -0,0 +1,60 @@ +-- local used = false; +-- vim.keymap.set('n', '<leader>t', function() +-- used = not used; +-- if used then +-- require('nvim-treesitter.configs').setup { +-- highlight = { +-- additional_vim_regex_highlighting = { "latex", "markdown" }, +-- }, +-- } +-- else +-- require('nvim-treesitter.configs').setup { +-- highlight = { +-- additional_vim_regex_highlighting = { "" }, +-- }, +-- } +-- end +-- end +-- ); +-- +-- + +-- 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.keymap.set( + "n", + "<leader>ib", + function() require("telescope").extensions.bibtex.bibtex() end, + { noremap = true, silent = true, desc = "list bibtex entries in telescope" } +) |