1
0
mirror of https://github.com/tiyn/dotfiles.git synced 2026-03-28 10:24:47 +01:00

NVIM: Improved structure and improved lazy loading

This commit is contained in:
2026-03-27 04:45:15 +01:00
parent 17a2e9f0ca
commit 8911a7c241
49 changed files with 396 additions and 346 deletions

View File

@@ -76,6 +76,7 @@
"sqlite.lua": { "branch": "master", "commit": "50092d60feb242602d7578398c6eb53b4a8ffe7b" }, "sqlite.lua": { "branch": "master", "commit": "50092d60feb242602d7578398c6eb53b4a8ffe7b" },
"tabular": { "branch": "master", "commit": "12437cd1b53488e24936ec4b091c9324cafee311" }, "tabular": { "branch": "master", "commit": "12437cd1b53488e24936ec4b091c9324cafee311" },
"tccs.nvim": { "branch": "master", "commit": "23fabbb0a65517307e571f63fe7a3760670086fe" }, "tccs.nvim": { "branch": "master", "commit": "23fabbb0a65517307e571f63fe7a3760670086fe" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c" },
"telescope-words.nvim": { "branch": "main", "commit": "295d51fe1e525fee18c0c164ad0ae5fb23273aa0" }, "telescope-words.nvim": { "branch": "main", "commit": "295d51fe1e525fee18c0c164ad0ae5fb23273aa0" },
"telescope.nvim": { "branch": "master", "commit": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179" }, "telescope.nvim": { "branch": "master", "commit": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179" },
"tidy.nvim": { "branch": "main", "commit": "8b6921150b16f38f48a2459a844a0c2b4c916914" }, "tidy.nvim": { "branch": "main", "commit": "8b6921150b16f38f48a2459a844a0c2b4c916914" },

View File

@@ -0,0 +1,15 @@
return {
-- display available options for highlighted word
"tiyn/action-hints.nvim",
lazy = true, -- load as dependency
config = function()
require("action-hints").setup({
template = {
-- definition = { text = "D", color = "#add8e6" },
-- references = { text = "R%s", color = "#ff6666" },
definition = { text = Definition_sign, color = "#add8e6" },
references = { text = Reference_sign, color = "#ff6666" },
},
})
end,
}

View File

@@ -7,6 +7,7 @@ return {
"SmiteshP/nvim-navic", "SmiteshP/nvim-navic",
"nvim-tree/nvim-web-devicons", -- optional dependency "nvim-tree/nvim-web-devicons", -- optional dependency
}, },
lazy = false,
opts = { opts = {
theme = { theme = {
normal = { bg = "#272727" }, normal = { bg = "#272727" },

View File

@@ -1,8 +1,9 @@
return { return {
-- rainbow auto-pairs -- rainbow and auto-pairs for parenthesis
"saghen/blink.pairs", "saghen/blink.pairs",
version = "*", -- (recommended) only required with prebuilt binaries version = "*", -- (recommended) only required with prebuilt binaries
dependencies = "saghen/blink.download", -- download prebuilt binaries from github releases dependencies = { "saghen/blink.download" }, -- download prebuilt binaries from github releases
lazy = false,
--- @module 'blink.pairs' --- @module 'blink.pairs'
--- @type blink.pairs.Config --- @type blink.pairs.Config
opts = { opts = {

View File

@@ -0,0 +1,5 @@
return {
-- nvim-cmp source for lsp
"hrsh7th/cmp-nvim-lsp",
lazy = true, -- load as dependency
}

View File

@@ -1,5 +1,6 @@
return { return {
-- commenting improvements -- commenting improvements
"numtostr/comment.nvim", "numtostr/comment.nvim",
lazy = false,
opts = {}, opts = {},
} }

View File

@@ -1,8 +1,7 @@
return { return {
-- improved csv handling -- improved csv handling
"hat0uma/csvview.nvim", "hat0uma/csvview.nvim",
ft = "csv", ft = { "csv" },
cmd = { "CsvViewEnable", "CsvViewDisable", "CsvViewToggle" },
opts = { opts = {
parser = { comments = { "#", "//" } }, parser = { comments = { "#", "//" } },
keymaps = { keymaps = {

View File

@@ -0,0 +1,117 @@
return {
-- better predefined window layouts
"folke/edgy.nvim",
lazy = true, -- load as dependency
init = function()
vim.opt.laststatus = 3
vim.opt.splitkeep = "screen" -- or "topline" or "screen"
end,
opts = {
exit_when_last = false,
animate = {
enabled = false,
},
wo = {
winbar = true,
winfixwidth = true,
winfixheight = false,
winhighlight = "WinBar:EdgyWinBar,Normal:EdgyNormal",
spell = false,
signcolumn = "no",
},
keys = {
-- -- close window
["q"] = function(win)
win:close()
end,
-- close sidebar
["Q"] = function(win)
win.view.edgebar:close()
end,
-- increase width
["<S-Right>"] = function(win)
win:resize("width", 3)
end,
-- decrease width
["<S-Left>"] = function(win)
win:resize("width", -3)
end,
-- increase height
["<S-Up>"] = function(win)
win:resize("height", 3)
end,
-- decrease height
["<S-Down>"] = function(win)
win:resize("height", -3)
end,
},
right = {
{
title = "OGPT Popup",
ft = "ogpt-popup",
size = { width = 0.2 },
wo = {
wrap = true,
},
},
{
title = "OGPT Parameters",
ft = "ogpt-parameters-window",
size = { height = 6 },
wo = {
wrap = true,
},
},
{
title = "OGPT Template",
ft = "ogpt-template",
size = { height = 6 },
},
{
title = "OGPT Sessions",
ft = "ogpt-sessions",
size = { height = 6 },
wo = {
wrap = true,
},
},
{
title = "OGPT System Input",
ft = "ogpt-system-window",
size = { height = 6 },
},
{
title = "OGPT",
ft = "ogpt-window",
size = { height = 0.5 },
wo = {
wrap = true,
},
},
{
title = "OGPT {{{selection}}}",
ft = "ogpt-selection",
size = { width = 80, height = 4 },
wo = {
wrap = true,
},
},
{
title = "OGPt {{{instruction}}}",
ft = "ogpt-instruction",
size = { width = 80, height = 4 },
wo = {
wrap = true,
},
},
{
title = "OGPT Chat",
ft = "ogpt-input",
size = { width = 80, height = 4 },
wo = {
wrap = true,
},
},
},
},
}

View File

@@ -1,4 +1,5 @@
return { return {
-- rename files in buffer -- rename files in buffer
"tiyn/file-renamer.nvim", "tiyn/file-renamer.nvim",
cmd = { "Ren", "Renamer" },
} }

View File

@@ -1,5 +1,6 @@
return { return {
-- display git status per line -- display git status per line
"lewis6991/gitsigns.nvim", "lewis6991/gitsigns.nvim",
lazy = true, -- load as dependency
opts = {}, opts = {},
} }

View File

@@ -1,7 +1,7 @@
return { return {
-- preview definitions using floating windows -- preview definitions using floating windows
"rmagatti/goto-preview", "rmagatti/goto-preview",
dependencies = "rmagatti/logger.nvim", dependencies = { "rmagatti/logger.nvim" },
keys = { keys = {
{ {
"gpd", "gpd",

View File

@@ -0,0 +1,14 @@
return {
-- display images inside neovim
"3rd/image.nvim",
lazy = true, -- load as dependency
opts = {
backend = "ueberzug",
max_width = 100,
max_height = 12,
max_height_window_percentage = math.huge,
max_width_window_percentage = math.huge,
window_overlap_clear_enabled = true,
window_overlap_clear_ft_ignore = { "cmp_menu", "cmp_docs", "" },
},
}

View File

@@ -1,7 +1,7 @@
return { return {
-- show indentation lines -- show indentation lines
"lukas-reineke/indent-blankline.nvim", "lukas-reineke/indent-blankline.nvim",
event = "BufReadPre", lazy = false,
main = "ibl", main = "ibl",
opts = {}, opts = {},
} }

View File

@@ -0,0 +1,10 @@
return {
-- open jupyter notebooks as their plain text alternatives
"GCBallesteros/jupytext.nvim",
lazy = true, -- load as dependency
opts = {
style = "markdown",
output_extension = "md",
force_ft = "markdown",
},
}

View File

@@ -1,6 +1,7 @@
return { return {
-- show function signature while typing -- show function signature while typing
"ray-x/lsp_signature.nvim", "ray-x/lsp_signature.nvim",
lazy = false,
opts = { opts = {
bind = true, bind = true,
handler_opts = { handler_opts = {

View File

@@ -4,26 +4,10 @@ return {
dependencies = { dependencies = {
"nvim-tree/nvim-web-devicons", "nvim-tree/nvim-web-devicons",
"tiyn/tccs.nvim", "tiyn/tccs.nvim",
{
"f-person/git-blame.nvim", "f-person/git-blame.nvim",
config = function()
vim.g.gitblame_display_virtual_text = 0
end,
},
{
"tiyn/action-hints.nvim", "tiyn/action-hints.nvim",
config = function()
require("action-hints").setup({
template = {
-- definition = { text = "D", color = "#add8e6" },
-- references = { text = "R%s", color = "#ff6666" },
definition = { text = Definition_sign, color = "#add8e6" },
references = { text = Reference_sign, color = "#ff6666" },
},
})
end,
},
}, },
lazy = false,
opts = { opts = {
options = { options = {
globalstatus = true, globalstatus = true,

View File

@@ -0,0 +1,11 @@
return {
-- snippet support
"l3mon4d3/luasnip",
version = "v2.*",
dependencies = { "saadparwaiz1/cmp_luasnip" },
lazy = true, -- load as dependency
-- build = "make install_jsregexp",
config = function()
require("luasnip.loaders.from_snipmate").lazy_load()
end,
}

View File

@@ -0,0 +1,23 @@
return {
-- bridge mason and null-ls
"jay-babu/mason-null-ls.nvim",
lazy = true, -- load as dependency
opts = {
automatic_installation = true,
ensure_installed = {
-- assembler
"asmfmt",
-- lua
"stylua",
-- markdown
"mdformat",
-- python
"isort",
"yapf",
-- shell
"shfmt",
-- yaml
"yamlfmt",
},
},
}

View File

@@ -2,49 +2,9 @@ return {
-- lang server installations -- lang server installations
"williamboman/mason.nvim", "williamboman/mason.nvim",
dependencies = { dependencies = {
{
"nvimtools/none-ls.nvim", "nvimtools/none-ls.nvim",
config = function()
require("null-ls").setup({
sources = {
-- assembler
require("null-ls").builtins.formatting.asmfmt,
-- lua
require("null-ls").builtins.formatting.stylua,
-- markdown
require("null-ls").builtins.formatting.mdformat,
-- python
require("null-ls").builtins.formatting.isort,
require("null-ls").builtins.formatting.yapf,
-- shell
require("null-ls").builtins.formatting.shfmt,
-- yaml
require("null-ls").builtins.formatting.yamlfmt,
},
})
end,
},
{
"jay-babu/mason-null-ls.nvim", "jay-babu/mason-null-ls.nvim",
opts = {
automatic_installation = true,
ensure_installed = {
-- assembler
"asmfmt",
-- lua
"stylua",
-- markdown
"mdformat",
-- python
"isort",
"yapf",
-- shell
"shfmt",
-- yaml
"yamlfmt",
},
},
},
}, },
lazy = false,
opts = { ui = { icons = Install_signs } }, opts = { ui = { icons = Install_signs } },
} }

View File

@@ -1,5 +1,6 @@
return { return {
-- decorations for the current line mode -- decorations for the current line mode
"mvllow/modes.nvim", "mvllow/modes.nvim",
lazy = false,
opts = {}, opts = {},
} }

View File

@@ -1,108 +1,14 @@
return { return {
-- jupyter notebook support -- jupyter notebook support
"benlubas/molten-nvim", "benlubas/molten-nvim",
build = ":UpdateRemotePlugins",
version = "^1.0.0", version = "^1.0.0",
dependencies = { dependencies = {
{
"3rd/image.nvim", "3rd/image.nvim",
opts = {
backend = "ueberzug",
max_width = 100,
max_height = 12,
max_height_window_percentage = math.huge,
max_width_window_percentage = math.huge,
window_overlap_clear_enabled = true,
window_overlap_clear_ft_ignore = { "cmp_menu", "cmp_docs", "" },
},
},
{
"quarto-dev/quarto-nvim", "quarto-dev/quarto-nvim",
dependencies = {
"jmbuhr/otter.nvim",
"nvim-treesitter/nvim-treesitter",
},
keys = {
{
"<leader>rc",
function()
require("quarto.runner").run_cell()
end,
desc = "Quarto: Run cell",
},
{
"<leader>ra",
function()
require("quarto.runner").run_above()
end,
desc = "Quarto: Run cell and above",
},
{
"<leader>rA",
function()
require("quarto.runner").run_all()
end,
desc = "Quarto: Run all cells",
},
{
"<leader>rl",
function()
require("quarto.runner").run_line()
end,
desc = "Quarto: Run line",
},
{
"<leader>rr",
function()
require("quarto.runner").run_range()
end,
desc = "Quarto: Run visual range",
},
{
"<leader>rL",
function()
require("quarto.runner").run_all(true)
end,
desc = "Quarto: Run all cells of all languages",
},
},
opts = {
lspFeatures = {
languages = { "python" },
chunks = "all",
diagnostics = {
enabled = true,
triggers = { "BufWritePost" },
},
completion = {
enabled = true,
},
},
codeRunner = {
enabled = true,
default_method = "molten",
},
},
config = function(_, opts)
local quarto = require("quarto")
quarto.setup(opts)
vim.api.nvim_create_autocmd("FileType", {
pattern = "markdown",
callback = function()
quarto.activate()
end,
})
end,
},
{
"GCBallesteros/jupytext.nvim", "GCBallesteros/jupytext.nvim",
opts = {
style = "markdown",
output_extension = "md",
force_ft = "markdown",
}, },
}, lazy = false,
},
build = ":UpdateRemotePlugins",
init = function() init = function()
vim.g.molten_auto_open_output = false vim.g.molten_auto_open_output = false
vim.g.molten_wrap_output = true vim.g.molten_wrap_output = true

View File

@@ -1,6 +1,7 @@
return { return {
-- generate annotations automatically -- generate annotations automatically
"danymat/neogen", "danymat/neogen",
lazy = false,
opts = { opts = {
snippet_engine = "luasnip", snippet_engine = "luasnip",
}, },

View File

@@ -0,0 +1,24 @@
return {
-- inject lsp diagnostics, etc
"nvimtools/none-ls.nvim",
lazy = true, -- load as dependency
config = function()
require("null-ls").setup({
sources = {
-- assembler
require("null-ls").builtins.formatting.asmfmt,
-- lua
require("null-ls").builtins.formatting.stylua,
-- markdown
require("null-ls").builtins.formatting.mdformat,
-- python
require("null-ls").builtins.formatting.isort,
require("null-ls").builtins.formatting.yapf,
-- shell
require("null-ls").builtins.formatting.shfmt,
-- yaml
require("null-ls").builtins.formatting.yamlfmt,
},
})
end,
}

View File

@@ -4,22 +4,13 @@ return {
dependencies = { dependencies = {
"nvim-lua/plenary.nvim", "nvim-lua/plenary.nvim",
"onsails/lspkind-nvim", "onsails/lspkind-nvim",
-- cmp sources
"hrsh7th/cmp-buffer", "hrsh7th/cmp-buffer",
"hrsh7th/cmp-path", "hrsh7th/cmp-path",
"uga-rosa/cmp-dictionary", "uga-rosa/cmp-dictionary",
"lukas-reineke/cmp-under-comparator", "lukas-reineke/cmp-under-comparator",
-- luasnip
{
"l3mon4d3/luasnip", "l3mon4d3/luasnip",
config = function()
require("luasnip.loaders.from_snipmate").lazy_load()
end,
version = "v2.*",
-- build = "make install_jsregexp",
dependencies = "saadparwaiz1/cmp_luasnip",
},
}, },
lazy = false,
config = function() config = function()
local cmp = require("cmp") local cmp = require("cmp")
cmp.setup({ cmp.setup({

View File

@@ -1,6 +1,7 @@
return { return {
-- showing color of hex values, etc -- showing color of hex values, etc
"ChristianChiarulli/nvim-colorizer.lua", "ChristianChiarulli/nvim-colorizer.lua",
lazy = false,
opts = { opts = {
filetypes = { filetypes = {
"*", "*",

View File

@@ -1,8 +1,8 @@
return { return {
-- lillypond integration -- lillypond integration
"martineausimon/nvim-lilypond-suite", "martineausimon/nvim-lilypond-suite",
ft = "lilypond", dependencies = { "uga-rosa/cmp-dictionary" },
dependencies = "uga-rosa/cmp-dictionary", ft = { "lilypond" },
opts = { opts = {
lilypond = { lilypond = {
mappings = { mappings = {

View File

@@ -3,22 +3,9 @@ return {
"neovim/nvim-lspconfig", "neovim/nvim-lspconfig",
dependencies = { dependencies = {
"williamboman/mason-lspconfig.nvim", "williamboman/mason-lspconfig.nvim",
{
"mrcjkb/rustaceanvim",
version = "^6",
lazy = false,
},
{
"hrsh7th/cmp-nvim-lsp", "hrsh7th/cmp-nvim-lsp",
config = function()
Capabilities = require("cmp_nvim_lsp").default_capabilities()
Capabilities.textDocument.foldingRange = {
dynamicRegistration = false,
lineFoldingOnly = true,
}
end,
},
}, },
lazy = false,
opts = { opts = {
automatic_setup = true, automatic_setup = true,
ensure_installed = { ensure_installed = {
@@ -69,12 +56,17 @@ return {
}, },
pyright = {}, pyright = {},
} }
local capabilities = require("cmp_nvim_lsp").default_capabilities()
capabilities.textDocument.foldingRange = {
dynamicRegistration = false,
lineFoldingOnly = true,
}
for name, config in pairs(servers) do for name, config in pairs(servers) do
vim.lsp.config( vim.lsp.config(
name, name,
vim.tbl_extend("force", config, { vim.tbl_extend("force", config, {
on_attach = on_attach, on_attach = on_attach,
capabilities = Capabilities, capabilities = capabilities,
flags = default_flags, flags = default_flags,
}) })
) )

View File

@@ -5,6 +5,7 @@ return {
"kevinhwang91/nvim-hlslens", "kevinhwang91/nvim-hlslens",
"lewis6991/gitsigns.nvim", "lewis6991/gitsigns.nvim",
}, },
lazy = false,
opts = { opts = {
marks = { marks = {
Cursor = { highlight = "Normal" }, Cursor = { highlight = "Normal" },

View File

@@ -2,6 +2,6 @@ return {
-- additional quote/parantheses funtions -- additional quote/parantheses funtions
"kylechui/nvim-surround", "kylechui/nvim-surround",
version = "*", version = "*",
event = "VeryLazy", lazy = false,
opts = {}, opts = {},
} }

View File

@@ -1,13 +1,10 @@
return { return {
-- fileexplorer on the side -- fileexplorer on the side
"nvim-tree/nvim-tree.lua", "nvim-tree/nvim-tree.lua",
cmd = "NvimTreeToggle",
dependencies = { dependencies = {
{
"nvim-tree/nvim-web-devicons", "nvim-tree/nvim-web-devicons",
lazy = true,
},
}, },
cmd = { "NvimTreeToggle" },
keys = { keys = {
{ {
"<F2>", "<F2>",

View File

@@ -3,19 +3,10 @@ return {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
build = ":TSUpdate", build = ":TSUpdate",
dependencies = { dependencies = {
-- automatically close html-tags "windwp/nvim-ts-autotag", -- automatically close html-tags
{
"windwp/nvim-ts-autotag",
opts = {
opts = {
enable_close = true,
enable_rename = true,
},
},
},
-- 'p00f/nvim-ts-rainbow', -- color brackets
"nvim-treesitter/nvim-treesitter-context", "nvim-treesitter/nvim-treesitter-context",
}, },
lazy = false,
config = function() config = function()
local treesitter = require("nvim-treesitter") local treesitter = require("nvim-treesitter")
treesitter.setup() treesitter.setup()

View File

@@ -0,0 +1,11 @@
return {
-- automatically close tags with treesitter
"windwp/nvim-ts-autotag",
lazy = true, -- load as dependency
opts = {
opts = {
enable_close = true,
enable_rename = true,
},
},
}

View File

@@ -0,0 +1,8 @@
return {
-- git blame support
"f-person/git-blame.nvim",
lazy = true,
config = function()
vim.g.gitblame_display_virtual_text = 0
end,
}

View File

@@ -1,127 +1,11 @@
return { return {
-- ollama llm integration -- ollama llm integration
"huynle/ogpt.nvim", "huynle/ogpt.nvim",
event = "VeryLazy",
dependencies = { dependencies = {
"MunifTanjim/nui.nvim", "MunifTanjim/nui.nvim",
"nvim-lua/plenary.nvim", "nvim-lua/plenary.nvim",
"nvim-telescope/telescope.nvim", "nvim-telescope/telescope.nvim",
{
"folke/edgy.nvim", "folke/edgy.nvim",
event = "VeryLazy",
init = function()
vim.opt.laststatus = 3
vim.opt.splitkeep = "screen" -- or "topline" or "screen"
end,
opts = {
exit_when_last = false,
animate = {
enabled = false,
},
wo = {
winbar = true,
winfixwidth = true,
winfixheight = false,
winhighlight = "WinBar:EdgyWinBar,Normal:EdgyNormal",
spell = false,
signcolumn = "no",
},
keys = {
-- -- close window
["q"] = function(win)
win:close()
end,
-- close sidebar
["Q"] = function(win)
win.view.edgebar:close()
end,
-- increase width
["<S-Right>"] = function(win)
win:resize("width", 3)
end,
-- decrease width
["<S-Left>"] = function(win)
win:resize("width", -3)
end,
-- increase height
["<S-Up>"] = function(win)
win:resize("height", 3)
end,
-- decrease height
["<S-Down>"] = function(win)
win:resize("height", -3)
end,
},
right = {
{
title = "OGPT Popup",
ft = "ogpt-popup",
size = { width = 0.2 },
wo = {
wrap = true,
},
},
{
title = "OGPT Parameters",
ft = "ogpt-parameters-window",
size = { height = 6 },
wo = {
wrap = true,
},
},
{
title = "OGPT Template",
ft = "ogpt-template",
size = { height = 6 },
},
{
title = "OGPT Sessions",
ft = "ogpt-sessions",
size = { height = 6 },
wo = {
wrap = true,
},
},
{
title = "OGPT System Input",
ft = "ogpt-system-window",
size = { height = 6 },
},
{
title = "OGPT",
ft = "ogpt-window",
size = { height = 0.5 },
wo = {
wrap = true,
},
},
{
title = "OGPT {{{selection}}}",
ft = "ogpt-selection",
size = { width = 80, height = 4 },
wo = {
wrap = true,
},
},
{
title = "OGPt {{{instruction}}}",
ft = "ogpt-instruction",
size = { width = 80, height = 4 },
wo = {
wrap = true,
},
},
{
title = "OGPT Chat",
ft = "ogpt-input",
size = { width = 80, height = 4 },
wo = {
wrap = true,
},
},
},
},
},
}, },
keys = { keys = {
{ {

View File

@@ -7,7 +7,12 @@ return {
"hrsh7th/nvim-cmp", "hrsh7th/nvim-cmp",
"nvim-telescope/telescope.nvim", "nvim-telescope/telescope.nvim",
}, },
lazy = false,
opts = { opts = {
enable_keymaps = false, enable_keymaps = false,
init_filetypes = { "yaml", "tex" }
}, },
config = function(_, opts)
require("papis").setup(opts)
end,
} }

View File

@@ -1,10 +1,10 @@
return { return {
-- navigate between projects using telescope -- navigate between projects using telescope
"gnikdroy/projections.nvim", "gnikdroy/projections.nvim",
branch = "pre_release",
dependencies = { dependencies = {
"nvim-telescope/telescope.nvim", "nvim-telescope/telescope.nvim",
}, },
branch = "pre_release",
keys = { keys = {
{ {
"<leader>fp", "<leader>fp",

View File

@@ -0,0 +1,80 @@
return {
-- quarto support
"quarto-dev/quarto-nvim",
dependencies = {
"jmbuhr/otter.nvim",
"nvim-treesitter/nvim-treesitter",
},
lazy = true, -- load as dependency
keys = {
{
"<leader>rc",
function()
require("quarto.runner").run_cell()
end,
desc = "Quarto: Run cell",
},
{
"<leader>ra",
function()
require("quarto.runner").run_above()
end,
desc = "Quarto: Run cell and above",
},
{
"<leader>rA",
function()
require("quarto.runner").run_all()
end,
desc = "Quarto: Run all cells",
},
{
"<leader>rl",
function()
require("quarto.runner").run_line()
end,
desc = "Quarto: Run line",
},
{
"<leader>rr",
function()
require("quarto.runner").run_range()
end,
desc = "Quarto: Run visual range",
},
{
"<leader>rL",
function()
require("quarto.runner").run_all(true)
end,
desc = "Quarto: Run all cells of all languages",
},
},
opts = {
lspFeatures = {
languages = { "python" },
chunks = "all",
diagnostics = {
enabled = true,
triggers = { "BufWritePost" },
},
completion = {
enabled = true,
},
},
codeRunner = {
enabled = true,
default_method = "molten",
},
},
config = function(_, opts)
local quarto = require("quarto")
quarto.setup(opts)
vim.api.nvim_create_autocmd("FileType", {
pattern = "markdown",
callback = function()
quarto.activate()
end,
})
end,
}

View File

@@ -5,6 +5,10 @@ return {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
"nvim-tree/nvim-web-devicons", "nvim-tree/nvim-web-devicons",
}, },
ft = { "markdown" },
cond = function()
return vim.fn.expand("%:e") ~= "ipynb"
end,
---@module 'render-markdown' ---@module 'render-markdown'
---@type render.md.UserConfig ---@type render.md.UserConfig
opts = { opts = {

View File

@@ -1,6 +1,6 @@
return { return {
-- color and improve git merge conflicts -- color and improve git merge conflicts
"spacedentist/resolve.nvim", "spacedentist/resolve.nvim",
event = { "BufReadPre", "BufNewFile" }, lazy = false,
opts = {}, opts = {},
} }

View File

@@ -0,0 +1,6 @@
return {
-- support for rust
"mrcjkb/rustaceanvim",
version = "^6",
lazy = false, -- this plugin is already lazy
}

View File

@@ -0,0 +1,6 @@
return {
-- fzf support for telescope
"nvim-telescope/telescope-fzf-native.nvim",
build = "make",
lazy = true, -- load as dependency
}

View File

@@ -4,7 +4,7 @@ return {
version = "*", version = "*",
dependencies = { dependencies = {
"nvim-lua/plenary.nvim", "nvim-lua/plenary.nvim",
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" }, "nvim-telescope/telescope-fzf-native.nvim",
"archie-judd/telescope-words.nvim", "archie-judd/telescope-words.nvim",
}, },
keys = { keys = {

View File

@@ -1,7 +1,7 @@
return { return {
-- display inline diagnostics -- display inline diagnostics
"rachartier/tiny-inline-diagnostic.nvim", "rachartier/tiny-inline-diagnostic.nvim",
event = "VeryLazy", lazy = false,
priority = 1000, priority = 1000,
opts = { opts = {
preset = "classic", preset = "classic",

View File

@@ -2,6 +2,7 @@ return {
-- todo symbols and highlighting -- todo symbols and highlighting
"folke/todo-comments.nvim", "folke/todo-comments.nvim",
dependencies = { "nvim-lua/plenary.nvim" }, dependencies = { "nvim-lua/plenary.nvim" },
lazy = false,
opts = { opts = {
keywords = { keywords = {
ERRO = { icon = Error_sign, color = "error" }, ERRO = { icon = Error_sign, color = "error" },

View File

@@ -1,12 +1,7 @@
return { return {
-- list of errors -- list of errors
"folke/trouble.nvim", "folke/trouble.nvim",
dependencies = { dependencies = { "nvim-tree/nvim-web-devicons" },
{
"nvim-tree/nvim-web-devicons",
lazy = true,
},
},
keys = { keys = {
{ {
"<F4>", "<F4>",

View File

@@ -1,4 +1,5 @@
return { return {
-- highlight other occurences of the same word -- highlight other occurences of the same word
"RRethy/vim-illuminate", "RRethy/vim-illuminate",
lazy = false,
} }

View File

@@ -1,6 +1,6 @@
return { return {
-- highlighting for the viper verification language -- highlighting for the viper verification language
"tiyn/viper.nvim", "tiyn/viper.nvim",
event = { "BufReadPre *.vpr", "FileType viper" }, ft = { "viper" },
opts = {} opts = {},
} }

View File

@@ -1,6 +1,7 @@
return { return {
-- improved keybindings, previewing them -- improved keybindings, previewing them
"folke/which-key.nvim", "folke/which-key.nvim",
lazy = false,
config = function() config = function()
require("which-key").add({ require("which-key").add({
{ mode = "n", "g", desc = "LSP: goto" }, { mode = "n", "g", desc = "LSP: goto" },

View File

@@ -2,15 +2,13 @@ return {
-- improved wild menu -- improved wild menu
"gelguy/wilder.nvim", "gelguy/wilder.nvim",
dependencies = { dependencies = {
{
"nvim-tree/nvim-web-devicons", "nvim-tree/nvim-web-devicons",
lazy = true,
},
"roxma/nvim-yarp", "roxma/nvim-yarp",
"roxma/vim-hug-neovim-rpc", "roxma/vim-hug-neovim-rpc",
"romgrk/fzy-lua-native", "romgrk/fzy-lua-native",
"nixprime/cpsm", "nixprime/cpsm",
}, },
lazy = false,
opts = { opts = {
modes = { ":", "/", "?" }, modes = { ":", "/", "?" },
accept_key = "<CR>", accept_key = "<CR>",