aboutsummaryrefslogtreecommitdiffstats
path: root/modules/by-name/nv/nvim/plgs/telescope
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-11-23 13:14:04 +0100
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-11-23 13:22:07 +0100
commit90a049ccbd48184af95b865f6a1f75eec064f350 (patch)
tree6c7fd847bbb3f3d21c1b365cea65e201bc4944e2 /modules/by-name/nv/nvim/plgs/telescope
parentrefactor(pkgs/less): Remove and use less from nixpkgs (diff)
downloadnixos-config-90a049ccbd48184af95b865f6a1f75eec064f350.zip
refactor(modules/nvim/files): Move to their respective plugin
Diffstat (limited to 'modules/by-name/nv/nvim/plgs/telescope')
-rw-r--r--modules/by-name/nv/nvim/plgs/telescope/extensions/bibtex/default.nix10
-rw-r--r--modules/by-name/nv/nvim/plgs/telescope/extensions/bibtex/tex.lua60
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" }
+)