Compare commits

14 Commits

14 changed files with 105 additions and 50 deletions

View File

@@ -1,6 +1,6 @@
MIT License MIT License
Copyright (c) Matej Janežič Copyright (c) 2025 Matej Janežič
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@@ -19,4 +19,11 @@ now_if_args(function()
sh = true, sh = true,
typescript = true, typescript = true,
} }
-- remap default <M-\> to first close pumenu if open
local function suggest()
if vim.fn.pumvisible() == 1 then vim.fn.complete(vim.fn.col("."), {}) end
return vim.fn["copilot#Suggest"]()
end
vim.keymap.set("i", "<M-\\>", suggest)
end) end)

View File

@@ -1,8 +1,8 @@
MiniDeps.later(function() MiniDeps.later(function()
MiniDeps.add("ibhagwan/fzf-lua") MiniDeps.add("ibhagwan/fzf-lua")
local fzf = require("fzf-lua") local fzf_lua = require("fzf-lua")
fzf.setup({ fzf_lua.setup({
files = { files = {
no_ignore = true, no_ignore = true,
toggle_ignore_flag = "--no-ignore-vcs", toggle_ignore_flag = "--no-ignore-vcs",
@@ -13,11 +13,12 @@ MiniDeps.later(function()
}, },
}) })
vim.keymap.set("n", "<leader>sf", fzf.files) vim.keymap.set("n", "<leader>sf", fzf_lua.files)
vim.keymap.set("n", "<leader>sg", fzf.live_grep) vim.keymap.set("n", "<leader>sg", fzf_lua.live_grep)
vim.keymap.set("n", "<leader>sw", fzf.grep_cword) vim.keymap.set("n", "<leader>sw", fzf_lua.grep_cword)
vim.keymap.set("v", "<leader>sg", fzf.grep_visual) vim.keymap.set("v", "<leader>sg", fzf_lua.grep_visual)
vim.keymap.set("n", "<leader>sj", fzf_lua.jumps)
vim.keymap.set("n", "<leader>sr", fzf.resume) vim.keymap.set("n", "<leader>sh", fzf_lua.helptags)
vim.keymap.set("n", "<leader>sb", fzf.builtin) vim.keymap.set("n", "<leader>sr", fzf_lua.resume)
vim.keymap.set("n", "<leader>sb", fzf_lua.builtin)
end) end)

View File

@@ -1,11 +0,0 @@
MiniDeps.later(function()
MiniDeps.add("f-person/git-blame.nvim")
require("gitblame").setup({
enabled = false,
message_template = " <sha>: <author> <date> <summary>",
date_format = "%Y-%m-%d",
})
vim.keymap.set("n", "<leader>gt", ":GitBlameToggle<CR>")
vim.keymap.set("n", "<leader>gs", ":GitBlameCopySHA<CR>")
end)

View File

@@ -1,6 +1,8 @@
MiniDeps.later(function() MiniDeps.later(function()
MiniDeps.add("nvim-lua/plenary.nvim") MiniDeps.add({
MiniDeps.add("ruifm/gitlinker.nvim") source = "ruifm/gitlinker.nvim",
depends = { "nvim-lua/plenary.nvim" },
})
require("gitlinker").setup({ require("gitlinker").setup({
callbacks = { callbacks = {
["git.aflabs.org"] = require("gitlinker.hosts").get_gitlab_type_url, ["git.aflabs.org"] = require("gitlinker.hosts").get_gitlab_type_url,

View File

@@ -9,4 +9,12 @@ MiniDeps.later(function()
changedelete = { text = "~" }, changedelete = { text = "~" },
}, },
}) })
-- blame
vim.keymap.set({ "n", "v" }, "<leader>gb", ":Gitsigns blame<CR>")
vim.keymap.set({ "n", "v" }, "<leader>gt", ":Gitsigns blame_line<CR>")
-- hunks
vim.keymap.set({ "n", "v" }, "<leader>ga", ":Gitsigns stage_hunk<CR>")
vim.keymap.set({ "n", "v" }, "<leader>gr", ":Gitsigns reset_hunk<CR>")
end) end)

View File

@@ -2,7 +2,7 @@ MiniDeps.later(function()
MiniDeps.add("neovim/nvim-lspconfig") MiniDeps.add("neovim/nvim-lspconfig")
vim.lsp.enable({ vim.lsp.enable({
"basedpyright", "pyright",
"ts_ls", "ts_ls",
"rust_analyzer", "rust_analyzer",
"clangd", "clangd",
@@ -59,7 +59,7 @@ MiniDeps.later(function()
) )
local tD_dH = vim.lsp.protocol.Methods.textDocument_documentHighlight local tD_dH = vim.lsp.protocol.Methods.textDocument_documentHighlight
if client and client.supports_method(tD_dH) then if client and client:supports_method(tD_dH) then
local ag = vim.api.nvim_create_augroup local ag = vim.api.nvim_create_augroup
local ac = vim.api.nvim_create_autocmd local ac = vim.api.nvim_create_autocmd
local g = ag("custom-lsp-tD_dH-highlight", { clear = false }) local g = ag("custom-lsp-tD_dH-highlight", { clear = false })

View File

@@ -0,0 +1,12 @@
MiniDeps.later(function()
require("mini.cursorword").setup()
local function disable(args)
local client = vim.lsp.get_client_by_id(args.data.client_id)
local tD_dH = vim.lsp.protocol.Methods.textDocument_documentHighlight
if client and not client:supports_method(tD_dH) then return end
vim.b[args.buf].minicursorword_disable = true
end
vim.api.nvim_create_autocmd("LspAttach", { callback = disable })
end)

View File

@@ -12,15 +12,10 @@ MiniDeps.later(function()
"qf", "qf",
} }
local disable_set = {}
for _, v in ipairs(disable) do
disable_set[v] = true
end
local function term_disable(args) vim.b[args.buf].miniindentscope_disable = true end local function term_disable(args) vim.b[args.buf].miniindentscope_disable = true end
local function ft_disable(args) local function ft_disable(args)
local ft = vim.bo[args.buf].filetype local ft = vim.bo[args.buf].filetype
if disable_set[ft] == nil then return end if not vim.tbl_contains(disable, ft) then return end
vim.b[args.buf].miniindentscope_disable = true vim.b[args.buf].miniindentscope_disable = true
end end

View File

@@ -1 +0,0 @@
MiniDeps.later(function() require("mini.pairs").setup() end)

View File

@@ -12,24 +12,60 @@ local function reinstall_treesitter()
ts.install(ts.get_installed(), { force = true }) ts.install(ts.get_installed(), { force = true })
end end
local function deps_section()
local mini_deps = require("mini.deps")
local nr_deps = #vim.iter(mini_deps):enumerate():totable()
local items = {
{
name = "number of dependencies " .. nr_deps,
action = "",
section = "dependencies",
},
}
local function mk_dep_item(name, action)
return { name = name, action = action, section = "dependencies" }
end
local deps_actions = {
mk_dep_item("update dependencies", "DepsUpdate"),
mk_dep_item("snap dependencies", "DepsSnapSave"),
mk_dep_item("load dependencies", "DepsSnapLoad"),
mk_dep_item("clean dependencies", "DepsClean"),
}
if vim.fn.getcwd() == vim.fn.stdpath("config") then
for _, item in ipairs(deps_actions) do
table.insert(items, item)
end
end
return items
end
MiniDeps.now(function() MiniDeps.now(function()
local builtins = {
{ name = "edit new buffer", action = "enew", section = "builtin actions" },
{ name = "quit neovim", action = "qall", section = "builtin actions" },
}
require("mini.starter").setup({ require("mini.starter").setup({
query_updaters = "abcdefghijklmnopqrstuvwxyz0123456789_.", query_updaters = "abcdefghijklmnopqrstuvwxyz0123456789_.",
evaluate_single = true, evaluate_single = true,
header = default_header, header = default_header,
footer = "", footer = "",
items = { items = {
--stylua: ignore start
-- builtins -- builtins
{ name = "edit new buffer", action = "enew", section = "builtin actions" }, builtins,
{ name = "quit neovim", action = "qall", section = "builtin actions" },
-- dependencies -- dependencies
{ name = "update dependencies", action = "DepsUpdate", section = "dependencies" }, deps_section,
{ name = "snap dependencies", action = "DepsSnapSave", section = "dependencies" },
{ name = "load dependencies", action = "DepsSnapLoad", section = "dependencies" },
-- debug -- debug
{ name = "reinstall treesitter parsers", action = reinstall_treesitter, section = "debug" }, {
--stylua: ignore end name = "reinstall treesitter parsers",
action = reinstall_treesitter,
section = "debug",
},
}, },
}) })
end) end)

View File

@@ -0,0 +1,4 @@
MiniDeps.later(function()
MiniDeps.add("windwp/nvim-autopairs")
require("nvim-autopairs").setup()
end)

View File

@@ -1,5 +1,7 @@
MiniDeps.now(function() MiniDeps.now(function()
MiniDeps.add("folke/todo-comments.nvim") MiniDeps.add({
MiniDeps.add("nvim-lua/plenary.nvim") source = "folke/todo-comments.nvim",
depends = { "nvim-lua/plenary.nvim" },
})
require("todo-comments").setup() require("todo-comments").setup()
end) end)

View File

@@ -1,16 +1,16 @@
return { return {
["copilot.vim"] = "da369d90cfd6c396b1d0ec259836a1c7222fb2ea", ["copilot.vim"] = "da369d90cfd6c396b1d0ec259836a1c7222fb2ea",
["fzf-lua"] = "db3ccffe79480543d8e0f7b0cac0d9b220f9486e", ["fzf-lua"] = "6bb2a266facf0d16e30371b6b433037d1828a674",
["git-blame.nvim"] = "54da04264ec5313d602aebea7c5dc90141696ad7",
["gitlinker.nvim"] = "cc59f732f3d043b626c8702cb725c82e54d35c25", ["gitlinker.nvim"] = "cc59f732f3d043b626c8702cb725c82e54d35c25",
["gitsigns.nvim"] = "1ee5c1fd068c81f9dd06483e639c2aa4587dc197", ["gitsigns.nvim"] = "20ad4419564d6e22b189f6738116b38871082332",
["gruvbox-material"] = "834dbf21836862300ced7444db4262b796330ab7", ["gruvbox-material"] = "834dbf21836862300ced7444db4262b796330ab7",
["guess-indent.nvim"] = "84a4987ff36798c2fc1169cbaff67960aed9776f", ["guess-indent.nvim"] = "84a4987ff36798c2fc1169cbaff67960aed9776f",
["mini.nvim"] = "5e1dd6e3d5f758eccf6c51461559da785dba688c", ["mini.nvim"] = "d1a91582bf2d16026ae84292874c70fb2d0ffe42",
["nvim-lspconfig"] = "ac98db2f9f06a56498ec890a96928774eae412c3", ["nvim-autopairs"] = "7a2c97cccd60abc559344042fefb1d5a85b3e33b",
["nvim-treesitter"] = "0606c7a9dcaa5c5beee0b0f09043e9fdd1ba0a68", ["nvim-lspconfig"] = "a9b2fb560c4ab22c10728fd5149dbd7b62aa4f69",
["oil.nvim"] = "919e155fdf38e9148cdb5304faaaf53c20d703ea", ["nvim-treesitter"] = "738d9ced4ce5b4538c3a0e23ceca12c34c8d2e74",
["oil.nvim"] = "7e1cd7703ff2924d7038476dcbc04b950203b902",
["plenary.nvim"] = "b9fd5226c2f76c951fc8ed5923d85e4de065e509", ["plenary.nvim"] = "b9fd5226c2f76c951fc8ed5923d85e4de065e509",
["rainbow-delimiters.nvim"] = "3277ad5f96eb03c9d618c88e24f683e4364e578c", ["rainbow-delimiters.nvim"] = "b6b3c9e3f8db02a56416b8ee25d3dbd079ebf26b",
["todo-comments.nvim"] = "19d461ddd543e938eb22505fb03fa878800270b6" ["todo-comments.nvim"] = "19d461ddd543e938eb22505fb03fa878800270b6"
} }