nvim: define variables in the narrowest possible scope
This commit is contained in:
parent
e1adca48e0
commit
f6e6a319a5
19 changed files with 290 additions and 268 deletions
|
@ -1,15 +1,16 @@
|
|||
local icon = require("fschauen.util.icons").ui.Comment
|
||||
|
||||
return {
|
||||
"tpope/vim-commentary",
|
||||
|
||||
cmd = "Commentary",
|
||||
|
||||
keys = {
|
||||
keys = function()
|
||||
local icon = require("fschauen.util.icons").ui.Comment
|
||||
return {
|
||||
-- stylua: ignore start
|
||||
{ "gc", "<Plug>Commentary", mode = {"n", "x", "o"}, desc = icon.." Comment in/out" },
|
||||
{ "gcc", "<Plug>CommentaryLine", desc = icon.." Comment in/out line" },
|
||||
{ "gcu", "<Plug>Commentary<Plug>Commentary", desc = icon.." Undo comment in/out" },
|
||||
-- stylua: ignore end
|
||||
},
|
||||
}
|
||||
end,
|
||||
}
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
return {
|
||||
"monaqa/dial.nvim",
|
||||
|
||||
keys = function()
|
||||
---Create a right hand side for `dial` key maps.
|
||||
---@param cmd string: name of a function from `dial.map`.
|
||||
---@param suffix? string: keys to add after `dial`s mapping.
|
||||
|
@ -7,10 +11,28 @@ local dial_cmd = function(cmd, suffix)
|
|||
return function() return require("dial.map")[cmd]() .. suffix end
|
||||
end
|
||||
|
||||
local icons = require("fschauen.util.icons")
|
||||
local inc, dec = icons.ui.Increment, icons.ui.Decrement
|
||||
|
||||
return {
|
||||
-- stylua: ignore start
|
||||
{ "<c-a>", dial_cmd("inc_normal"), expr = true, desc = inc.." Increment" },
|
||||
{ "<c-x>", dial_cmd("dec_normal"), expr = true, desc = dec.." Decrement" },
|
||||
|
||||
{ "<c-a>", dial_cmd("inc_visual", "gv"), expr = true, desc = inc.." Increment", mode = "v" },
|
||||
{ "<c-x>", dial_cmd("dec_visual", "gv"), expr = true, desc = dec.." Decrement", mode = "v" },
|
||||
|
||||
{ "g<c-a>", dial_cmd("inc_gvisual", "gv"), expr = true, desc = inc.." Increment", mode = "v" },
|
||||
{ "g<c-x>", dial_cmd("dec_gvisual", "gv"), expr = true, desc = dec.." Decrement", mode = "v" },
|
||||
-- stylua: ignore end
|
||||
}
|
||||
end,
|
||||
|
||||
config = function()
|
||||
---Make a new augend that cycles over the given elements.
|
||||
---@param elements string[]: the elements to cycle.
|
||||
---@return table: @see `dial.types.Augend`
|
||||
local cyclic_augend = function(elements)
|
||||
local cycle = function(elements)
|
||||
return require("dial.augend").constant.new {
|
||||
elements = elements,
|
||||
word = true,
|
||||
|
@ -30,26 +52,6 @@ local weekdays = {
|
|||
|
||||
local weekdays_short = vim.tbl_map(function(s) return s:sub(1, 3) end, weekdays)
|
||||
|
||||
local ui = require("fschauen.util.icons").ui
|
||||
local inc, dec = ui.Increment, ui.Decrement
|
||||
|
||||
return {
|
||||
"monaqa/dial.nvim",
|
||||
|
||||
keys = {
|
||||
-- stylua: ignore start
|
||||
{ "<c-a>", dial_cmd("inc_normal"), expr = true, desc = inc.." Increment" },
|
||||
{ "<c-x>", dial_cmd("dec_normal"), expr = true, desc = dec.." Decrement" },
|
||||
|
||||
{ "<c-a>", dial_cmd("inc_visual", "gv"), expr = true, desc = inc.." Increment", mode = "v" },
|
||||
{ "<c-x>", dial_cmd("dec_visual", "gv"), expr = true, desc = dec.." Decrement", mode = "v" },
|
||||
|
||||
{ "g<c-a>", dial_cmd("inc_gvisual", "gv"), expr = true, desc = inc.." Increment", mode = "v" },
|
||||
{ "g<c-x>", dial_cmd("dec_gvisual", "gv"), expr = true, desc = dec.." Decrement", mode = "v" },
|
||||
-- stylua: ignore end
|
||||
},
|
||||
|
||||
config = function()
|
||||
local augend = require("dial.augend")
|
||||
require("dial.config").augends:register_group {
|
||||
default = {
|
||||
|
@ -61,8 +63,8 @@ return {
|
|||
augend.date.alias["%Y-%m-%d"],
|
||||
augend.date.alias["%d/%m/%Y"],
|
||||
augend.date.alias["%d.%m.%Y"],
|
||||
cyclic_augend(weekdays),
|
||||
cyclic_augend(weekdays_short),
|
||||
cycle(weekdays),
|
||||
cycle(weekdays_short),
|
||||
},
|
||||
}
|
||||
end,
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
local icon = require("fschauen.util.icons").ui.Git
|
||||
|
||||
return {
|
||||
"tpope/vim-fugitive",
|
||||
|
||||
cmd = { "G", "Git" },
|
||||
|
||||
keys = {
|
||||
keys = function()
|
||||
local icon = require("fschauen.util.icons").ui.Git
|
||||
return {
|
||||
-- stylua: ignore start
|
||||
{ "<leader>gS", "<cmd>tab Git<cr>", desc = icon.." [S]status (fugitive)" },
|
||||
{ "<leader>gb", "<cmd>Git blame<cr>", desc = icon.." [b]lame (fugitive)" },
|
||||
-- stylua: ignore end
|
||||
},
|
||||
}
|
||||
end,
|
||||
}
|
||||
|
|
|
@ -1,14 +1,16 @@
|
|||
local icon = require("fschauen.util.icons").ui.Git
|
||||
return {
|
||||
"rhysd/git-messenger.vim",
|
||||
|
||||
cmd = "GitMessenger",
|
||||
|
||||
keys = {
|
||||
keys = function()
|
||||
local icon = require("fschauen.util.icons").ui.Git
|
||||
return {
|
||||
-- stylua: ignore start
|
||||
{ "<leader>gm", "<cmd>GitMessenger<cr>", desc = icon.." [g]it [m]essenger" },
|
||||
-- stylua: ignore end
|
||||
},
|
||||
}
|
||||
end,
|
||||
|
||||
init = function()
|
||||
-- Disable default mappings, as I have my own for lazy-loading.
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
return {
|
||||
"ruifm/gitlinker.nvim",
|
||||
|
||||
dependencies = "nvim-lua/plenary.nvim",
|
||||
|
||||
keys = function()
|
||||
local open_repo = function()
|
||||
require("gitlinker").get_repo_url {
|
||||
action_callback = require("gitlinker.actions").open_in_browser,
|
||||
|
@ -21,13 +27,7 @@ local clipboard = function(mode)
|
|||
end
|
||||
|
||||
local icon = require("fschauen.util.icons").ui.Git
|
||||
|
||||
return {
|
||||
"ruifm/gitlinker.nvim",
|
||||
|
||||
dependencies = "nvim-lua/plenary.nvim",
|
||||
|
||||
keys = {
|
||||
-- stylua: ignore start
|
||||
{ "<leader>gr", open_repo, desc = icon.." open [r]epository in browser" },
|
||||
{ "<leader>gl", clipboard("n"), desc = icon.." copy perma[l]ink to clipboard" },
|
||||
|
@ -35,7 +35,8 @@ return {
|
|||
{ "<leader>gL", browser("n"), desc = icon.." open perma[L]ink in browser" },
|
||||
{ "<leader>gL", browser("v"), desc = icon.." open perma[L]ink in browser", mode = "v" },
|
||||
-- stylua: ignore end
|
||||
},
|
||||
}
|
||||
end,
|
||||
|
||||
-- This really does need to be a function, because we need to defer requiring
|
||||
-- the `gitlinker.hosts` module until after the plugin is loaded.
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
local helper = require("fschauen.plugins.telescope").keymap_helper
|
||||
local lhs, desc = helper.lhs, helper.description
|
||||
|
||||
return {
|
||||
"2kabhishek/nerdy.nvim",
|
||||
|
||||
|
@ -11,7 +8,11 @@ return {
|
|||
"nvim-telescope/telescope.nvim",
|
||||
},
|
||||
|
||||
keys = {
|
||||
keys = function()
|
||||
local helper = require("fschauen.plugins.telescope").keymap_helper
|
||||
local lhs, desc = helper.lhs, helper.description
|
||||
return {
|
||||
{ lhs("i"), "<cmd>Nerdy<cr>", desc = desc("Nerd [i]cons") },
|
||||
},
|
||||
}
|
||||
end,
|
||||
}
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
local icon = require("fschauen.util.icons").ui.Lint
|
||||
|
||||
return {
|
||||
"mfussenegger/nvim-lint",
|
||||
|
||||
keys = {
|
||||
keys = function()
|
||||
return {
|
||||
{
|
||||
"<leader>L",
|
||||
function() require("lint").try_lint() end,
|
||||
desc = icon .. " [L]int file",
|
||||
},
|
||||
desc = require("fschauen.util.icons").ui.Lint .. " [L]int file",
|
||||
},
|
||||
}
|
||||
end,
|
||||
|
||||
config = function()
|
||||
require("lint").linters_by_ft = {
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
local helper = require("fschauen.plugins.telescope").keymap_helper
|
||||
local lhs, desc = helper.lhs, helper.description
|
||||
return {
|
||||
"rcarriga/nvim-notify",
|
||||
|
||||
keys = function()
|
||||
local telescope_notifications = function()
|
||||
local telescope = vim.F.npcall(require, "telescope")
|
||||
if not telescope then
|
||||
|
@ -17,16 +18,17 @@ end
|
|||
|
||||
local dismiss_notifications = function() require("notify").dismiss() end
|
||||
|
||||
return {
|
||||
"rcarriga/nvim-notify",
|
||||
local helper = require("fschauen.plugins.telescope").keymap_helper
|
||||
local lhs, desc = helper.lhs, helper.description
|
||||
|
||||
keys = {
|
||||
return {
|
||||
-- stylua: ignore start
|
||||
{ "<leader>n", "<cmd>Notifications<cr>", desc = "Display notification history" },
|
||||
{ "<c-q>", dismiss_notifications, desc = "Dismiss notifications" },
|
||||
{ lhs("n"), telescope_notifications, desc = desc("[n]otifications") },
|
||||
-- stylua: ignore end
|
||||
},
|
||||
}
|
||||
end,
|
||||
|
||||
lazy = false,
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
local icon = require("fschauen.util.icons").ui.Web
|
||||
|
||||
return {
|
||||
"tyru/open-browser.vim",
|
||||
|
||||
|
@ -9,14 +7,17 @@ return {
|
|||
"OpenBrowserSmartSearch",
|
||||
},
|
||||
|
||||
keys = {
|
||||
keys = function()
|
||||
local icon = require("fschauen.util.icons").ui.Web
|
||||
return {
|
||||
{
|
||||
"<leader>o",
|
||||
"<Plug>(openbrowser-smart-search)",
|
||||
desc = icon .. " [o]pen URL under cursor or search the web",
|
||||
mode = { "n", "v" },
|
||||
},
|
||||
},
|
||||
}
|
||||
end,
|
||||
|
||||
init = function() vim.g.openbrowser_default_search = "duckduckgo" end,
|
||||
}
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
local icon = require("fschauen.util.icons").ui.Graph
|
||||
|
||||
return {
|
||||
"weirongxu/plantuml-previewer.vim",
|
||||
|
||||
|
@ -25,6 +23,7 @@ return {
|
|||
end,
|
||||
|
||||
config = function()
|
||||
local icon = require("fschauen.util.icons").ui.Graph
|
||||
local group = vim.api.nvim_create_augroup("fschauen.plantuml", { clear = true })
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
desc = "Create key map to toggle plantuml preview.",
|
||||
|
|
|
@ -1,18 +1,19 @@
|
|||
local helper = require("fschauen.plugins.telescope").keymap_helper
|
||||
local lhs, desc = helper.lhs, helper.description
|
||||
|
||||
return {
|
||||
"nvim-telescope/telescope-file-browser.nvim",
|
||||
|
||||
dependencies = "nvim-telescope/telescope.nvim",
|
||||
|
||||
keys = {
|
||||
keys = function()
|
||||
local helper = require("fschauen.plugins.telescope").keymap_helper
|
||||
local lhs, desc = helper.lhs, helper.description
|
||||
return {
|
||||
{
|
||||
lhs("B"),
|
||||
"<cmd>Telescope file_browser theme=ivy<cr>",
|
||||
desc = desc("file [B]rowser"),
|
||||
},
|
||||
},
|
||||
}
|
||||
end,
|
||||
|
||||
config = function() require("telescope").load_extension("file_browser") end,
|
||||
}
|
||||
|
|
|
@ -1,8 +1,3 @@
|
|||
local icon = require("fschauen.util.icons").ui.Text
|
||||
local description = icon .. " [c]hange text [c]ase"
|
||||
|
||||
local theme = function() return require("telescope.themes").get_cursor() end
|
||||
|
||||
return {
|
||||
"johmsalas/text-case.nvim",
|
||||
|
||||
|
@ -15,7 +10,12 @@ return {
|
|||
"TextCaseStartReplacingCommand",
|
||||
},
|
||||
|
||||
keys = {
|
||||
keys = function()
|
||||
local icon = require("fschauen.util.icons").ui.Text
|
||||
local description = icon .. " [c]hange text [c]ase"
|
||||
local theme = function() return require("telescope.themes").get_cursor() end
|
||||
|
||||
return {
|
||||
{
|
||||
"<leader>cc",
|
||||
function() require("telescope").extensions.textcase.normal_mode(theme()) end,
|
||||
|
@ -46,7 +46,8 @@ return {
|
|||
mode = "v",
|
||||
desc = description,
|
||||
},
|
||||
},
|
||||
}
|
||||
end,
|
||||
|
||||
config = function()
|
||||
require("textcase").setup {
|
||||
|
|
|
@ -1,8 +1,3 @@
|
|||
local ui = require("fschauen.util.icons").ui
|
||||
|
||||
local helper = require("fschauen.plugins.telescope").keymap_helper
|
||||
local lhs, desc = helper.lhs, helper.description
|
||||
|
||||
return {
|
||||
"folke/todo-comments.nvim",
|
||||
|
||||
|
@ -13,11 +8,17 @@ return {
|
|||
|
||||
event = { "BufReadPost", "BufNewFile" },
|
||||
|
||||
keys = {
|
||||
keys = function()
|
||||
local helper = require("fschauen.plugins.telescope").keymap_helper
|
||||
local lhs, desc = helper.lhs, helper.description
|
||||
return {
|
||||
{ lhs("t"), "<cmd>TodoTelescope<cr>", desc = desc("[t]odos") },
|
||||
},
|
||||
}
|
||||
end,
|
||||
|
||||
opts = {
|
||||
opts = function()
|
||||
local ui = require("fschauen.util.icons").ui
|
||||
return {
|
||||
keywords = {
|
||||
TODO = { icon = ui.Checkbox },
|
||||
FIX = { icon = ui.Bug },
|
||||
|
@ -33,5 +34,6 @@ return {
|
|||
keyword = "wide_fg",
|
||||
after = "",
|
||||
},
|
||||
},
|
||||
}
|
||||
end,
|
||||
}
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
local icon = require("fschauen.util.icons").ui.Tree
|
||||
|
||||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
|
||||
|
@ -15,13 +13,17 @@ return {
|
|||
|
||||
event = "VeryLazy",
|
||||
|
||||
keys = {
|
||||
keys = function()
|
||||
local icon = require("fschauen.util.icons").ui.Tree
|
||||
|
||||
return {
|
||||
-- stylua: ignore start
|
||||
{ "<leader>Tp", "<cmd>TSPlaygroundToggle<cr>", desc = icon.." [T]reesitter [p]layground (toggle)" },
|
||||
{ "<leader>Th", "<cmd>TSHighlightCapturesUnderCursor<cr>", desc = icon.." [T]reesitter [h]ighlights" },
|
||||
{ "<leader>Tn", "<cmd>TSNodeUnderCursor<cr>", desc = icon.." [T]reesitter [n]ode under cursor" },
|
||||
-- stylua: ignore end
|
||||
},
|
||||
}
|
||||
end,
|
||||
|
||||
config = function()
|
||||
require("nvim-treesitter.configs").setup {
|
||||
|
|
|
@ -1,16 +1,18 @@
|
|||
local icon = require("fschauen.util.icons").ui.TrafficLight
|
||||
return {
|
||||
"folke/trouble.nvim",
|
||||
|
||||
dependencies = "nvim-tree/nvim-web-devicons",
|
||||
|
||||
keys = {
|
||||
keys = function()
|
||||
local icon = require("fschauen.util.icons").ui.TrafficLight
|
||||
return {
|
||||
-- stylua: ignore start
|
||||
{ "<leader>lt", "<cmd>TroubleToggle<cr>", desc = icon.." trouble [t]toggle" },
|
||||
{ "<leader>lw", "<cmd>TroubleToggle workspace_diagnostics<cr>", desc = icon.." trouble [w]orkspace" },
|
||||
{ "<leader>ld", "<cmd>TroubleToggle document_diagnostics<cr>", desc = icon.." trouble [d]ocument" },
|
||||
-- stylua: ignore end
|
||||
},
|
||||
}
|
||||
end,
|
||||
|
||||
opts = {
|
||||
padding = false, -- don't add an extra new line of top of the list
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
local icon = require("fschauen.util.icons").ui.Undo
|
||||
|
||||
return {
|
||||
"mbbill/undotree",
|
||||
|
||||
|
@ -13,7 +11,10 @@ return {
|
|||
vim.g.undotree_TreeReturnShape = "╲"
|
||||
end,
|
||||
|
||||
keys = {
|
||||
keys = function()
|
||||
local icon = require("fschauen.util.icons").ui.Undo
|
||||
return {
|
||||
{ "<leader>u", "<cmd>UndotreeToggle<cr>", desc = icon .. " toggle [u]ndo tree" },
|
||||
},
|
||||
}
|
||||
end,
|
||||
}
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
local ui = require("fschauen.util.icons").ui
|
||||
|
||||
return {
|
||||
"lukas-reineke/virt-column.nvim",
|
||||
|
||||
event = { "BufReadPost", "BufNewFile" },
|
||||
|
||||
keys = function()
|
||||
local toggle_colorcolumn = function()
|
||||
if vim.o.colorcolumn == "" then
|
||||
vim.o.colorcolumn = "+1" -- one after 'textwidth'
|
||||
|
@ -6,16 +14,10 @@ local toggle_colorcolumn = function()
|
|||
end
|
||||
end
|
||||
|
||||
local ui = require("fschauen.util.icons").ui
|
||||
|
||||
return {
|
||||
"lukas-reineke/virt-column.nvim",
|
||||
|
||||
event = { "BufReadPost", "BufNewFile" },
|
||||
|
||||
keys = {
|
||||
{ "<leader>sc", toggle_colorcolumn, desc = ui.Toggle .. " toggle virtual colunn" },
|
||||
},
|
||||
}
|
||||
end,
|
||||
|
||||
opts = {
|
||||
char = ui.LineMiddle,
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
local icon = require("fschauen.util.icons").ui.Whitespace
|
||||
|
||||
return {
|
||||
"ntpeters/vim-better-whitespace",
|
||||
|
||||
|
@ -15,12 +13,15 @@ return {
|
|||
}
|
||||
end,
|
||||
|
||||
keys = {
|
||||
keys = function()
|
||||
local icon = require("fschauen.util.icons").ui.Whitespace
|
||||
return {
|
||||
-- stylua: ignore start
|
||||
{ "<leader>ww", "<cmd>ToggleWhitespace<cr>", desc = icon.." toggle whitespace" },
|
||||
{ "<leader>wj", "<cmd>NextTrailingWhitespace<cr>", desc = icon.." next whitespace" },
|
||||
{ "<leader>wk", "<cmd>PrevTrailingWhitespace<cr>", desc = icon.." previous whitespace" },
|
||||
{ "<leader>W", "<cmd>StripWhitespace<cr>", desc = icon.." strip whitespace" },
|
||||
-- stylua: ignore end
|
||||
},
|
||||
}
|
||||
end,
|
||||
}
|
||||
|
|
|
@ -88,7 +88,7 @@ M.ui = {
|
|||
Circle = "●",
|
||||
Comment = "",
|
||||
Comments = "",
|
||||
Decrement = "",
|
||||
Decrement = "", --
|
||||
Diagnostic = "",
|
||||
EmptyFolder = "",
|
||||
EmptyFolderOpen = "",
|
||||
|
@ -104,7 +104,7 @@ M.ui = {
|
|||
Gauge = "", --
|
||||
Git = " ",
|
||||
Graph = "",
|
||||
Increment = "",
|
||||
Increment = "", --
|
||||
LineLeft = "▏",
|
||||
LineLeftBold = "▎",
|
||||
LineMiddle = "│",
|
||||
|
|
Loading…
Add table
Reference in a new issue