nvim: Rename core plugin spec to base.lua
This should make it hopefully still clear that they are expected plugins for the configuration while also delineating it from the 'core' module which bootstraps lazy and sets fundamental options and so on.
This commit is contained in:
parent
f8625f35f0
commit
b574ba5947
1 changed files with 0 additions and 0 deletions
241
nvim/.config/nvim/lua/plugins/base.lua
Normal file
241
nvim/.config/nvim/lua/plugins/base.lua
Normal file
|
|
@ -0,0 +1,241 @@
|
|||
return {
|
||||
-- allow seamless navigation between vim buffers and tmux/wezterm splits
|
||||
{
|
||||
"numToStr/Navigator.nvim",
|
||||
branch = "master",
|
||||
config = true,
|
||||
event = "VeryLazy",
|
||||
keys = {
|
||||
{
|
||||
"<c-w>h",
|
||||
function()
|
||||
require("Navigator").left()
|
||||
end,
|
||||
{ silent = true },
|
||||
},
|
||||
{
|
||||
"<c-w>k",
|
||||
function()
|
||||
require("Navigator").up()
|
||||
end,
|
||||
{ silent = true },
|
||||
},
|
||||
{
|
||||
"<c-w>l",
|
||||
function()
|
||||
require("Navigator").right()
|
||||
end,
|
||||
{ silent = true },
|
||||
},
|
||||
{
|
||||
"<c-w>j",
|
||||
function()
|
||||
require("Navigator").down()
|
||||
end,
|
||||
{ silent = true },
|
||||
},
|
||||
{
|
||||
"<c-w>p",
|
||||
function()
|
||||
require("Navigator").previous()
|
||||
end,
|
||||
{ silent = true },
|
||||
},
|
||||
},
|
||||
},
|
||||
-- jump between letters with improved fFtT quicksearch, mimics sneak
|
||||
{
|
||||
"folke/flash.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
modes = {
|
||||
search = {
|
||||
enabled = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"s",
|
||||
mode = { "n", "x" },
|
||||
function()
|
||||
require("flash").jump()
|
||||
end,
|
||||
desc = "Flash",
|
||||
},
|
||||
{
|
||||
"S",
|
||||
mode = { "n", "x", "o" },
|
||||
function()
|
||||
require("flash").treesitter()
|
||||
end,
|
||||
desc = "Flash Treesitter",
|
||||
},
|
||||
{
|
||||
"r",
|
||||
mode = "o",
|
||||
function()
|
||||
require("flash").remote()
|
||||
end,
|
||||
desc = "Remote Flash",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- personal dict improvements for git sync
|
||||
{ "micarmst/vim-spellsync", event = "VeryLazy" },
|
||||
{
|
||||
"folke/which-key.nvim",
|
||||
event = "CursorHold",
|
||||
opts = { icons = { mappings = false } },
|
||||
},
|
||||
-- collection of plugins
|
||||
{
|
||||
"echasnovski/mini.nvim",
|
||||
dependencies = { "rktjmp/fwatch.nvim" }, -- for colorscheme updating
|
||||
event = "VimEnter", -- need to load pretty soon for Starter screen
|
||||
config = function()
|
||||
-- automatic callback to invoke 'mini.base16' when colorscheme file is changed
|
||||
local colorsfile = vim.fn.stdpath("state") .. "/colorscheme.lua"
|
||||
local function source_colors()
|
||||
if vim.fn.filereadable(colorsfile) == 1 then
|
||||
vim.cmd("source " .. colorsfile)
|
||||
end
|
||||
end
|
||||
-- set on startup
|
||||
source_colors()
|
||||
-- continuously watch colors file for changes
|
||||
local fwatch = require("fwatch")
|
||||
fwatch.watch(colorsfile, {
|
||||
on_event = vim.schedule_wrap(function()
|
||||
source_colors()
|
||||
end),
|
||||
})
|
||||
|
||||
-- this should be loaded as soon as the plugin is loaded
|
||||
local starter = require("mini.starter")
|
||||
starter.setup({
|
||||
evaluate_single = true,
|
||||
items = {
|
||||
starter.sections.builtin_actions(),
|
||||
{
|
||||
name = "Scratchpad",
|
||||
action = "lua require('personal.scratchpad').create()",
|
||||
section = "Builtin actions",
|
||||
},
|
||||
starter.sections.recent_files(10, true),
|
||||
starter.sections.recent_files(10, false),
|
||||
-- Use this if you set up 'mini.sessions'
|
||||
-- starter.sections.sessions(),
|
||||
starter.sections.telescope(),
|
||||
},
|
||||
content_hooks = {
|
||||
starter.gen_hook.adding_bullet(),
|
||||
starter.gen_hook.padding(3, 2),
|
||||
starter.gen_hook.aligning("center", "center"),
|
||||
},
|
||||
})
|
||||
-- manually create lazy loading scenarios
|
||||
vim.api.nvim_create_autocmd({ "InsertEnter", "CursorHold" }, {
|
||||
once = true,
|
||||
callback = function()
|
||||
require("mini.ai").setup()
|
||||
-- Align tables and other alignable things
|
||||
require("mini.align").setup({})
|
||||
|
||||
require("mini.bracketed").setup({
|
||||
{
|
||||
buffer = { suffix = "b", options = {} },
|
||||
comment = { suffix = "k", options = {} },
|
||||
conflict = { suffix = "" }, -- disable to use git-conflict instead
|
||||
diagnostic = { suffix = "d", options = {} },
|
||||
file = { suffix = "", options = {} },
|
||||
indent = { suffix = "" }, -- disable since we use indentscope above
|
||||
jump = { suffix = "j", options = {} },
|
||||
location = { suffix = "l", options = {} },
|
||||
oldfile = { suffix = "o", options = {} }, -- FIXME: overwritten by wrapping defaults currently
|
||||
quickfix = { suffix = "q", options = {} },
|
||||
treesitter = { suffix = "t", options = {} },
|
||||
undo = { suffix = "" }, -- disable since I don't need it
|
||||
window = { suffix = "w", options = {} },
|
||||
yank = { suffix = "y", options = {} },
|
||||
},
|
||||
})
|
||||
require("mini.comment").setup({
|
||||
hooks = {
|
||||
pre = function()
|
||||
-- use treesitter commentstring functionality if it's installed
|
||||
if require("core.util").is_available("ts_context_commentstring") then
|
||||
require("ts_context_commentstring.internal").update_commentstring()
|
||||
end
|
||||
end,
|
||||
},
|
||||
})
|
||||
|
||||
require("mini.cursorword").setup({ delay = 500 })
|
||||
vim.api.nvim_set_hl(0, "MiniCursorword", { bold = true, underline = false })
|
||||
vim.api.nvim_set_hl(0, "MiniCursorwordCurrent", { bold = true, underline = false })
|
||||
|
||||
require("mini.files").setup()
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
pattern = "MiniFilesWindowUpdate",
|
||||
callback = function(args)
|
||||
vim.wo[args.data.win_id].number = true
|
||||
end,
|
||||
})
|
||||
|
||||
require("mini.fuzzy").setup()
|
||||
require("mini.indentscope").setup({
|
||||
symbol = "│",
|
||||
draw = { animation = require("mini.indentscope").gen_animation.none() },
|
||||
options = { indent_at_cursor = false },
|
||||
})
|
||||
require("mini.map").setup()
|
||||
require("mini.move").setup()
|
||||
require("mini.operators").setup()
|
||||
require("mini.pairs").setup()
|
||||
require("mini.trailspace").setup()
|
||||
end,
|
||||
})
|
||||
end,
|
||||
keys = {
|
||||
{
|
||||
"<leader>sm",
|
||||
function()
|
||||
require("mini.map").toggle()
|
||||
end,
|
||||
silent = true,
|
||||
desc = "minimap",
|
||||
},
|
||||
{
|
||||
"<leader>ss",
|
||||
function()
|
||||
require("mini.starter").open()
|
||||
end,
|
||||
silent = true,
|
||||
desc = "startpage",
|
||||
},
|
||||
{
|
||||
"<localleader>w",
|
||||
function()
|
||||
require("mini.trailspace").trim()
|
||||
end,
|
||||
desc = "Trim trailing whitespace",
|
||||
},
|
||||
{
|
||||
"<leader>e",
|
||||
function()
|
||||
local mf = require("mini.files")
|
||||
if not mf.close() then
|
||||
mf.open()
|
||||
end
|
||||
end,
|
||||
desc = "floating file browser",
|
||||
},
|
||||
},
|
||||
},
|
||||
-- try to avoid putting files in util buffers, e.g. filetree, aerial, undotree, ..
|
||||
{ "stevearc/stickybuf.nvim", config = true },
|
||||
-- make it a little less painful to open really big (>2mb) files by disabling features
|
||||
-- { "LunarVim/bigfile.nvim", lazy = false },
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue