move scripts, update other things

This commit is contained in:
fbachus committed 2026-09-30 23:23:35 +02:00
1 parent 8be9fe6370
commit 0c79acd431
61 files changed
+2728 -539

No files matched your search

+67
View File
@@ -0,0 +1,67 @@
return {
{
"lewis6991/gitsigns.nvim",
event = "UIEnter",
opts = {
signs = {
add = { text = "│" },
change = { text = "│" },
delete = { text = "_" },
topdelete = { text = "‾" },
changedelete = { text = "~" },
untracked = { text = "┆" },
},
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
numhl = true, -- Toggle with `:Gitsigns toggle_numhl`
linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
watch_gitdir = {
follow_files = true,
},
attach_to_untracked = true,
current_line_blame = true, -- Toggle with `:Gitsigns toggle_current_line_blame`
current_line_blame_opts = {
virt_text = true,
virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align'
delay = 150,
ignore_whitespace = false,
virt_text_priority = 0,
},
current_line_blame_formatter = "<author>, <author_time:%Y-%m-%d> - <summary>",
sign_priority = 6,
update_debounce = 100,
status_formatter = nil, -- Use default
max_file_length = 40000, -- Disable if file is longer than this (in lines)
preview_config = {
-- Options passed to nvim_open_win
border = "single",
style = "minimal",
relative = "cursor",
row = 0,
col = 1,
},
},
},
{
"NeogitOrg/neogit",
lazy = true,
dependencies = {
-- Only one of these is needed.
"sindrets/diffview.nvim", -- optional
-- "esmuellert/codediff.nvim", -- optional
-- For a custom log pager
"m00qek/baleia.nvim", -- optional
-- Only one of these is needed.
-- "nvim-telescope/telescope.nvim", -- optional
-- "ibhagwan/fzf-lua", -- optional
-- "nvim-mini/mini.pick", -- optional
-- "folke/snacks.nvim", -- optional
},
cmd = "Neogit",
keys = {
{ "<leader>gg", "<cmd>Neogit<cr>", desc = "Show Neogit UI" },
},
},
}
+55 -22
View File
@@ -2,6 +2,7 @@ return {
{
"mason-org/mason.nvim",
lazy = false,
-- event = { "UIEnter" },
--cmd = { "Mason", "MasonInstall", "MasonUninstall", "MasonUpdate", "MasonUninstallAll", "MasonLog" },
opts = {},
},
@@ -9,7 +10,7 @@ return {
"nvim-treesitter/nvim-treesitter",
lazy = false,
build = ":TSUpdate",
event = { "BufRead" },
-- event = { "UIEnter" },
opts = {
sync_install = false,
auto_install = true,
@@ -28,6 +29,7 @@ return {
},
ensure_installed = {
"bash",
-- "dart",
"html",
"javascript",
"gdscript",
@@ -43,20 +45,21 @@ return {
{
"mason-org/mason-lspconfig.nvim",
lazy = false,
-- events = { "UIEnter" }
opts = {
ensure_installed = {
"rust_analyzer",
"ruff",
-- "ruff",
"biome",
--"quick_lint_js",
--"eslint",
"html",
"cssls",
"sqls",
"hyprls",
-- "sqls",
-- "hyprls",
"lua_ls",
-- "pylyzer",
"vimls",
-- "vimls",
"ts_ls",
},
automatic_enable = { true, rust_analyzer = false },
@@ -74,24 +77,30 @@ return {
-- lua & third party sources -- See https://github.com/ms-jpq/coq.thirdparty
-- Need to **configure separately**
--{ "ms-jpq/coq.thirdparty", branch = "3p", lazy = false },
{ "ms-jpq/coq.thirdparty", branch = "3p", lazy = false },
-- - shell repl
-- - nvim lua api
-- - scientific calculator
-- - comment banner
-- - etc
},
opts = {
-- inlay_hint = { enabled = true },
-- lsp = {
-- inlay_hint = { enabled = true },
-- },
},
init = function()
vim.g.coq_settings = {
auto_start = true, -- if you want to start COQ at startup
-- Your COQ settings here
display = { statusline = { helo = false } }, -- disable greeting notification
}
vim.g.coq_settings = {} -- Your COQ settings here
-- vim.lsp.inlay_hints.enable()
end,
--coq.nvim: lsp_ensure_capabilities is a no-op in v2. neovim 0.12's vim.lsp.protocol.make_client_capabilities() already covers what v1 used to inject. Drop the wrapping call.
---@type vim.lsp.Config
config = function()
vim.lsp.config(
"rust_analyzer",
coq.lsp_ensure_capabilities({
vim.lsp.protocol.make_client_capabilities({
settings = {
["rust-analyzer"] = {
imports = {
@@ -109,22 +118,27 @@ return {
enable = true,
},
},
-- inlay_hint = { enabled = true },
},
})
)
vim.lsp.config("gdscript", coq.lsp_ensure_capabilities({}))
--vim.lsp.enable({ "lua_ls" })
-- vim.lsp.enable("gdscript")
-- vim.lsp.enable({ "gdscript" })
-- vim.lsp.enable({ "lua_ls" })
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("UserLspConfig", {}),
callback = function(ev)
-- Enable completion triggered by <c-x><c-o>
vim.bo[ev.buf].omnifunc = "v:lua.vim.lsp.omnifunc"
-- vim.o[ev.buf].omnifunc = vim.lsp.omnifunc -- TODO: fix this
-- vim.o.omnifunc.set(vim.lsp.omnifunc)
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev)
vim.keymap.set("n", "]d", vim.diagnostic.goto_next)
vim.keymap.set("n", "<leader>le", vim.diagnostic.open_float)
-- vim.keymap.set("n", "<leader>lh", vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()))
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts)
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
vim.keymap.set("n", "gi", vim.lsp.buf.incoming_calls, opts)
vim.keymap.set("n", "go", vim.lsp.buf.outgoing_calls, opts)
vim.keymap.set("n", "<leader>K", vim.lsp.buf.hover, opts)
vim.keymap.set("n", "<leader>wa", vim.lsp.buf.add_workspace_folder, opts)
vim.keymap.set("n", "<leader>wr", vim.lsp.buf.remove_workspace_folder, opts)
@@ -132,6 +146,13 @@ return {
end,
})
end,
-- keys = {
-- {
-- "<leader>lh",
-- function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) end,
-- desc = "toggle inlay hints",
-- },
-- },
},
{
"mfussenegger/nvim-lint",
@@ -140,6 +161,7 @@ return {
opts = {
linters_by_ft = {
cpp = { "cpplint" },
dart = { "flutter" },
gdscript = { "gdlint" },
gitcommit = { "commitlint" },
lua = { "ast-grep" },
@@ -162,17 +184,17 @@ return {
-- supposedly faster formatter
{
"stevearc/conform.nvim",
event = { "BufWritePost" },
event = { "BufWritePre" },
keys = {
{
"<leader>i",
function() require("conform").format({ async = true }) end,
--function() require("conform").format({ async = true }) end,
desc = "Auto format file with formatter, also on F3",
},
{
"F3",
function() require("conform").format({ async = true }) end,
mode = { "n", "i" },
--function() require("conform").format({ async = true }) end,
--mode = { "n", "i" },
desc = "Auto format file with formatter",
},
},
@@ -224,10 +246,11 @@ return {
end,
},
},
{ "nvim-treesitter/nvim-treesitter-textobjects", lazy = true, event = "BufRead" },
-- { "nvim-treesitter/nvim-treesitter-textobjects", lazy = true, event = "BufRead" },
{
"nvim-treesitter/nvim-treesitter-context",
lazy = true,
branch = "master",
event = "BufRead",
opts = {
enable = true, -- Enable this plugin (Can be enabled/disabled later via commands)
@@ -246,7 +269,17 @@ return {
},
},
{
"jubnzv/virtual-types.nvim",
"nvim-flutter/flutter-tools.nvim",
lazy = false,
--event = { "BufEnter" },
--ft = "*.dart",
dependencies = {
"nvim-lua/plenary.nvim",
},
config = true,
},
-- {
-- "jubnzv/virtual-types.nvim",
-- lazy = false,
-- },
}
+2 -2
View File
@@ -2,7 +2,7 @@ return {
"nvim-lualine/lualine.nvim",
dependencies = { "nvim-tree/nvim-web-devicons" },
lazy = true,
event = { "VeryLazy" },
event = { "UIEnter" },
opts = {
options = {
icons_enabled = true,
@@ -87,7 +87,7 @@ return {
},
},
"filetype",
'require"lsp-status".status()',
-- require("lsp-status").status.get,
},
lualine_y = { "searchcount", "progress" },
lualine_z = { "selectioncount", "location" },
+95 -51
View File
@@ -43,7 +43,7 @@ return {
{ "rcarriga/nvim-notify", lazy = true }, -- dep of noice.nvim
{
"nvim-mini/mini.nvim",
lazy = true,
event = { "UIEnter" },
version = false,
},
{
@@ -54,13 +54,100 @@ return {
modes = { ":", "/", "?" },
},
},
-- {
-- "OXY2DEV/markview.nvim",
-- lazy = true,
-- ft = "Markdown",
-- -- keys = { "<leader>M", mode = { "n" }, "<cmd>Markview toggle<cr>", desc = "Toggle Markdown render" },
-- cmd = "Markview",
-- event = { "BufRead *.md" },
-- },
{
"OXY2DEV/markview.nvim",
lazy = true,
ft = "Markdown",
-- keys = { "<leader>M", mode = { "n" }, "<cmd>Markview toggle<cr>", desc = "Toggle Markdown render" },
cmd = "Markview",
event = { "BufRead *.md" },
"MeanderingProgrammer/render-markdown.nvim",
dependencies = { "nvim-treesitter/nvim-treesitter", "nvim-mini/mini.nvim" }, -- if you use the mini.nvim suite
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-mini/mini.icons' }, -- if you use standalone mini plugins
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons
---@module 'render-markdown'
---@type render.md.UserConfig
opts = {
checkbox = {
enabled = true,
render_modes = true,
position = "inline",
unchecked = { icon = "󰄱 ", highlight = "RenderMarkdownUnchecked" },
checked = { icon = "󰱒 ", highlight = "RenderMarkdownChecked" },
custom = {
todo = { raw = "[-]", rendered = "󰗡 Todo", highlight = "RenderMarkdownTodo" },
},
},
},
event = { "BufEnter *.md" },
},
{
-- filetypes for mermaid:
-- .mmd
-- .mermaid
"kevalin/mermaid.nvim",
dependencies = {
"nvim-treesitter/nvim-treesitter",
},
opts = {
format = {
shift_width = 4, -- Indentation size (spaces)
},
lint = {
enabled = true, -- Enable diagnostics via mmdc
command = "mmdc", -- Path to mermaid-cli executable
},
preview = {
renderer = "mermaid.js", -- "mermaid.js" or "beautiful-mermaid"
theme = "dark", -- Theme name (renderer-specific)
},
},
config = {
vim.api.nvim_create_autocmd("FileType", {
pattern = "mermaid",
callback = function()
local buf = vim.api.nvim_get_current_buf()
vim.keymap.set(
"n",
"<leader>mp",
"<cmd>MermaidPreview<CR>",
{ buffer = buf, desc = "Mermaid Preview" }
)
vim.keymap.set(
"n",
"<leader>mf",
"<cmd>MermaidFormat<CR>",
{ buffer = buf, desc = "Mermaid Format" }
)
vim.keymap.set(
"n",
"<leader>mr",
"<cmd>MermaidRender<CR>",
{ buffer = buf, desc = "Mermaid Render" }
)
vim.keymap.set(
"n",
"<leader>mc",
"<cmd>MermaidCopyURL<CR>",
{ buffer = buf, desc = "Mermaid Copy URL" }
)
vim.keymap.set(
"n",
"<leader>mx",
"<cmd>MermaidPreviewStop<CR>",
{ buffer = buf, desc = "Mermaid Stop Preview" }
)
end,
}),
},
-- config = function()
-- require("mermaid").setup()
-- -- Install the Tree-sitter parser:
-- -- :TSInstall mermaid
-- end
},
{
"norcalli/nvim-colorizer.lua",
@@ -126,54 +213,11 @@ return {
},
{
"folke/trouble.nvim",
opts = {},
opts = { use_diagnostic_signs = true },
cmd = "Trouble",
lazy = true,
keys = { "<leader>x" },
},
{
"lewis6991/gitsigns.nvim",
event = "UIEnter",
opts = {
signs = {
add = { text = "│" },
change = { text = "│" },
delete = { text = "_" },
topdelete = { text = "‾" },
changedelete = { text = "~" },
untracked = { text = "┆" },
},
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
numhl = true, -- Toggle with `:Gitsigns toggle_numhl`
linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
watch_gitdir = {
follow_files = true,
},
attach_to_untracked = true,
current_line_blame = true, -- Toggle with `:Gitsigns toggle_current_line_blame`
current_line_blame_opts = {
virt_text = true,
virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align'
delay = 150,
ignore_whitespace = false,
virt_text_priority = 0,
},
current_line_blame_formatter = "<author>, <author_time:%Y-%m-%d> - <summary>",
sign_priority = 6,
update_debounce = 100,
status_formatter = nil, -- Use default
max_file_length = 40000, -- Disable if file is longer than this (in lines)
preview_config = {
-- Options passed to nvim_open_win
border = "single",
style = "minimal",
relative = "cursor",
row = 0,
col = 1,
},
},
},
{
"nvzone/typr",
dependencies = "nvzone/volt",
+49
View File
@@ -17,5 +17,54 @@ return {
scroll = { enabled = true },
statuscolumn = { enabled = true },
words = { enabled = false },
zen = {
enabled = true,
-- You can add any `Snacks.toggle` id here.
-- Toggle state is restored when the window is closed.
-- Toggle config options are NOT merged.
---@type table<string, boolean>
toggles = {
dim = false,
git_signs = false,
mini_diff_signs = false,
diagnostics = true,
inlay_hints = true,
},
center = true,
show = {
statusline = false,
tabline = false,
windowline = false,
},
---@type snacks.win.Config
win = { style = "zen" },
--- Callback when the window is opened.
---@param win snacks.win
on_open = function(win) end,
--- Callback when the window is closed.
---@param win snacks.win
on_close = function(win) end,
--- Options for the `Snacks.zen.zoom()`
---@type snacks.zen.Config
zoom = {
toggles = {},
center = false,
show = { statusline = true, tabline = true },
win = {
backdrop = false,
width = 0, -- full width
},
},
},
},
styles = {
zen = {
backdrop = { transparent = false },
keys = { q = false }, -- for enabling/disabling recording of macros
},
},
keys = {
{ "<leader>z", function() Snacks.zen() end, desc = "Toggle Zen Mode" },
{ "<leader>Z", function() Snacks.zen.zoom() end, desc = "Toggle Zoom" },
},
}
+16
View File
@@ -0,0 +1,16 @@
return {
{
"chomosuke/typst-preview.nvim",
lazy = false, -- or ft = 'typst'
version = "1.*",
opts = {}, -- lazy.nvim will implicitly calls `setup {}`
},
-- {
-- "al-kot/typst-preview.nvim",
-- ft = { "typst" },
-- opts = {
-- --
-- -- your config here
-- },
-- },
}
+44 -3
View File
@@ -76,6 +76,24 @@ return {
{ "<leader>gu", "<cmd>Gitsigns undo_stage_hunk<cr>", desc = "Undo Stage Hunk" },
{ "<leader>le", vim.diagnostic.open_float, desc = "Open diagnostic float" },
{
"<leader>lh",
function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) end,
desc = "toggle inlay hints",
},
{
"<leader>i",
function() require("conform").format({ async = true }) end,
mode = "n",
silent = true,
desc = "Auto format file with formatter, also on F3",
},
{
"F3",
function() require("conform").format({ async = true }) end,
mode = { "n", "i" },
desc = "Auto format file with formatter",
},
{ "<leader>K", desc = "Show definition" },
-- { "<Leader>d", group = "Debugging" },
-- {
@@ -85,6 +103,9 @@ return {
-- { "<Leader>dc", require("dap").continue, desc = "Continue" },
-- },
-- { "<leader>z", function() Snacks.zen() end, desc = "Toggle Zen Mode" },
-- { "<leader>Z", function() Snacks.zen.zoom() end, desc = "Toggle Zoom" },
-- trouble plugin
{ "<leader>xx", "<cmd>Trouble diagnostics toggle<cr>", desc = "Diagnostics (Trouble)" },
{
@@ -104,8 +125,13 @@ return {
-- QOL shortcuts
{ "<leader>n", "<cmd>nohl<cr>", desc = "Stop highlighting search results" },
{ "<leader>m", "<cmd>NoiceDismiss<cr>", desc = "Dismiss notifications" },
{ "<leader>M", "<cmd>Markview toggle<cr>", desc = "Markview toggle source view" },
-- { "<leader>M", "<cmd>Markview toggle<cr>", desc = "Markview toggle source view" },
{
"<leader>M",
mode = { "n" },
function() require("render-markdown").toggle() end,
desc = "Toggle Markdown render",
},
{ "<leader>r", group = "Rename" },
{ "<leader>rr", vim.lsp.buf.rename, opts, desc = "Rename Variable" },
@@ -127,6 +153,21 @@ return {
{ "<leader>tn", "<cmd>tabnext<cr>", desc = "Next Tab" },
{ "<leader>tp", "<cmd>tabprevious<cr>", desc = "Previous Tab" },
-- { "<leader>Ts", function() require("typst-preview").start() end, desc = "Start Typst preview" },
-- { "<leader>Tq", function() require("typst-preview").stop() end, desc = "Stop Typst preview" },
-- { "<leader>Tn", function() require("typst-preview").next_page() end, desc = "Next page" },
-- {
-- "<leader>Tp",
-- function()
-- require("typst-preview")
-- prev_page()
-- end,
-- desc = "Previous page",
-- },
-- { "<leader>Tr", function() require("typst-preview").refresh() end, desc = "Refresh preview" },
-- { "<leader>Tgg", function() require("typst-preview").first_page() end, desc = "First page" },
-- { "<leader>TG", function() require("typst-preview").last_page() end, desc = "Last page" },
{ "<leader>u", desc = "Toggle undo-tree" },
{ "<leader>w", group = "Workspaces + Whichkey" },
{ "<leader>wa", desc = "Add workspace folder" },
@@ -238,7 +279,7 @@ return {
{ "gD", desc = "go to declaration" },
{ "gd", desc = "go to definition" },
{ "gi", desc = "show implementations" },
{ "gr", desc = "list all references to symbol under cursor" },
{ "gr", vim.lsp.buf.references, desc = "list all references to symbol under cursor" },
--undotree
{ "j", desc = "jump to next undo node" },