1
0
mirror of https://github.com/tiyn/dotfiles.git synced 2026-05-01 18:11:39 +02:00

Compare commits

...

5 Commits

Author SHA1 Message Date
17a2e9f0ca NVIM: added optional dependency for Telescope 2026-03-26 08:12:01 +01:00
141988ba94 NVIM: Updated major version of telescope 2026-03-26 08:10:01 +01:00
d1e73e1c7d NVIM: Split opts and config for lazy plugins 2026-03-26 07:53:23 +01:00
3c3cfd333d NVIM: Keymap layout is now Lazy-centric 2026-03-26 07:01:33 +01:00
0f06cc10c8 NVIM: Update dictionaries 2026-03-26 04:51:32 +01:00
52 changed files with 1051 additions and 1142 deletions

View File

@@ -1,7 +1 @@
vim.api.nvim_create_autocmd({ "VimEnter" }, {
callback = function()
require("csvview").enable()
end,
})
vim.o.textwidth = 0 vim.o.textwidth = 0

View File

@@ -1,61 +0,0 @@
local wk = require("which-key")
local fluidsynth_job = nil
-- setup interactive midi player
wk.add({
{ mode = "n", "<leader>p", desc = "Lilypond: output" },
{
mode = "n",
"<leader>pm",
function()
local midi = vim.fn.expand("%:r") .. ".midi"
if fluidsynth_job then
vim.fn.jobstop(fluidsynth_job)
fluidsynth_job = nil
print("fluidsynth stopped")
return
end
fluidsynth_job = vim.fn.jobstart({ "fluidsynth", "-i", midi })
print("fluidsynth playing (Ctrl-C to stop)")
end,
desc = "Lilypond: output MIDI",
buffer = true,
},
{
mode = "n",
"<leader>pp",
"<cmd>Viewer<CR>",
desc = "Lilypond: open PDF",
buffer = true,
},
{
mode = "n",
"<C-c>",
function()
if fluidsynth_job then
vim.fn.jobstop(fluidsynth_job)
fluidsynth_job = nil
print("fluidsynth stopped")
else
vim.cmd("normal! <C-c>")
end
end,
desc = "Stop MIDI playback",
buffer = true,
},
})
-- autostart
if vim.b.first_start_lilypond then
return
end
vim.b.first_start_lilypond = true
vim.schedule(function()
if vim.fn.exists(":Viewer") == 2 then
vim.cmd.Viewer()
end
end)

View File

@@ -1,23 +1,9 @@
vim.api.nvim_create_autocmd({ "VimEnter" }, {
callback = function()
require("tidy").opts.enabled_on_save = false
end,
})
vim.api.nvim_create_autocmd({ "BufEnter" }, { vim.api.nvim_create_autocmd({ "BufEnter" }, {
callback = function() callback = function()
vim.o.foldenable = false vim.o.foldenable = false
end, end,
}) })
vim.api.nvim_create_autocmd({ "BufLeave" }, {
callback = function()
if vim.o.ma then
require("tidy").run()
end
end,
})
vim.api.nvim_create_autocmd({ "VimLeave" }, { vim.api.nvim_create_autocmd({ "VimLeave" }, {
callback = function() callback = function()
os.execute("mdclear " .. vim.fn.expand("%")) os.execute("mdclear " .. vim.fn.expand("%"))
@@ -27,14 +13,3 @@ vim.api.nvim_create_autocmd({ "VimLeave" }, {
vim.o.shiftwidth = 2 vim.o.shiftwidth = 2
vim.o.softtabstop = 2 vim.o.softtabstop = 2
vim.o.textwidth = 100 vim.o.textwidth = 100
-- frabjous/knap
vim.keymap.set(
"n",
"<leader>p",
require("knap").toggle_autopreviewing,
{ noremap = true, desc = "Knap: toggle autopreview" }
)
-- benlubas/molten-nvim
require("quarto").activate()

View File

@@ -1,18 +1,3 @@
vim.api.nvim_create_autocmd({ "VimEnter" }, {
callback = function()
require("tidy").opts.enabled_on_save = false
require("knap").toggle_autopreviewing()
end,
})
vim.api.nvim_create_autocmd({ "BufLeave" }, {
callback = function()
if vim.o.ma then
require("tidy").run()
end
end,
})
vim.api.nvim_create_autocmd({ "VimLeave" }, { vim.api.nvim_create_autocmd({ "VimLeave" }, {
callback = function() callback = function()
os.execute("texclear " .. vim.fn.expand("%")) os.execute("texclear " .. vim.fn.expand("%"))
@@ -22,25 +7,3 @@ vim.api.nvim_create_autocmd({ "VimLeave" }, {
vim.o.shiftwidth = 2 vim.o.shiftwidth = 2
vim.o.softtabstop = 2 vim.o.softtabstop = 2
vim.o.textwidth = 80 vim.o.textwidth = 80
local wk = require("which-key")
-- frabjous/knap
wk.add({
{
mode = "n",
"<leader>p",
require("knap").toggle_autopreviewing,
desc = "Knap: toggle autopreview",
buffer = true,
},
{
mode = { "n", "v", "i" },
"<F7>",
function()
require("knap").forward_jump()
end,
desc = "Knap: jump to cursor",
buffer = true,
},
})

View File

@@ -2,8 +2,8 @@
"action-hints.nvim": { "branch": "main", "commit": "ac72c23c2e901084e0c08a743942d8d7b8c560de" }, "action-hints.nvim": { "branch": "main", "commit": "ac72c23c2e901084e0c08a743942d8d7b8c560de" },
"auto-session": { "branch": "main", "commit": "62437532b38495551410b3f377bcf4aaac574ebe" }, "auto-session": { "branch": "main", "commit": "62437532b38495551410b3f377bcf4aaac574ebe" },
"barbecue": { "branch": "main", "commit": "cd7e7da622d68136e13721865b4d919efd6325ed" }, "barbecue": { "branch": "main", "commit": "cd7e7da622d68136e13721865b4d919efd6325ed" },
"blink.download": { "branch": "main", "commit": "86361b98f3c8317904a08e3bd12cf3cdcbe3e925" }, "blink.download": { "branch": "main", "commit": "b68335357e9fcc2b20445acfcee48034376d64b5" },
"blink.pairs": { "branch": "main", "commit": "5a34bf6ea72340a70083548e186d745ac4882899" }, "blink.pairs": { "branch": "main", "commit": "4e43012356d33a26f69eae475f746fbe9f325f44" },
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-dictionary": { "branch": "main", "commit": "fecc3ef2435c2be35818f8fcac4a6c5655f3a8f0" }, "cmp-dictionary": { "branch": "main", "commit": "fecc3ef2435c2be35818f8fcac4a6c5655f3a8f0" },
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" }, "cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
@@ -17,24 +17,24 @@
"dial.nvim": { "branch": "master", "commit": "f2634758455cfa52a8acea6f142dcd6271a1bf57" }, "dial.nvim": { "branch": "master", "commit": "f2634758455cfa52a8acea6f142dcd6271a1bf57" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"edgy.nvim": { "branch": "main", "commit": "8bfd2808994a988c975694122f68624b8a219f5f" }, "edgy.nvim": { "branch": "main", "commit": "8bfd2808994a988c975694122f68624b8a219f5f" },
"file-renamer.nvim": { "branch": "master", "commit": "893e8e7bf0050daf1b94a429bf7d14146f1b78df" }, "file-renamer.nvim": { "branch": "master", "commit": "09eb64474be371ac884b424b9e15cc31406c3b72" },
"fterm.nvim": { "branch": "master", "commit": "d1320892cc2ebab472935242d9d992a2c9570180" }, "fterm.nvim": { "branch": "master", "commit": "d1320892cc2ebab472935242d9d992a2c9570180" },
"fzy-lua-native": { "branch": "master", "commit": "9d720745d5c2fb563c0d86c17d77612a3519c506" }, "fzy-lua-native": { "branch": "master", "commit": "9d720745d5c2fb563c0d86c17d77612a3519c506" },
"git-blame.nvim": { "branch": "main", "commit": "5c536e2d4134d064aa3f41575280bc8a2a0e03d7" }, "git-blame.nvim": { "branch": "main", "commit": "5c536e2d4134d064aa3f41575280bc8a2a0e03d7" },
"gitsigns.nvim": { "branch": "main", "commit": "7c4faa3540d0781a28588cafbd4dd187a28ac6e3" }, "gitsigns.nvim": { "branch": "main", "commit": "0a80125bace82d82847d40bc2c38a22d62c6dc2d" },
"goto-preview": { "branch": "main", "commit": "d2d6923c9b9e0e43f0b9b566f261a8b1ae016540" }, "goto-preview": { "branch": "main", "commit": "d2d6923c9b9e0e43f0b9b566f261a8b1ae016540" },
"image.nvim": { "branch": "master", "commit": "da2be65c153ba15a14a342b05591652a6df70d58" }, "image.nvim": { "branch": "master", "commit": "da2be65c153ba15a14a342b05591652a6df70d58" },
"indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" }, "indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" },
"jupytext.nvim": { "branch": "main", "commit": "c8baf3ad344c59b3abd461ecc17fc16ec44d0f7b" }, "jupytext.nvim": { "branch": "main", "commit": "c8baf3ad344c59b3abd461ecc17fc16ec44d0f7b" },
"knap": { "branch": "main", "commit": "7db44d0bb760120142cc1e8f43e44976de59c2f6" }, "knap": { "branch": "main", "commit": "7db44d0bb760120142cc1e8f43e44976de59c2f6" },
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
"leap.nvim": { "branch": "main", "commit": "774c452da3521d4434f912b6ca6dd97318aca4b0" }, "leap.nvim": { "branch": "main", "commit": "5dd5a60c58d4423e8cfbf3ca548235d82dec85a2" },
"logger.nvim": { "branch": "main", "commit": "63dd10c9b9a159fd6cfe08435d9606384ff103c5" }, "logger.nvim": { "branch": "main", "commit": "63dd10c9b9a159fd6cfe08435d9606384ff103c5" },
"lsp_signature.nvim": { "branch": "master", "commit": "af7e4074d85d785cf6614352ba9ad3b28a1f8a56" }, "lsp_signature.nvim": { "branch": "master", "commit": "af7e4074d85d785cf6614352ba9ad3b28a1f8a56" },
"lspkind-nvim": { "branch": "master", "commit": "c7274c48137396526b59d86232eabcdc7fed8a32" }, "lspkind-nvim": { "branch": "master", "commit": "c7274c48137396526b59d86232eabcdc7fed8a32" },
"lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" }, "lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
"luasnip": { "branch": "master", "commit": "5a1e39223db9a0498024a77b8441169d260c8c25" }, "luasnip": { "branch": "master", "commit": "5a1e39223db9a0498024a77b8441169d260c8c25" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "a676ab7282da8d651e175118bcf54483ca11e46d" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "a979821a975897b88493843301950c456a725982" },
"mason-null-ls.nvim": { "branch": "main", "commit": "8e7806acaa87fae64f0bfde25bb4b87c18bd19b4" }, "mason-null-ls.nvim": { "branch": "main", "commit": "8e7806acaa87fae64f0bfde25bb4b87c18bd19b4" },
"mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" }, "mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
"modes.nvim": { "branch": "main", "commit": "2badf8771dbb2d1e1066fd6a5dddaad2fc836e72" }, "modes.nvim": { "branch": "main", "commit": "2badf8771dbb2d1e1066fd6a5dddaad2fc836e72" },
@@ -42,18 +42,18 @@
"neogen": { "branch": "main", "commit": "23e7e9f883d01289ebd90e98025acc860ea26366" }, "neogen": { "branch": "main", "commit": "23e7e9f883d01289ebd90e98025acc860ea26366" },
"none-ls.nvim": { "branch": "main", "commit": "c9317c2a8629d4e39e7cf47be74cb67f3ab37cda" }, "none-ls.nvim": { "branch": "main", "commit": "c9317c2a8629d4e39e7cf47be74cb67f3ab37cda" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-cmp": { "branch": "main", "commit": "da88697d7f45d16852c6b2769dc52387d1ddc45f" }, "nvim-cmp": { "branch": "main", "commit": "a1d504892f2bc56c2e79b65c6faded2fd21f3eca" },
"nvim-colorizer.lua": { "branch": "master", "commit": "6ed09146ee637006367b5e225be6208a1ea02579" }, "nvim-colorizer.lua": { "branch": "master", "commit": "6ed09146ee637006367b5e225be6208a1ea02579" },
"nvim-docs-view": { "branch": "master", "commit": "5676cc094d426edd39134b1eefca2cab441cca8a" }, "nvim-docs-view": { "branch": "master", "commit": "5676cc094d426edd39134b1eefca2cab441cca8a" },
"nvim-hlslens": { "branch": "main", "commit": "be2d7b2be01860b5445a007ff2bc72b29896db6b" }, "nvim-hlslens": { "branch": "main", "commit": "be2d7b2be01860b5445a007ff2bc72b29896db6b" },
"nvim-lilypond-suite": { "branch": "main", "commit": "a1a313fd6028a196cc9aaa8c8501838fe8cc8e2a" }, "nvim-lilypond-suite": { "branch": "main", "commit": "a1a313fd6028a196cc9aaa8c8501838fe8cc8e2a" },
"nvim-lspconfig": { "branch": "master", "commit": "dd261ad5266ab5bbec249d21efeceda98ff3e1a6" }, "nvim-lspconfig": { "branch": "master", "commit": "46204c8fdaa36a9aa3768780450e4bc7a210025f" },
"nvim-navic": { "branch": "master", "commit": "f5eba192f39b453675d115351808bd51276d9de5" }, "nvim-navic": { "branch": "master", "commit": "f5eba192f39b453675d115351808bd51276d9de5" },
"nvim-scrollbar": { "branch": "main", "commit": "f8e87b96cd6362ef8579be456afee3b38fd7e2a8" }, "nvim-scrollbar": { "branch": "main", "commit": "f8e87b96cd6362ef8579be456afee3b38fd7e2a8" },
"nvim-surround": { "branch": "main", "commit": "61319d4bd1c5e336e197defa15bd104c51f0fb29" }, "nvim-surround": { "branch": "main", "commit": "61319d4bd1c5e336e197defa15bd104c51f0fb29" },
"nvim-tree.lua": { "branch": "master", "commit": "b3772adec8db61ba9098c5624a0823a77be3a23d" }, "nvim-tree.lua": { "branch": "master", "commit": "6eaf74c9919d121d2806ac3c20e757e66bd29c31" },
"nvim-treesitter": { "branch": "main", "commit": "2f5d4c3f3c675962242096bcc8e586d76dd72eb2" }, "nvim-treesitter": { "branch": "main", "commit": "6620ae1c44dfa8623b22d0cbf873a9e8d073b849" },
"nvim-treesitter-context": { "branch": "master", "commit": "9a8e39993e3b895601bf8227124a48ea8268149e" }, "nvim-treesitter-context": { "branch": "master", "commit": "adf4b6b0420b7be6c717ef0ac7993183d6c201b1" },
"nvim-ts-autotag": { "branch": "main", "commit": "8e1c0a389f20bf7f5b0dd0e00306c1247bda2595" }, "nvim-ts-autotag": { "branch": "main", "commit": "8e1c0a389f20bf7f5b0dd0e00306c1247bda2595" },
"nvim-ufo": { "branch": "main", "commit": "ab3eb124062422d276fae49e0dd63b3ad1062cfc" }, "nvim-ufo": { "branch": "main", "commit": "ab3eb124062422d276fae49e0dd63b3ad1062cfc" },
"nvim-web-devicons": { "branch": "master", "commit": "d7462543c9e366c0d196c7f67a945eaaf5d99414" }, "nvim-web-devicons": { "branch": "master", "commit": "d7462543c9e366c0d196c7f67a945eaaf5d99414" },
@@ -75,14 +75,14 @@
"spelunker.vim": { "branch": "master", "commit": "a0bc530f62798bbe053905555a4aa9ed713485eb" }, "spelunker.vim": { "branch": "master", "commit": "a0bc530f62798bbe053905555a4aa9ed713485eb" },
"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": "181bc2d41e7be888a1fcde0ed960d4632fde2e6e" }, "tccs.nvim": { "branch": "master", "commit": "23fabbb0a65517307e571f63fe7a3760670086fe" },
"telescope-words.nvim": { "branch": "main", "commit": "295d51fe1e525fee18c0c164ad0ae5fb23273aa0" }, "telescope-words.nvim": { "branch": "main", "commit": "295d51fe1e525fee18c0c164ad0ae5fb23273aa0" },
"telescope.nvim": { "branch": "master", "commit": "776b509f80dd49d8205b9b0d94485568236d1192" }, "telescope.nvim": { "branch": "master", "commit": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179" },
"tidy.nvim": { "branch": "main", "commit": "8b6921150b16f38f48a2459a844a0c2b4c916914" }, "tidy.nvim": { "branch": "main", "commit": "8b6921150b16f38f48a2459a844a0c2b4c916914" },
"tiny-inline-diagnostic.nvim": { "branch": "main", "commit": "ba133b3e932416e4b9507095731a6d7276878fe8" }, "tiny-inline-diagnostic.nvim": { "branch": "main", "commit": "ba133b3e932416e4b9507095731a6d7276878fe8" },
"todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" }, "todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
"treesj": { "branch": "main", "commit": "26bc2a8432ba3ea79ed6aa346fba780a3d372570" }, "treesj": { "branch": "main", "commit": "26bc2a8432ba3ea79ed6aa346fba780a3d372570" },
"treewalker.nvim": { "branch": "main", "commit": "7baacb0efbdc2ac523ede90e266d685bc2227673" }, "treewalker.nvim": { "branch": "main", "commit": "a37a12b6ae937c616d4cb16b5c26c07a85899b44" },
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" }, "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
"undotree": { "branch": "master", "commit": "6fa6b57cda8459e1e4b2ca34df702f55242f4e4d" }, "undotree": { "branch": "master", "commit": "6fa6b57cda8459e1e4b2ca34df702f55242f4e4d" },
"vim-abolish": { "branch": "master", "commit": "dcbfe065297d31823561ba787f51056c147aa682" }, "vim-abolish": { "branch": "master", "commit": "dcbfe065297d31823561ba787f51056c147aa682" },

View File

@@ -49,6 +49,7 @@ Frevert
Freverts Freverts
Friesenturnier Friesenturnier
Gathering Gathering
Gondor
GrapheneOS GrapheneOS
Greater Greater
Grixis Grixis
@@ -80,6 +81,7 @@ Käte
LLMs LLMs
LightDM LightDM
LilyPond LilyPond
Line Dance
MTG MTG
Maarten Maarten
Magic Magic
@@ -150,6 +152,7 @@ Tornow
TrackPoint TrackPoint
Traefik Traefik
UDEV UDEV
Umbar
VIM VIM
Verdener Verdener
Weizman Weizman

View File

@@ -1,441 +1,42 @@
-- setup keymap function -- unmap unwanted commands
local lazygit = require("FTerm"):new({ cmd = "lazygit" }) vim.keymap.set("n", "Zt", "<NOP>", { noremap = true })
local telescope = require("telescope") vim.keymap.set("n", "ZT", "<NOP>", { noremap = true })
local wk = require("which-key") vim.keymap.set("n", "<Space>", "<NOP>", { noremap = true })
-- vim.keymap.set("n", "<F1>", "<NOP>", { noremap = true })
-- vim.keymap.set("n", "<F2>", "<NOP>", { noremap = true })
-- vim.keymap.set("n", "<F3>", "<NOP>", { noremap = true })
-- vim.keymap.set("n", "<F4>", "<NOP>", { noremap = true })
-- vim.keymap.set("n", "<F5>", "<NOP>", { noremap = true })
vim.keymap.set("n", "<F6>", "<NOP>", { noremap = true })
-- vim.keymap.set("n", "<F7>", "<NOP>", { noremap = true })
-- vim.keymap.set("n", "<F8>", "<NOP>", { noremap = true })
vim.keymap.set("n", "<F9>", "<NOP>", { noremap = true })
vim.keymap.set("n", "<F10>", "<NOP>", { noremap = true })
vim.keymap.set("n", "<F11>", "<NOP>", { noremap = true })
vim.keymap.set("n", "<F12>", "<NOP>", { noremap = true })
wk.add({ -- shortcuts for quitting
-- setup keymap groups vim.keymap.set("n", "ZA", ":xa<CR>", { desc = "Exit: write and quit all buffers", noremap = true })
{ mode = "n", "g", desc = "LSP: goto" }, vim.keymap.set("n", "ZQ", ":conf q<CR>", { desc = "Exit: quit current buffer", noremap = true })
{ mode = "n", "gp", desc = "LSP: preview" }, vim.keymap.set("n", "ZZ", ":x<CR>", { desc = "Exit: write and quit current buffer", noremap = true })
{ mode = "c", "w", desc = "Write" },
{ mode = "c", "w!", desc = "Write: overwrite" },
{ mode = "n", "<leader>a", desc = "AI" },
{ mode = "n", "<leader>g", desc = "Git" },
{ mode = "n", "<leader>f", desc = "Telescope: find" },
{ mode = "n", "<leader>gd", desc = "Git: diff" },
{ mode = "n", "<leader>s", desc = "Substitute" },
{ mode = "n", "<leader>t", desc = "Terminal" },
{ mode = "n", "<leader>r", desc = "Quarto" },
{ mode = "n", "<C-W>", desc = "Navigation" },
-- unmap unwanted commands
{ mode = "n", "Zt", "<NOP>", noremap = true },
{ mode = "n", "ZT", "<NOP>", noremap = true },
{ mode = "n", "<Space>", "<NOP>", noremap = true },
{ mode = "n", "<F1>", "<NOP>", noremap = true },
{ mode = "n", "<F2>", "<NOP>", noremap = true },
{ mode = "n", "<F3>", "<NOP>", noremap = true },
{ mode = "n", "<F4>", "<NOP>", noremap = true },
{ mode = "n", "<F5>", "<NOP>", noremap = true },
{ mode = "n", "<F6>", "<NOP>", noremap = true },
{ mode = "n", "<F7>", "<NOP>", noremap = true },
{ mode = "n", "<F8>", "<NOP>", noremap = true },
{ mode = "n", "<F9>", "<NOP>", noremap = true },
{ mode = "n", "<F10>", "<NOP>", noremap = true },
{ mode = "n", "<F11>", "<NOP>", noremap = true },
{ mode = "n", "<F12>", "<NOP>", noremap = true },
-- shortcuts for quitting
{ mode = "n", "ZA", ":xa<CR>", desc = "Exit: write and quit all buffers", noremap = true },
{ mode = "n", "ZQ", ":conf q<CR>", desc = "Exit: quit current buffer", noremap = true },
{ mode = "n", "ZZ", ":x<CR>", desc = "Exit: write and quit current buffer", noremap = true },
-- shortcut for split navigation
{ mode = "n", "<C-h>", "<C-w>h", desc = "Navigation: go to left window", noremap = true },
{ mode = "n", "<C-j>", "<C-w>j", desc = "Navigation: go to lower window", noremap = true },
{ mode = "n", "<C-k>", "<C-w>k", desc = "Navigation: go to upper window", noremap = true },
{ mode = "n", "<C-l>", "<C-w>l", desc = "Navigation: go to right window", noremap = true },
-- remap for dealing with word wrap
{ mode = "n", "j", "gj", desc = "Navigation: go down in wrapped lines", silent = true },
{ mode = "n", "k", "gk", desc = "Navigation: go up in wrapped lines", silent = true },
-- compiler for languages
{
mode = "n",
"<leader>c",
":w! | !compiler <c-r>%<CR>",
desc = "Compile: current file",
noremap = true,
},
{
mode = "n",
"w!!",
'execute "silent! write !sudo tee % >/dev/null" <bar> edit!',
desc = "Write: overwrite file over with sudo",
noremap = true,
},
-- tpope/vim-abolish
{
mode = "n",
"<leader>sa",
":%S//g<Left><Left>",
desc = "Substitute: free form",
noremap = true,
},
{
mode = "n",
"<leader>ss",
":%S/\\<<C-r><C-w>\\>//g<Left><Left>",
desc = "Substitute: word under cursor",
noremap = true,
},
-- simrat39/symbols-outline.nvim
{ mode = "n", "<F3>", ":Outline<CR>", desc = "CTags: toggle" },
-- nvim-tree/nvim-tree.lua
{ mode = "n", "<F2>", ":NvimTreeToggle toggle<CR>", desc = "File tree: toggle" },
-- mbbill/undotree
{ mode = "n", "<F1>", ":UndotreeToggle<CR>", desc = "Undo tree: toggle" },
-- amrbashir/nvim-docs-view
{
mode = "n",
"go",
":DocsViewToggle<CR>",
desc = "LSP: toggle documentation window",
noremap = true,
},
-- numtostr/fterm.nvim
{ mode = "n", "<leader>tt", require("FTerm").toggle, desc = "Terminal: open", noremap = true },
{
mode = "n",
"<leader>gt",
function()
lazygit:toggle()
end,
desc = "Git: open lazygit",
noremap = true,
},
{
mode = "n",
"<leader>tg",
function()
lazygit:toggle()
end,
desc = "Terminal: open lazygit",
noremap = true,
},
-- sindrets/diffview.nvim
{ mode = "n", "<leader>gdo", ":DiffviewOpen<CR>", desc = "Git: open diff" },
{ mode = "n", "<leader>gdc", ":DiffviewClose<CR>", desc = "Git: close diff" },
-- folke/trouble.nvim
{ mode = "n", "<F4>", ":Trouble diagnostics toggle<CR>", desc = "LSP: toggle error list" },
-- hrsh7th/nvim-cmp
{
mode = "n",
"gd",
function()
vim.lsp.buf.definition()
end,
desc = "LSP: goto definition",
noremap = true,
},
{
mode = "n",
"gD",
function()
vim.lsp.buf.declaration()
end,
desc = "LSP: goto declaration",
noremap = true,
},
{
mode = "n",
"gT",
function()
vim.lsp.buf.type_definition()
end,
desc = "LSP: goto type definition",
noremap = true,
},
{
mode = "n",
"gi",
function()
vim.lsp.buf.implementation()
end,
desc = "LSP: list implementation",
noremap = true,
},
{
mode = "n",
"gr",
function()
vim.lsp.buf.references()
end,
desc = "LSP: list references",
noremap = true,
},
{
mode = "n",
"<F8>",
function()
require("conform").format({ async = true, lsp_fallback = true })
end,
desc = "LSP: format",
noremap = true,
},
-- rmagatti/goto-preview
{
mode = "n",
"gpd",
function()
require("goto-preview").goto_preview_definition()
end,
desc = "LSP: preview definition",
noremap = true,
},
{
mode = "n",
"gpy",
function()
require("goto-preview").goto_preview_type_definition()
end,
desc = "LSP: preview type definition",
noremap = true,
},
{
mode = "n",
"gpi",
function()
require("goto-preview").goto_preview_implementation()
end,
desc = "LSP: list preview implementation",
noremap = true,
},
{
mode = "n",
"gpD",
function()
require("goto-preview").goto_preview_declaration()
end,
desc = "LSP: preview declaration",
noremap = true,
},
{
mode = "n",
"gpr",
function()
require("goto-preview").goto_preview_references()
end,
desc = "LSP: list preview references",
noremap = true,
},
{
mode = "n",
"gpc",
function()
require("goto-preview").close_all_win()
end,
desc = "LSP: close all preview windows",
noremap = true,
},
-- filipdutescu/renamer.nvim
{
mode = "n",
"<F5>",
function()
require("renamer").rename()
end,
desc = "LSP: rename",
noremap = true,
},
-- nvim-telescope/telescope.nvim
{
mode = "n",
"<leader>ff",
":Telescope find_files<CR>",
desc = "Telescope: find files",
noremap = true,
},
{
mode = "n",
"<leader>ff",
":Telescope find_files<CR>",
desc = "Telescope: find files",
noremap = true,
},
-- archie-judd/telescope-words.nvim
{
mode = "n",
"<leader>wd",
telescope.extensions.telescope_words.search_dictionary,
desc = "Telescope: search dictionary",
noremap = true,
},
{
mode = "n",
"<leader>wt",
telescope.extensions.telescope_words.search_thesaurus,
desc = "Telescope: search thesaurus",
noremap = true,
},
-- gnikdroy/projections.nvim
{
mode = "n",
"<leader>fp",
function()
vim.cmd("Telescope projections")
end,
desc = "Telescope: find projects",
noremap = true,
},
-- kamykn/spelunker.vim
{
mode = "n",
"<F10>t",
":call spelunker#toggle()<CR>",
desc = "Spelunker: toggle spell check",
noremap = true,
},
{ mode = "n", "<F10>s", "z=", desc = "Spell: display suggestions" },
-- kevinhwang91/nvim-hlslens
{
mode = "n",
"n",
[[<Cmd>execute('normal! ' . v:count1 . 'n')<CR><Cmd>lua require('hlslens').start()<CR>]],
desc = "Search: search forward",
noremap = true,
silent = true,
},
{
mode = "n",
"N",
[[<Cmd>execute('normal! ' . v:count1 . 'N')<CR><Cmd>lua require('hlslens').start()<CR>]],
desc = "Search: search backwards",
noremap = true,
silent = true,
},
-- sindrets/winshift.nvim
{
mode = "n",
"<C-W>m",
":WinShift<CR>",
desc = "Navigation: enter window shift mode",
noremap = true,
},
-- ggandor/leap.nvim
{
mode = "n",
"f",
"<Plug>(leap-forward)",
desc = "Navigation: enter leap mode for forward movement",
noremap = true,
},
{
mode = "n",
"F",
"<Plug>(leap-backward)",
desc = "Navigation: enter leap mode for backwards movement",
noremap = true,
},
{
mode = "n",
"gf",
"<Plug>(leap-from-window)",
desc = "Navigation: enter leap mode for other windows",
noremap = true,
},
-- quarto-dev/quarto-nvim
{
mode = "n",
"<leader>rc",
require("quarto.runner").run_cell,
desc = "Quarto: Run cell",
noremap = true,
silent = true,
},
{
mode = "n",
"<leader>ra",
require("quarto.runner").run_above,
desc = "Quarto: Run cell and above",
noremap = true,
silent = true,
},
{
mode = "n",
"<leader>rA",
require("quarto.runner").run_all,
desc = "Quarto: Run all cells",
noremap = true,
silent = true,
},
{
mode = "n",
"<leader>rl",
require("quarto.runner").run_line,
desc = "Quarto: Run line",
noremap = true,
silent = true,
},
{
mode = "n",
"<leader>rr",
require("quarto.runner").run_range,
desc = "Quarto: Run visual range",
noremap = true,
silent = true,
},
{
mode = "n",
"<leader>rL",
function()
require("quarto.runner").run_all(true)
end,
desc = "Quarto: Run all cells of all languages",
noremap = true,
silent = true,
},
-- huynle/ogpt-nvim
{ mode = "n", "<leader>ai", ":OGPT<CR>", desc = "OGTP: Open AI View", noremap = true },
-- potamides/pantran.nvim
{
mode = { "n", "v" },
"<leader>tr",
":Pantran<CR>",
desc = "Pantran: translate",
noremap = true,
},
-- aaronik/treewalkr.nvim
{ mode = { "n", "v" }, "<leader><C-k>", "<cmd>Treewalker Up<cr>", silent = true },
{ mode = { "n", "v" }, "<leader><C-j>", "<cmd>Treewalker Down<cr>", silent = true },
{ mode = { "n", "v" }, "<leader><C-h>", "<cmd>Treewalker Left<cr>", silent = true },
{ mode = { "n", "v" }, "<leader><C-l>", "<cmd>Treewalker Right<cr>", silent = true },
{ mode = { "n" }, "<leader><C-S-k>", "<cmd>Treewalker SwapUp<cr>", silent = true },
{ mode = { "n" }, "<leader><C-S-j>", "<cmd>Treewalker SwapDown<cr>", silent = true },
{ mode = { "n" }, "<leader><C-S-h>", "<cmd>Treewalker SwapLeft<cr>", silent = true },
{ mode = { "n" }, "<leader><C-S-l>", "<cmd>Treewalker SwapRight<cr>", silent = true },
-- monaqa/dial.nvim -- shortcut for split navigation
{ vim.keymap.set("n", "<C-h>", "<C-w>h", { desc = "Navigation: go to left window", noremap = true })
mode = { "n" }, vim.keymap.set("n", "<C-j>", "<C-w>j", { desc = "Navigation: go to lower window", noremap = true })
"<C-a>", vim.keymap.set("n", "<C-k>", "<C-w>k", { desc = "Navigation: go to upper window", noremap = true })
function() vim.keymap.set("n", "<C-l>", "<C-w>l", { desc = "Navigation: go to right window", noremap = true })
require("dial.map").manipulate("increment", "normal")
end,
silent = true,
},
{
mode = { "n" },
"<C-x>",
function()
require("dial.map").manipulate("decrement", "normal")
end,
silent = true,
},
-- Wansmer/treesj -- remap for dealing with word wrap
{ vim.keymap.set("n", "j", "gj", { desc = "Navigation: go down in wrapped lines", silent = true })
mode = { "n" }, vim.keymap.set("n", "k", "gk", { desc = "Navigation: go up in wrapped lines", silent = true })
"<leader>m",
function() -- compiler for languages
require("treesj").toggle() vim.keymap.set("n", "<leader>c", ":w! | !compiler <c-r>%<CR>", {
end, desc = "Compile: current file",
}, noremap = true,
}) })
-- kevinhwang91/nvim-ufo - lspconfig vim.keymap.set("n", "w!!", 'execute "silent! write !sudo tee % >/dev/null" <bar> edit!', {
vim.keymap.set("n", "K", function() desc = "Write: overwrite file over with sudo",
local winid = require("ufo").peekFoldedLinesUnderCursor() noremap = true,
if not winid then
vim.lsp.buf.hover({ border = "rounded", focusable = false, max_width = 100 })
end
end, {
buffer = bufnr,
desc = "LSP: show documentation / peek folded section",
}) })

View File

@@ -2,7 +2,6 @@ return {
-- session management with git support -- session management with git support
"rmagatti/auto-session", "rmagatti/auto-session",
lazy = false, lazy = false,
---enables autocomplete for opts ---enables autocomplete for opts
---@module "auto-session" ---@module "auto-session"
---@type AutoSession.Config ---@type AutoSession.Config

View File

@@ -1,15 +1,15 @@
return { return {
-- vs code like topbar -- vs code like topbar
"utilyre/barbecue.nvim", "utilyre/barbecue.nvim",
name = "barbecue", name = "barbecue",
version = "*", version = "*",
dependencies = { dependencies = {
"SmiteshP/nvim-navic", "SmiteshP/nvim-navic",
"nvim-tree/nvim-web-devicons", -- optional dependency "nvim-tree/nvim-web-devicons", -- optional dependency
}, },
opts = { opts = {
theme = { theme = {
normal = { bg = "#272727" }, normal = { bg = "#272727" },
},
}, },
},
} }

View File

@@ -2,8 +2,7 @@ return {
-- rainbow auto-pairs -- rainbow auto-pairs
"saghen/blink.pairs", "saghen/blink.pairs",
version = "*", -- (recommended) only required with prebuilt binaries version = "*", -- (recommended) only required with prebuilt binaries
-- download prebuilt binaries from github releases dependencies = "saghen/blink.download", -- download prebuilt binaries from github releases
dependencies = "saghen/blink.download",
--- @module 'blink.pairs' --- @module 'blink.pairs'
--- @type blink.pairs.Config --- @type blink.pairs.Config
opts = { opts = {

View File

@@ -1,18 +1,25 @@
return { return {
-- improved refactoring -- improved refactoring
"stevearc/conform.nvim", "stevearc/conform.nvim",
config = function() keys = {
require("conform").setup({ {
formatters_by_ft = { "<F8>",
lua = { "stylua" }, function()
markdown = { "mdformat" }, require("conform").format({ async = true, lsp_fallback = true })
python = { "isort", "yapf" }, end,
sh = { "shfmt" }, desc = "LSP: format",
bash = { "shfmt" }, },
zsh = { "shfmt" }, },
tex = { "latexindent" }, opts = {
yaml = { "yamlfmt" }, formatters_by_ft = {
}, lua = { "stylua" },
}) markdown = { "mdformat" },
end, python = { "isort", "yapf" },
sh = { "shfmt" },
bash = { "shfmt" },
zsh = { "shfmt" },
tex = { "latexindent" },
yaml = { "yamlfmt" },
},
},
} }

View File

@@ -1,6 +1,8 @@
return { return {
-- improved csv handling -- improved csv handling
"hat0uma/csvview.nvim", "hat0uma/csvview.nvim",
ft = "csv",
cmd = { "CsvViewEnable", "CsvViewDisable", "CsvViewToggle" },
opts = { opts = {
parser = { comments = { "#", "//" } }, parser = { comments = { "#", "//" } },
keymaps = { keymaps = {
@@ -12,5 +14,9 @@ return {
jump_prev_row = { "<S-Enter>", mode = { "n", "v" } }, jump_prev_row = { "<S-Enter>", mode = { "n", "v" } },
}, },
}, },
cmd = { "CsvViewEnable", "CsvViewDisable", "CsvViewToggle" }, config = function(_, opts)
local csvview = require("csvview")
csvview.setup(opts)
csvview.enable()
end,
} }

View File

@@ -1,9 +1,27 @@
return { return {
-- improves vims increment and decrement functions -- improves vims increment and decrement functions
"monaqa/dial.nvim", "monaqa/dial.nvim",
keys = {
{
"<C-a>",
function()
require("dial.map").manipulate("increment", "normal")
end,
silent = true,
desc = "Increment value",
},
{
"<C-x>",
function()
require("dial.map").manipulate("decrement", "normal")
end,
silent = true,
desc = "Decrement value",
},
},
config = function() config = function()
local augend = require("dial.augend") local augend = require("dial.augend")
require("dial.config").augends:register_group{ require("dial.config").augends:register_group({
default = { default = {
augend.integer.alias.decimal, augend.integer.alias.decimal,
augend.integer.alias.hex, augend.integer.alias.hex,
@@ -19,6 +37,6 @@ return {
augend.constant.alias.en_weekday, augend.constant.alias.en_weekday,
augend.constant.alias.en_weekday_full, augend.constant.alias.en_weekday_full,
}, },
} })
end end,
} }

View File

@@ -1,5 +1,19 @@
return { return {
-- side by side git diff mode coloring -- side by side git diff mode coloring
"sindrets/diffview.nvim", "sindrets/diffview.nvim",
keys = {
{
"<leader>gdo",
"<cmd>DiffviewOpen<CR>",
mode = "n",
desc = "Git: open diff",
},
{
"<leader>gdc",
"<cmd>DiffviewClose<CR>",
mode = "n",
desc = "Git: close diff",
},
},
opts = {}, opts = {},
} }

View File

@@ -1,5 +1,31 @@
return { return {
-- floating terminal to toggle -- floating terminal to toggle
"numtostr/fterm.nvim", "numtostr/fterm.nvim",
keys = {
{
"<leader>tt",
function()
require("FTerm").toggle()
end,
mode = "n",
desc = "Terminal: open",
},
{
"<leader>gt",
function()
require("FTerm"):new({ cmd = "lazygit" }):toggle()
end,
mode = "n",
desc = "Git: open lazygit",
},
{
"<leader>tg",
function()
require("FTerm"):new({ cmd = "lazygit" }):toggle()
end,
mode = "n",
desc = "Terminal: open lazygit",
},
},
opts = {}, opts = {},
} }

View File

@@ -2,19 +2,61 @@ 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",
config = function() keys = {
require("goto-preview").setup({ {
border = "rounded", "gpd",
preview_window_title = { enable = true, position = "center" }, function()
require("goto-preview").goto_preview_definition()
end,
desc = "LSP: preview definition",
},
{
"gpy",
function()
require("goto-preview").goto_preview_type_definition()
end,
desc = "LSP: preview type definition",
},
{
"gpi",
function()
require("goto-preview").goto_preview_implementation()
end,
desc = "LSP: list preview implementation",
},
{
"gpD",
function()
require("goto-preview").goto_preview_declaration()
end,
desc = "LSP: preview declaration",
},
{
"gpr",
function()
require("goto-preview").goto_preview_references()
end,
desc = "LSP: list preview references",
},
{
"gpc",
function()
require("goto-preview").close_all_win()
end,
desc = "LSP: close all preview windows",
},
},
opts = {
border = "rounded",
preview_window_title = { enable = true, position = "center" },
post_open_hook = function(bufnr, winid) post_open_hook = function(bufnr, _)
local close = function() local close = function()
require("goto-preview").close_all_win() require("goto-preview").close_all_win()
end end
vim.keymap.set("n", "<c-h>", close, { buffer = bufnr, silent = true }) vim.keymap.set("n", "<c-h>", close, { buffer = bufnr, silent = true })
vim.keymap.set("n", "q", close, { buffer = bufnr, silent = true }) vim.keymap.set("n", "q", close, { buffer = bufnr, silent = true })
end, end,
}) },
end,
} }

View File

@@ -1,50 +1,65 @@
return { return {
{ "frabjous/knap",
"frabjous/knap", ft = { "tex", "markdown" },
ft = { "tex" }, keys = {
config = function() {
local function detect_engine() "<leader>p",
local first_line = vim.api.nvim_buf_get_lines(0, 0, 1, false)[1] or "" function() require("knap").toggle_autopreviewing() end,
if first_line:match("^%%%s*xelatex") then desc = "Knap: toggle autopreview",
return "xelatex" },
else
return "pdflatex"
end
end
local function set_engine()
local engine = detect_engine()
if engine == "xelatex" then
vim.g.knap_settings.textopdf = "xelatex -synctex=1 -interaction=batchmode %docroot%"
else
vim.g.knap_settings.textopdf = "pdflatex -synctex=1 -interaction=batchmode %docroot%"
end
end
vim.g.knap_settings = {
delay = 100,
texoutputext = "pdf",
textopdf = "xelatex -synctex=1 -interaction=batchmode %docroot%",
textopdfviewerlaunch = "zathura --synctex-editor-command 'nvim --headless -es --cmd \"lua require('\"'\"'knaphelper'\"'\"').relayjump('\"'\"'%servername%'\"'\"','\"'\"'%{input}'\"'\"',%{line},0)\"' ./%outputfile%",
textopdfviewerrefresh = "reload",
textopdfforwardjump = "zathura --synctex-forward=%line%:%column%:%srcfile% %outputfile%",
}
vim.api.nvim_create_autocmd("User", {
pattern = "KnapShowView",
callback = set_engine,
})
vim.api.nvim_create_autocmd("User", {
pattern = "KnapCompile",
callback = set_engine,
})
vim.api.nvim_create_autocmd("BufWritePost", {
pattern = "*.tex",
callback = set_engine,
})
end,
}, },
config = function()
local knap = require("knap")
local function detect_engine()
local first_line = vim.api.nvim_buf_get_lines(0, 0, 1, false)[1] or ""
if first_line:match("^%%%s*xelatex") then
return "xelatex"
else
return "pdflatex"
end
end
local function set_engine()
local engine = detect_engine()
if engine == "xelatex" then
vim.g.knap_settings.textopdf = "xelatex -synctex=1 -interaction=batchmode %docroot%"
else
vim.g.knap_settings.textopdf = "pdflatex -synctex=1 -interaction=batchmode %docroot%"
end
end
vim.g.knap_settings = {
delay = 100,
texoutputext = "pdf",
textopdf = "xelatex -synctex=1 -interaction=batchmode %docroot%",
textopdfviewerlaunch = "zathura --synctex-editor-command 'nvim --headless -es --cmd \"lua require('\"'\"'knaphelper'\"'\"').relayjump('\"'\"'%servername%'\"'\"','\"'\"'%{input}'\"'\"',%{line},0)\"' ./%outputfile%",
textopdfviewerrefresh = "reload",
textopdfforwardjump = "zathura --synctex-forward=%line%:%column%:%srcfile% %outputfile%",
}
vim.api.nvim_create_autocmd("User", {
pattern = "KnapShowView",
callback = set_engine,
})
vim.api.nvim_create_autocmd("User", {
pattern = "KnapCompile",
callback = set_engine,
})
vim.api.nvim_create_autocmd("BufWritePost", {
pattern = "*.tex",
callback = set_engine,
})
vim.api.nvim_create_autocmd("FileType", {
pattern = { "tex", "markdown" },
callback = function(args)
local bufnr = args.buf
vim.keymap.set({ "n", "v", "i" }, "<F7>", function()
knap.forward_jump()
end, {
buffer = bufnr,
desc = "Knap: jump to cursor",
})
if vim.bo[bufnr].filetype == "tex" then
knap.toggle_autopreviewing()
end
end,
})
end,
} }

View File

@@ -1,11 +1,32 @@
return { return {
-- improved movement -- improved movement
url = "https://codeberg.org/andyg/leap.nvim", "ggandor/leap.nvim",
keys = {
{
"f",
"<Plug>(leap-forward)",
mode = "n",
desc = "Navigation: enter leap mode for forward movement",
},
{
"F",
"<Plug>(leap-backward)",
mode = "n",
desc = "Navigation: enter leap mode for backwards movement",
},
{
"gf",
"<Plug>(leap-from-window)",
mode = "n",
desc = "Navigation: enter leap mode for other windows",
},
},
config = function() config = function()
require("leap").opts.highlight_unlabeled_phase_one_targets = true require("leap").opts.highlight_unlabeled_phase_one_targets = true
require("leap").opts.equivalence_classes = { " \t\r\n", "([{", ")]}", "'\"`" } require("leap").opts.equivalence_classes = { " \t\r\n", "([{", ")]}", "'\"`" }
require("leap").opts.special_keys.prev_target = "<backspace>" require("leap").opts.special_keys.prev_target = "<backspace>"
require("leap").opts.special_keys.prev_group = "<backspace>" require("leap").opts.special_keys.prev_group = "<backspace>"
require("leap.user").set_repeat_keys("<enter>", "<backspace>")
require("leap").opts.safe_labels = "sfnut/SFNLHMUGTZ?" require("leap").opts.safe_labels = "sfnut/SFNLHMUGTZ?"
require("leap").opts.labels = "sfnjklhodweimbuyvrgtaqpcxz/SFNJKLHODWEIMBUYVRGTAQPCXZ?" require("leap").opts.labels = "sfnjklhodweimbuyvrgtaqpcxz/SFNJKLHODWEIMBUYVRGTAQPCXZ?"
end, end,

View File

@@ -2,17 +2,14 @@ return {
-- statusline -- statusline
"nvim-lualine/lualine.nvim", "nvim-lualine/lualine.nvim",
dependencies = { dependencies = {
{ "nvim-tree/nvim-web-devicons",
"nvim-tree/nvim-web-devicons", "tiyn/tccs.nvim",
lazy = true,
},
{ {
"f-person/git-blame.nvim", "f-person/git-blame.nvim",
config = function() config = function()
vim.g.gitblame_display_virtual_text = 0 vim.g.gitblame_display_virtual_text = 0
end, end,
}, },
{ "tiyn/tccs.nvim" },
{ {
"tiyn/action-hints.nvim", "tiyn/action-hints.nvim",
config = function() config = function()
@@ -27,54 +24,58 @@ return {
end, end,
}, },
}, },
config = function() opts = {
require("lualine").setup({ options = {
options = { globalstatus = true,
globalstatus = true, symbols = {
symbols = { error = Error_sign,
error = Error_sign, warn = Warn_sign,
warn = Warn_sign, hint = Hint_sign,
hint = Hint_sign, info = Info_sign,
info = Info_sign,
},
theme = "tccs",
component_separators = { left = "", right = "" },
section_separators = { left = "", right = "" },
}, },
sections = { theme = "tccs",
lualine_b = { component_separators = { left = "", right = "" },
{ section_separators = { left = "", right = "" },
require("gitblame").get_current_blame_text, },
cond = require("gitblame").is_blame_text_available, sections = {
}, lualine_b = {
{
function()
return require("gitblame").get_current_blame_text()
end,
cond = function()
return require("gitblame").is_blame_text_available()
end,
}, },
lualine_c = {},
lualine_x = {
require("action-hints").statusline,
"encoding",
"fileformat",
{
"filetype",
icon_only = true,
},
},
lualine_y = {
{
"filename",
file_status = true,
newfile_status = true,
path = 1,
shorting_target = 50,
symbols = {
modified = Lualine_signs["modified"],
readonly = Lualine_signs["readonly"],
unnamed = Lualine_signs["unnamed"],
newfile = Lualine_signs["newfile"],
},
},
},
lualine_z = { "progress", "location" },
}, },
}) lualine_c = {},
end, lualine_x = {
function()
return require("action-hints").statusline()
end,
"encoding",
"fileformat",
{
"filetype",
icon_only = true,
},
},
lualine_y = {
{
"filename",
file_status = true,
newfile_status = true,
path = 1,
shorting_target = 50,
symbols = {
modified = Lualine_signs["modified"],
readonly = Lualine_signs["readonly"],
unnamed = Lualine_signs["unnamed"],
newfile = Lualine_signs["newfile"],
},
},
},
lualine_z = { "progress", "location" },
},
},
} }

View File

@@ -1,7 +1,5 @@
return { return {
-- decorations for the current line mode -- decorations for the current line mode
"mvllow/modes.nvim", "mvllow/modes.nvim",
config = function() opts = {},
require("modes").setup()
end,
} }

View File

@@ -21,6 +21,50 @@ return {
"jmbuhr/otter.nvim", "jmbuhr/otter.nvim",
"nvim-treesitter/nvim-treesitter", "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 = { opts = {
lspFeatures = { lspFeatures = {
languages = { "python" }, languages = { "python" },
@@ -38,6 +82,16 @@ return {
default_method = "molten", 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",

View File

@@ -17,7 +17,7 @@ return {
end, end,
version = "v2.*", version = "v2.*",
-- build = "make install_jsregexp", -- build = "make install_jsregexp",
dependencies = { "saadparwaiz1/cmp_luasnip" }, dependencies = "saadparwaiz1/cmp_luasnip",
}, },
}, },
config = function() config = function()

View File

@@ -1,8 +1,14 @@
return { return {
-- hover documentation -- hover documentation
"tiyn/nvim-docs-view", "tiyn/nvim-docs-view",
lazy = true, keys = {
cmd = "DocsViewToggle", {
"go",
"<cmd>DocsViewToggle<CR>",
mode = "n",
desc = "LSP: toggle documentation window",
},
},
opts = { opts = {
position = "bottom", position = "bottom",
}, },

View File

@@ -1,6 +1,18 @@
return { return {
-- improved virtual text -- improved virtual text
"kevinhwang91/nvim-hlslens", "kevinhwang91/nvim-hlslens",
keys = {
{
"n",
[[<Cmd>execute('normal! ' . v:count1 . 'n')<CR><Cmd>lua require('hlslens').start()<CR>]],
desc = "Search: search forward",
},
{
"N",
[[<Cmd>execute('normal! ' . v:count1 . 'N')<CR><Cmd>lua require('hlslens').start()<CR>]],
desc = "Search: search backwards",
},
},
opts = { opts = {
calm_down = true, calm_down = true,
}, },

View File

@@ -3,32 +3,33 @@ return {
"martineausimon/nvim-lilypond-suite", "martineausimon/nvim-lilypond-suite",
ft = "lilypond", ft = "lilypond",
dependencies = "uga-rosa/cmp-dictionary", dependencies = "uga-rosa/cmp-dictionary",
config = function() opts = {
require("nvls").setup({ lilypond = {
lilypond = { mappings = {
mappings = { player = "<NOP>",
player = "<NOP>", compile = "<NOP>",
compile = "<NOP>", open_pdf = "<NOP>",
open_pdf = "<NOP>", switch_buffers = "<NOP>",
switch_buffers = "<NOP>", insert_version = "<NOP>",
insert_version = "<NOP>", hyphenation = "<NOP>",
hyphenation = "<NOP>", hyphenation_change_lang = "<NOP>",
hyphenation_change_lang = "<NOP>", insert_hyphen = "<NOP>",
insert_hyphen = "<NOP>", add_hyphen = "<NOP>",
add_hyphen = "<NOP>", del_next_hyphen = "<NOP>",
del_next_hyphen = "<NOP>", del_prev_hyphen = "<NOP>",
del_prev_hyphen = "<NOP>", },
},
player = {
options = {
fluidsynth_flags = {
"/usr/share/soundfonts/FluidR3_GM.sf2",
}, },
}, },
player = { },
options = { },
fluidsynth_flags = { config = function(_, opts)
"/usr/share/soundfonts/FluidR3_GM.sf2", local nvls = require("nvls")
}, nvls.setup(opts)
},
},
})
local lily_dicts = { local lily_dicts = {
"~/.local/share/nvim/lazy/nvim-lilypond-suite/lilywords/keywords", "~/.local/share/nvim/lazy/nvim-lilypond-suite/lilywords/keywords",
"~/.local/share/nvim/lazy/nvim-lilypond-suite/lilywords/musicCommands", "~/.local/share/nvim/lazy/nvim-lilypond-suite/lilywords/musicCommands",
@@ -36,13 +37,53 @@ return {
"~/.local/share/nvim/lazy/nvim-lilypond-suite/lilywords/articulations", "~/.local/share/nvim/lazy/nvim-lilypond-suite/lilywords/articulations",
"~/.local/share/nvim/lazy/nvim-lilypond-suite/lilywords/dynamics", "~/.local/share/nvim/lazy/nvim-lilypond-suite/lilywords/dynamics",
} }
vim.api.nvim_create_autocmd("FileType", { vim.api.nvim_create_autocmd("FileType", {
pattern = "lilypond", pattern = "lilypond",
callback = function() callback = function(args)
local bufnr = args.buf
require("cmp_dictionary").setup({ require("cmp_dictionary").setup({
paths = lily_dicts, paths = lily_dicts,
}) })
local fluidsynth_job = nil
vim.keymap.set("n", "<leader>pm", function()
local midi = vim.fn.expand("%:r") .. ".midi"
if fluidsynth_job then
vim.fn.jobstop(fluidsynth_job)
fluidsynth_job = nil
print("fluidsynth stopped")
return
end
fluidsynth_job = vim.fn.jobstart({ "fluidsynth", "-i", midi })
print("fluidsynth playing (Ctrl-C to stop)")
end, {
buffer = bufnr,
desc = "Lilypond: output MIDI",
})
vim.keymap.set("n", "<leader>pp", "<cmd>Viewer<CR>", {
buffer = bufnr,
desc = "Lilypond: open PDF",
})
vim.keymap.set("n", "<C-c>", function()
if fluidsynth_job then
vim.fn.jobstop(fluidsynth_job)
fluidsynth_job = nil
print("fluidsynth stopped")
else
vim.cmd("normal! <C-c>")
end
end, {
buffer = bufnr,
desc = "Stop MIDI playback",
})
if vim.b[bufnr].first_start_lilypond then
return
end
vim.b[bufnr].first_start_lilypond = true
vim.schedule(function()
if vim.fn.exists(":Viewer") == 2 then
vim.cmd.Viewer()
end
end)
end, end,
}) })
end, end,

View File

@@ -19,47 +19,32 @@ return {
end, end,
}, },
}, },
config = function() opts = {
require("mason-lspconfig").setup({ automatic_setup = true,
automatic_setup = true, ensure_installed = {
ensure_installed = { "asm_lsp",
-- assembler "clangd",
"asm_lsp", "dockerls",
-- c "gopls",
"clangd", "html",
-- docker "jsonls",
"dockerls", "lemminx",
-- go "ltex",
"gopls", "texlab",
-- html "lua_ls",
"html", "marksman",
-- json "nimls",
"jsonls", "pyright",
-- xml "r_language_server",
"lemminx", "bashls",
-- latex "sqlls",
"ltex", "ts_ls",
"texlab", "yamlls",
-- lua },
"lua_ls", },
-- markdown config = function(_, opts)
"marksman", local mason_lspconfig = require("mason-lspconfig")
-- nim mason_lspconfig.setup(opts)
"nimls",
-- python
"pyright",
-- r
"r_language_server",
-- shell
"bashls",
-- sql
"sqlls",
-- typescript / javascript
"ts_ls",
-- yaml
"yamlls",
},
})
local default_flags = { local default_flags = {
debounce_text_changes = 150, debounce_text_changes = 150,
allow_incremental_sync = true, allow_incremental_sync = true,
@@ -69,7 +54,6 @@ return {
ltex = { ltex = {
settings = { settings = {
ltex = { ltex = {
-- language = "de-DE",
enabled = { "latex", "markdown" }, enabled = { "latex", "markdown" },
dictionary = Dictionaries, dictionary = Dictionaries,
}, },
@@ -95,5 +79,16 @@ return {
}) })
) )
end end
vim.api.nvim_create_autocmd("LspAttach", {
callback = function(args)
local bufnr = args.buf
local opts = { buffer = bufnr }
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts)
vim.keymap.set("n", "gT", vim.lsp.buf.type_definition, opts)
vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts)
vim.keymap.set("n", "gr", vim.lsp.buf.references, opts)
end,
})
end, end,
} }

View File

@@ -5,52 +5,34 @@ return {
"kevinhwang91/nvim-hlslens", "kevinhwang91/nvim-hlslens",
"lewis6991/gitsigns.nvim", "lewis6991/gitsigns.nvim",
}, },
config = function() opts = {
require("scrollbar").setup({ marks = {
marks = { Cursor = { highlight = "Normal" },
Cursor = { Search = { highlight = "Special" },
highlight = "Normal", Error = { highlight = "DiagnosticSignError" },
}, Warn = { highlight = "DiagnosticSignWarn" },
Search = { Info = { highlight = "DiagnosticSignInfo" },
highlight = "Special", Hint = { highlight = "DiagnosticSignHint" },
}, Misc = { highlight = "Special" },
Error = { GitAdd = { highlight = "GitGutterAdd" },
highlight = "DiagnosticSignError", GitChange = { highlight = "GitGutterChange" },
}, GitDelete = { highlight = "GitGutterDelete" },
Warn = { },
highlight = "DiagnosticSignWarn", excluded_filetypes = {
}, "cmp_docs",
Info = { "cmp_menu",
highlight = "DiagnosticSignInfo", "noice",
}, "prompt",
Hint = { "TelescopePrompt",
highlight = "DiagnosticSignHint", "NvimTree",
}, "Navbuddy",
Misc = { "FTerm",
highlight = "Special", "",
}, },
GitAdd = { },
highlight = "GitGutterAdd", config = function(_, opts)
}, local scrollbar = require("scrollbar")
GitChange = { scrollbar.setup(opts)
highlight = "GitGutterChange",
},
GitDelete = {
highlight = "GitGutterDelete",
},
},
excluded_filetypes = {
"cmp_docs",
"cmp_menu",
"noice",
"prompt",
"TelescopePrompt",
"NvimTree",
"Navbuddy",
"FTerm",
"",
},
})
require("scrollbar.handlers.search").setup() require("scrollbar.handlers.search").setup()
require("scrollbar.handlers.gitsigns").setup() require("scrollbar.handlers.gitsigns").setup()
end, end,

View File

@@ -8,6 +8,13 @@ return {
lazy = true, lazy = true,
}, },
}, },
keys = {
{
"<F2>",
"<cmd>NvimTreeToggle<CR>",
desc = "File tree: toggle",
},
},
opts = { opts = {
sort_by = "case_sensitive", sort_by = "case_sensitive",
view = { view = {

View File

@@ -4,9 +4,16 @@ return {
build = ":TSUpdate", build = ":TSUpdate",
dependencies = { dependencies = {
-- automatically close html-tags -- automatically close html-tags
"windwp/nvim-ts-autotag", {
-- color brackets "windwp/nvim-ts-autotag",
-- 'p00f/nvim-ts-rainbow', opts = {
opts = {
enable_close = true,
enable_rename = true,
},
},
},
-- 'p00f/nvim-ts-rainbow', -- color brackets
"nvim-treesitter/nvim-treesitter-context", "nvim-treesitter/nvim-treesitter-context",
}, },
config = function() config = function()
@@ -24,19 +31,5 @@ return {
"lua", "lua",
"yaml", "yaml",
}) })
require("nvim-ts-autotag").setup({
opts = {
enable_close = true,
enable_rename = true,
},
})
-- WARN: not directly compatible anymore
-- highlight = { enable = true },
-- rainbow = {
-- enable = true,
-- extended_mode = true,
-- max_file_lines = nil,
-- -- colors = {},
-- -- termcolors = {}
end, end,
} }

View File

@@ -2,6 +2,23 @@ return {
-- folding improvements -- folding improvements
"kevinhwang91/nvim-ufo", "kevinhwang91/nvim-ufo",
dependencies = { "kevinhwang91/promise-async" }, dependencies = { "kevinhwang91/promise-async" },
keys = {
{
"K",
function()
local winid = require("ufo").peekFoldedLinesUnderCursor()
if not winid then
vim.lsp.buf.hover({
border = "rounded",
focusable = false,
max_width = 100,
})
end
end,
mode = "n",
desc = "LSP: show documentation / peek folded section",
},
},
config = function() config = function()
require("ufo").setup() require("ufo").setup()
vim.api.nvim_create_autocmd({ "BufEnter", "FileType" }, { vim.api.nvim_create_autocmd({ "BufEnter", "FileType" }, {

View File

@@ -1,139 +1,144 @@
return { return {
-- ollama llm integration -- ollama llm integration
{ "huynle/ogpt.nvim",
"huynle/ogpt.nvim", event = "VeryLazy",
event = "VeryLazy", dependencies = {
opts = { "MunifTanjim/nui.nvim",
default_provider = "ollama", "nvim-lua/plenary.nvim",
edgy = true, -- enable this! "nvim-telescope/telescope.nvim",
single_window = false, -- set this to true if you want only one OGPT window to appear at a time {
providers = { "folke/edgy.nvim",
ollama = { event = "VeryLazy",
api_host = "http://localhost:11434", -- free resources: https://github.com/cheahjs/free-llm-api-resources init = function()
api_key = "", vim.opt.laststatus = 3
model = "deepseek-r1:7b", 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,
},
},
}, },
}, },
}, },
dependencies = {
"MunifTanjim/nui.nvim",
"nvim-lua/plenary.nvim",
"nvim-telescope/telescope.nvim",
},
}, },
{ keys = {
"folke/edgy.nvim", {
event = "VeryLazy", "<leader>ai",
init = function() "<cmd>OGPT<CR>",
vim.opt.laststatus = 3 desc = "OGPT: Open AI View",
vim.opt.splitkeep = "screen" -- or "topline" or "screen" },
end, },
opts = { opts = {
exit_when_last = false, default_provider = "ollama",
animate = { edgy = true, -- enable this!
enabled = false, single_window = false, -- set this to true if you want only one OGPT window to appear at a time
}, providers = {
wo = { ollama = {
winbar = true, api_host = "http://localhost:11434", -- free resources: https://github.com/cheahjs/free-llm-api-resources
winfixwidth = true, api_key = "",
winfixheight = false, model = "deepseek-r1:7b",
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,6 +1,13 @@
return { return {
-- outline for code -- tree-like outline sidebar
"hedyhli/outline.nvim", "hedyhli/outline.nvim",
keys = {
{
"<F3>",
"<cmd>Outline<CR>",
desc = "CTags: toggle",
},
},
opts = { opts = {
outline_window = { outline_window = {
width = 25, width = 25,

View File

@@ -1,6 +1,14 @@
return { return {
-- translator -- translator
"potamides/pantran.nvim", "potamides/pantran.nvim",
keys = {
{
"<leader>tr",
"<cmd>Pantran<CR>",
mode = { "n", "v" },
desc = "Pantran: translate",
},
},
opts = { opts = {
default_engine = "google", default_engine = "google",
-- default_engine = "deepl", -- default_engine = "deepl",

View File

@@ -7,10 +7,7 @@ return {
"hrsh7th/nvim-cmp", "hrsh7th/nvim-cmp",
"nvim-telescope/telescope.nvim", "nvim-telescope/telescope.nvim",
}, },
config = function() opts = {
require("papis").setup({ enable_keymaps = false,
-- Your configuration goes here },
enable_keymaps = false,
})
end,
} }

View File

@@ -1,25 +1,35 @@
return { return {
-- navigate between projects using telescope -- navigate between projects using telescope
"gnikdroy/projections.nvim", "gnikdroy/projections.nvim",
dependencies = { "nvim-telescope/telescope.nvim" }, dependencies = {
"nvim-telescope/telescope.nvim",
},
branch = "pre_release", branch = "pre_release",
config = function() keys = {
require("projections").setup({ {
workspaces = { -- Default workspaces to search for "<leader>fp",
{ "~/code/main", { ".git" } }, function()
{ "~/code/uni", { ".git" } }, vim.cmd("Telescope projections")
}, end,
store_hooks = { desc = "Telescope: find projects",
pre = function() },
-- nvim-tree },
local nvim_tree_present, api = pcall(require, "nvim-tree.api") opts = {
if nvim_tree_present then workspaces = {
api.tree.close() { "~/code/main", { ".git" } },
end { "~/code/uni", { ".git" } },
end, },
}, store_hooks = {
}) pre = function()
local ok, api = pcall(require, "nvim-tree.api")
if ok then
api.tree.close()
end
end,
},
},
config = function(_, opts)
require("projections").setup(opts)
require("telescope").load_extension("projections") require("telescope").load_extension("projections")
end, end,
} }

View File

@@ -3,5 +3,14 @@ return {
"filipdutescu/renamer.nvim", "filipdutescu/renamer.nvim",
branch = "master", branch = "master",
dependencies = { "nvim-lua/plenary.nvim" }, dependencies = { "nvim-lua/plenary.nvim" },
keys = {
{
"<F5>",
function()
require("renamer").rename()
end,
desc = "LSP: rename",
},
},
opts = {}, opts = {},
} }

View File

@@ -1,12 +1,22 @@
return { return {
-- improve spelling check for coding to feature camelcase, etc -- improve spelling check for coding to feature camelcase, etc
{ "kamykn/spelunker.vim",
"kamykn/spelunker.vim", dependencies = { "kamykn/popup-menu.nvim" },
dependencies = { "kamykn/popup-menu.nvim" }, keys = {
config = function() {
-- vim.o.nospell = true "<F10>t",
vim.g.enable_spelunker_vim = 0 "<cmd>call spelunker#toggle()<CR>",
vim.g.spelunker_disable_acronym_checking = 1 desc = "Spelunker: toggle spell check",
end, },
{
"<F10>s",
"z=",
desc = "Spell: display suggestions",
},
}, },
config = function()
-- vim.o.nospell = true
vim.g.enable_spelunker_vim = 0
vim.g.spelunker_disable_acronym_checking = 1
end,
} }

View File

@@ -1,13 +1,9 @@
return { return {
-- colorscheme -- colorscheme
{ "tiyn/tccs.nvim",
"tiyn/tccs.nvim", lazy = false,
lazy = false, priority = 1000,
priority = 1000, opts = {
config = function() require("tccs").load(),
require("tccs").setup({
require("tccs").load(),
})
end,
}, },
} }

View File

@@ -1,12 +1,32 @@
return { return {
-- fuzzy finder -- fuzzy finder
{ "nvim-telescope/telescope.nvim",
"nvim-telescope/telescope.nvim", version = "*",
version = "0.1.2", dependencies = {
dependencies = { "nvim-lua/plenary.nvim",
"nvim-lua/plenary.nvim", { "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
"archie-judd/telescope-words.nvim", "archie-judd/telescope-words.nvim",
},
opts = {},
}, },
keys = {
{
"<leader>ff",
"<cmd>Telescope find_files<CR>",
desc = "Telescope: find files",
},
{
"<leader>wd",
function()
require("telescope").extensions.telescope_words.search_dictionary()
end,
desc = "Telescope: search dictionary",
},
{
"<leader>wt",
function()
require("telescope").extensions.telescope_words.search_thesaurus()
end,
desc = "Telescope: search thesaurus",
},
},
opts = {},
} }

View File

@@ -1,10 +1,22 @@
return { return {
-- clean up white spaces and empty lines before writing -- clean up white spaces and empty lines before writing
{ "mcauley-penney/tidy.nvim",
"mcauley-penney/tidy.nvim", branch = "main",
branch = "main", ft = { "markdown", "tex" },
opts = { opts = {
filetype_exclude = { "diff" }, filetype_exclude = { "diff" },
},
}, },
config = function(_, opts)
local tidy = require("tidy")
tidy.setup(opts)
tidy.opts.enabled_on_save = false
vim.api.nvim_create_autocmd("BufLeave", {
pattern = { "*.md", "*.tex" },
callback = function()
if vim.bo.modifiable then
tidy.run()
end
end,
})
end,
} }

View File

@@ -3,11 +3,14 @@ return {
"rachartier/tiny-inline-diagnostic.nvim", "rachartier/tiny-inline-diagnostic.nvim",
event = "VeryLazy", event = "VeryLazy",
priority = 1000, priority = 1000,
config = function() opts = {
require("tiny-inline-diagnostic").setup({ preset = "classic",
preset = "classic", transparent_bg = true,
transparent_bg = true, },
config = function(_, opts)
require("tiny-inline-diagnostic").setup(opts)
vim.diagnostic.config({
virtual_text = false,
}) })
vim.diagnostic.config({ virtual_text = false })
end, end,
} }

View File

@@ -1,22 +1,20 @@
return { 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" }, opts = {
opts = { keywords = {
keywords = { ERRO = { icon = Error_sign, color = "error" },
ERRO = { icon = Error_sign, color = "error" }, WARN = { icon = Warn_sign, color = "warning" },
WARN = { icon = Warn_sign, color = "warning" }, HACK = { icon = Hack_sign, color = "warning" },
HACK = { icon = Hack_sign, color = "warning" }, HINT = { icon = Hint_sign, color = "hint" },
HINT = { icon = Hint_sign, color = "hint" }, TODO = { icon = Todo_sign, color = "info" },
TODO = { icon = Todo_sign, color = "info" }, INFO = { icon = Info_sign, color = "hint", alt = { "NOTE" } },
INFO = { icon = Info_sign, color = "hint", alt = { "NOTE" } }, PERF = { icon = Perfect_sign, color = "default" },
PERF = { icon = Perfect_sign, color = "default" }, TEST = { icon = Test_sign, color = "test" },
TEST = { icon = Test_sign, color = "test" }, },
}, colors = {
colors = { default = { "Operator" },
default = { "Operator" },
},
}, },
}, },
} }

View File

@@ -1,8 +1,14 @@
return { return {
-- improves splitting and joining blocks -- improves splitting and joining blocks
'Wansmer/treesj', "Wansmer/treesj",
dependencies = { 'nvim-treesitter/nvim-treesitter' }, dependencies = { "nvim-treesitter/nvim-treesitter" },
config = function() keys = {
require('treesj').setup() {
end, "<leader>m",
function()
require("treesj").toggle()
end,
},
},
opts = {},
} }

View File

@@ -1,4 +1,54 @@
return { return {
-- improved movement for code -- improved movement for code
"aaronik/treewalker.nvim", "aaronik/treewalker.nvim",
keys = {
{
"<leader><C-k>",
"<cmd>Treewalker Up<CR>",
mode = { "n", "v" },
silent = true,
},
{
"<leader><C-j>",
"<cmd>Treewalker Down<CR>",
mode = { "n", "v" },
silent = true,
},
{
"<leader><C-h>",
"<cmd>Treewalker Left<CR>",
mode = { "n", "v" },
silent = true,
},
{
"<leader><C-l>",
"<cmd>Treewalker Right<CR>",
mode = { "n", "v" },
silent = true,
},
{
"<leader><C-S-k>",
"<cmd>Treewalker SwapUp<CR>",
mode = "n",
silent = true,
},
{
"<leader><C-S-j>",
"<cmd>Treewalker SwapDown<CR>",
mode = "n",
silent = true,
},
{
"<leader><C-S-h>",
"<cmd>Treewalker SwapLeft<CR>",
mode = "n",
silent = true,
},
{
"<leader><C-S-l>",
"<cmd>Treewalker SwapRight<CR>",
mode = "n",
silent = true,
},
},
} }

View File

@@ -7,5 +7,13 @@ return {
lazy = true, lazy = true,
}, },
}, },
keys = {
{
"<F4>",
"<cmd>Trouble diagnostics toggle<CR>",
mode = "n",
desc = "LSP: toggle error list",
},
},
opts = {}, opts = {},
} }

View File

@@ -1,4 +1,12 @@
return { return {
-- tree style undo visualizer -- tree style undo visualizer
"mbbill/undotree", "mbbill/undotree",
keys = {
{
"<F1>",
"<cmd>UndotreeToggle<CR>",
mode = "n",
desc = "Undo tree: toggle",
},
},
} }

View File

@@ -1,5 +1,18 @@
return { return {
-- better substitutions -- better substitutions
"tpope/vim-abolish", "tpope/vim-abolish",
config = function() end, keys = {
{
"<leader>sa",
":%s//g<Left><Left>",
mode = "n",
desc = "Substitute: free form",
},
{
"<leader>ss",
":%s/\\<<C-r><C-w>\\>//g<Left><Left>",
mode = "n",
desc = "Substitute: word under cursor",
},
},
} }

View File

@@ -3,5 +3,5 @@ return {
"preservim/vim-markdown", "preservim/vim-markdown",
ft = { "markdown" }, ft = { "markdown" },
dependencies = { "godlygeek/tabular" }, dependencies = { "godlygeek/tabular" },
config = function() end, config = function() end, -- needed this way by the plugin
} }

View File

@@ -2,7 +2,5 @@ return {
-- highlighting for the viper verification language -- highlighting for the viper verification language
"tiyn/viper.nvim", "tiyn/viper.nvim",
event = { "BufReadPre *.vpr", "FileType viper" }, event = { "BufReadPre *.vpr", "FileType viper" },
config = function() opts = {}
require("viper").setup()
end,
} }

View File

@@ -1,4 +1,21 @@
return { return {
-- improved keybindings, previewing them -- improved keybindings, previewing them
"folke/which-key.nvim", "folke/which-key.nvim",
config = function()
require("which-key").add({
{ mode = "n", "g", desc = "LSP: goto" },
{ mode = "n", "gp", desc = "LSP: preview" },
{ mode = "c", "w", desc = "Write" },
{ mode = "c", "w!", desc = "Write: overwrite" },
{ mode = "n", "<leader>a", desc = "AI" },
{ mode = "n", "<leader>g", desc = "Git" },
{ mode = "n", "<leader>f", desc = "Telescope: find" },
{ mode = "n", "<leader>gd", desc = "Git: diff" },
{ mode = "n", "<leader>s", desc = "Substitute" },
{ mode = "n", "<leader>t", desc = "Terminal" },
{ mode = "n", "<leader>r", desc = "Quarto" },
{ mode = "n", "<C-W>", desc = "Navigation" },
{ mode = "n", "<leader>p", desc = "Lilypond" },
})
end,
} }

View File

@@ -1,74 +1,73 @@
return { 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,
lazy = true,
},
"roxma/nvim-yarp",
"roxma/vim-hug-neovim-rpc",
"romgrk/fzy-lua-native",
"nixprime/cpsm",
}, },
config = function() "roxma/nvim-yarp",
local wilder = require("wilder") "roxma/vim-hug-neovim-rpc",
wilder.setup({ "romgrk/fzy-lua-native",
modes = { ":", "/", "?" }, "nixprime/cpsm",
accept_key = "<CR>", },
reject_key = "<C-e>", opts = {
}) modes = { ":", "/", "?" },
wilder.set_option("pipeline", { accept_key = "<CR>",
wilder.branch( reject_key = "<C-e>",
wilder.python_file_finder_pipeline({ },
file_command = function(ctx, arg) config = function(_, opts)
if string.find(arg, ".") ~= nil then local wilder = require("wilder")
return { "fd", "-tf", "-H" } wilder.setup(opts)
else wilder.set_option("pipeline", {
return { "fd", "-tf" } wilder.branch(
end wilder.python_file_finder_pipeline({
end, file_command = function(ctx, arg)
dir_command = { "fd", "-td" }, if string.find(arg, ".") ~= nil then
filters = { "cpsm_filter" }, return { "fd", "-tf", "-H" }
}), else
wilder.substitute_pipeline({ return { "fd", "-tf" }
pipeline = wilder.python_search_pipeline({ end
skip_cmdtype_check = 1, end,
pattern = wilder.python_fuzzy_pattern({ dir_command = { "fd", "-td" },
start_at_boundary = 0, filters = { "cpsm_filter" },
}), }),
}), wilder.substitute_pipeline({
}), pipeline = wilder.python_search_pipeline({
wilder.cmdline_pipeline({ skip_cmdtype_check = 1,
fuzzy = 2,
fuzzy_filter = wilder.lua_fzy_filter(),
}),
{
wilder.check(function(ctx, x)
return x == ""
end),
wilder.history(),
},
wilder.python_search_pipeline({
pattern = wilder.python_fuzzy_pattern({ pattern = wilder.python_fuzzy_pattern({
start_at_boundary = 0, start_at_boundary = 0,
}), }),
}) }),
), }),
}) wilder.cmdline_pipeline({
local highlighters = { fuzzy = 2,
wilder.pcre2_highlighter(), fuzzy_filter = wilder.lua_fzy_filter(),
wilder.lua_fzy_highlighter(), }),
} {
wilder.set_option( wilder.check(function(ctx, x)
"renderer", return x == ""
wilder.popupmenu_renderer({ end),
highlighter = highlighters, wilder.history(),
left = { " ", wilder.popupmenu_devicons() }, },
right = { " ", wilder.popupmenu_scrollbar() }, wilder.python_search_pipeline({
pattern = wilder.python_fuzzy_pattern({
start_at_boundary = 0,
}),
}) })
) ),
end, })
}, local highlighters = {
wilder.pcre2_highlighter(),
wilder.lua_fzy_highlighter(),
}
wilder.set_option(
"renderer",
wilder.popupmenu_renderer({
highlighter = highlighters,
left = { " ", wilder.popupmenu_devicons() },
right = { " ", wilder.popupmenu_scrollbar() },
})
)
end,
} }

View File

@@ -1,5 +1,12 @@
return { return {
-- improved movement of windows -- improved movement of windows
"sindrets/winshift.nvim", "sindrets/winshift.nvim",
keys = {
{
"<C-W>m",
"<cmd>WinShift<CR>",
desc = "Navigation: enter window shift mode",
},
},
opts = {}, opts = {},
} }