refactor: reorganize post-configuration functions into utils module
This commit is contained in:
+11
-13
@@ -31,19 +31,17 @@ return {
|
||||
opts = { provider = "openai" },
|
||||
enabled = data.cond.minuet,
|
||||
},
|
||||
-- {
|
||||
-- "jackMort/ChatGPT.nvim",
|
||||
-- event = "VeryLazy",
|
||||
-- opts = {},
|
||||
-- dependencies = {
|
||||
-- "MunifTanjim/nui.nvim",
|
||||
-- "nvim-lua/plenary.nvim",
|
||||
-- "folke/trouble.nvim",
|
||||
-- "nvim-telescope/telescope.nvim",
|
||||
-- },
|
||||
-- },
|
||||
{
|
||||
{ -- ChatGPT
|
||||
"jackMort/ChatGPT.nvim",
|
||||
event = "VeryLazy",
|
||||
keys = data.keys.chatgpt.func,
|
||||
opts = data.types.chatgpt,
|
||||
dependencies = data.deps.chatgpt,
|
||||
},
|
||||
{ -- GP
|
||||
"robitx/gp.nvim",
|
||||
opts = {},
|
||||
lazy = false,
|
||||
opts = data.types.gp,
|
||||
keys = data.keys.gp.func,
|
||||
},
|
||||
}
|
||||
|
||||
+36
-4
@@ -57,6 +57,17 @@ return { -- cmp
|
||||
}
|
||||
luasnip.config.setup({})
|
||||
|
||||
local has_words_before = function()
|
||||
unpack = unpack or table.unpack
|
||||
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
|
||||
return col ~= 0
|
||||
and vim.api
|
||||
.nvim_buf_get_lines(0, line - 1, line, true)[1]
|
||||
:sub(col, col)
|
||||
:match("%s")
|
||||
== nil
|
||||
end
|
||||
|
||||
cmp.setup({
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
@@ -78,14 +89,33 @@ return { -- cmp
|
||||
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||
["<C-y>"] = cmp.mapping.confirm({ select = true }),
|
||||
["<C-Space>"] = cmp.mapping.complete({}),
|
||||
["<Tab>"] = cmp.mapping(function()
|
||||
if luasnip.expand_or_locally_jumpable() then
|
||||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
-- cmp.confirm({ select = true })
|
||||
elseif luasnip.expand_or_locally_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
elseif vim.snippet.active({ direction = 1 }) then
|
||||
vim.schedule(function()
|
||||
vim.snippet.jump(1)
|
||||
end)
|
||||
elseif has_words_before() then
|
||||
cmp.complete()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
["<S-Tab>"] = cmp.mapping(function()
|
||||
if luasnip.locally_jumpable(-1) then
|
||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif luasnip.locally_jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
elseif vim.snippet.active({ direction = -1 }) then
|
||||
vim.schedule(function()
|
||||
vim.snippet.jump(-1)
|
||||
end)
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
}),
|
||||
@@ -98,8 +128,10 @@ return { -- cmp
|
||||
{ name = "dotenv" },
|
||||
{ name = "calc" },
|
||||
{ name = "conventionalcommits" },
|
||||
{ name = "nerd", priority = 9997 },
|
||||
{ name = "gitmoji", priority = 9998 },
|
||||
{ name = "emoji", priority = 9999 },
|
||||
{ name = "math", priority = 9999 },
|
||||
},
|
||||
formatting = {
|
||||
fields = { "abbr", "kind", "menu" },
|
||||
|
||||
+19
-44
@@ -24,6 +24,16 @@ return {
|
||||
{ -- Treesitter-context
|
||||
import = "lazyvim.plugins.extras.ui.treesitter-context",
|
||||
},
|
||||
{ -- Mini.Indentscope
|
||||
import = "lazyvim.plugins.extras.ui.mini-indentscope",
|
||||
},
|
||||
{ -- Mini Indentscope
|
||||
"echasnovski/mini.indentscope",
|
||||
opts = data.types.miniindentscope,
|
||||
},
|
||||
{ -- Navic
|
||||
import = "lazyvim.plugins.extras.editor.navic",
|
||||
},
|
||||
{ -- Trouble
|
||||
"folke/trouble.nvim",
|
||||
cmd = data.cmd.trouble,
|
||||
@@ -31,9 +41,7 @@ return {
|
||||
},
|
||||
{ -- Flash
|
||||
"folke/flash.nvim",
|
||||
opts = {
|
||||
modes = { char = { jump_labels = true } },
|
||||
},
|
||||
opts = data.types.flash,
|
||||
keys = data.keys.flash,
|
||||
},
|
||||
{
|
||||
@@ -52,7 +60,7 @@ return {
|
||||
{ -- NeoMiniMap
|
||||
"Isrothy/neominimap.nvim",
|
||||
lazy = false,
|
||||
keys = data.keys.minimap,
|
||||
keys = data.keys.minimap.func,
|
||||
init = data.types.minimap.init(),
|
||||
cond = data.types.minimap.cond(),
|
||||
},
|
||||
@@ -81,16 +89,12 @@ return {
|
||||
"gen740/SmoothCursor.nvim",
|
||||
event = "BufEnter",
|
||||
-- lazy = true,
|
||||
opts = {
|
||||
cursor = "",
|
||||
},
|
||||
opts = data.types.smoothcursor,
|
||||
},
|
||||
{ -- Smart Scrolloff
|
||||
"tonymajestro/smart-scrolloff.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
scrolloff_percentage = 0.25,
|
||||
},
|
||||
opts = data.types.smartscrolloff,
|
||||
},
|
||||
{ -- Recorder
|
||||
"chrisgrieser/nvim-recorder",
|
||||
@@ -114,19 +118,13 @@ return {
|
||||
{ -- Colorful window separators
|
||||
"nvim-zh/colorful-winsep.nvim",
|
||||
lazy = true,
|
||||
opts = {
|
||||
only_line_seq = false,
|
||||
symbols = data.types.colorful_winsep.symbols,
|
||||
no_exec_files = data.types.colorful_winsep.no_exec_files,
|
||||
},
|
||||
opts = data.types.winsep,
|
||||
event = { "WinLeave" },
|
||||
},
|
||||
{ -- Auto Cursorline
|
||||
"delphinus/auto-cursorline.nvim",
|
||||
enabled = data.func.check_global_var("auto_cursorline", true, true),
|
||||
opts = {
|
||||
wait_ms = 2000,
|
||||
},
|
||||
opts = data.types.autocursorline,
|
||||
},
|
||||
{ -- Bars N Lines
|
||||
"OXY2DEV/bars-N-lines.nvim",
|
||||
@@ -134,31 +132,10 @@ return {
|
||||
lazy = false,
|
||||
config = data.types.barsNlines.config,
|
||||
},
|
||||
{ -- UndoTree Telescope extension
|
||||
"nvim-telescope/telescope.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"debugloop/telescope-undo.nvim",
|
||||
},
|
||||
opts = function()
|
||||
require("telescope").load_extension("undo")
|
||||
vim.keymap.set("n", "<leader>uU", "<cmd>Telescope undo<cr>")
|
||||
return {
|
||||
extensions = {
|
||||
undo = {},
|
||||
},
|
||||
}
|
||||
end,
|
||||
},
|
||||
{ -- UndoTree
|
||||
"mbbill/undotree",
|
||||
config = function()
|
||||
data.func.add_keymap(
|
||||
"<leader>uu",
|
||||
"<cmd>UndotreeToggle<cr>",
|
||||
"Toggle UndoTree"
|
||||
)
|
||||
end,
|
||||
opts = {},
|
||||
keys = data.keys.undotree,
|
||||
},
|
||||
{ -- NumberToggle
|
||||
"sitiom/nvim-numbertoggle",
|
||||
@@ -166,8 +143,6 @@ return {
|
||||
{
|
||||
"folke/noice.nvim",
|
||||
optional = true,
|
||||
opts = {
|
||||
presets = { inc_rename = true },
|
||||
},
|
||||
opts = data.types.noice,
|
||||
},
|
||||
}
|
||||
|
||||
+2
-23
@@ -13,7 +13,7 @@ return {
|
||||
"Rawnly/gist.nvim",
|
||||
lazy = true,
|
||||
cmd = data.cmd.gist,
|
||||
keys = data.keys.gist,
|
||||
keys = data.keys.gist.func,
|
||||
config = true,
|
||||
},
|
||||
{ -- LazyGit
|
||||
@@ -46,28 +46,7 @@ return {
|
||||
},
|
||||
{ -- Git Graph
|
||||
"isakbm/gitgraph.nvim",
|
||||
opts = {
|
||||
symbols = data.types.gitgraph.symbols(),
|
||||
format = {
|
||||
timestamp = data.types.gitgraph.timestamp,
|
||||
fields = data.types.gitgraph.fields,
|
||||
},
|
||||
hooks = {
|
||||
-- Check diff of a commit
|
||||
on_select_commit = function(commit)
|
||||
vim.notify("DiffviewOpen " .. commit.hash .. "^!")
|
||||
vim.cmd(":DiffviewOpen " .. commit.hash .. "^!")
|
||||
end,
|
||||
-- Check diff from commit a -> commit b
|
||||
on_select_range_commit = function(from, to)
|
||||
vim.notify("DiffviewOpen " .. from.hash .. "~1.." .. to.hash)
|
||||
vim.cmd(":DiffviewOpen " .. from.hash .. "~1.." .. to.hash)
|
||||
end,
|
||||
},
|
||||
},
|
||||
opts = data.types.gitgraph.opts,
|
||||
keys = data.keys.gitgraph,
|
||||
},
|
||||
{ -- Telescope Git Worktree
|
||||
"ThePrimeagen/git-worktree.nvim",
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,34 +1,14 @@
|
||||
local data = require("data")
|
||||
|
||||
return { -- Neovim Updater
|
||||
"rootiest/nvim-updater.nvim",
|
||||
lazy = false,
|
||||
opts = {},
|
||||
keys = {
|
||||
{
|
||||
"<Leader>quU",
|
||||
":UpdateNeovim<CR>",
|
||||
desc = "Update Neovim",
|
||||
},
|
||||
{
|
||||
"<Leader>quD",
|
||||
function()
|
||||
require("nvim_updater").update_neovim({ build_type = "Debug" })
|
||||
end,
|
||||
desc = "Debug Build Neovim",
|
||||
},
|
||||
{
|
||||
"<Leader>quR",
|
||||
function()
|
||||
require("nvim_updater").update_neovim({ build_type = "Release" })
|
||||
end,
|
||||
desc = "Release Build Neovim",
|
||||
},
|
||||
{
|
||||
"<Leader>quC",
|
||||
function()
|
||||
require("nvim_updater").remove_source_dir()
|
||||
end,
|
||||
desc = "Clean Neovim Source",
|
||||
},
|
||||
},
|
||||
keys = function()
|
||||
-- Add Neovim Updater menu
|
||||
data.func.add_keymap(data.keys.group.nvimup)
|
||||
-- Add Neovim Updater keys
|
||||
return data.keys.nvimup
|
||||
end,
|
||||
dev = vim.g.rootiest_dev or false,
|
||||
}
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Telescope Plugins │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
---@module "plugins.telescope"
|
||||
--- This module defines the telescope plugins specs for the Neovim configuration.
|
||||
|
||||
local data = require("data")
|
||||
|
||||
local P = { -- Define Telescope Plugins Specs
|
||||
{ -- Telescope Cmdline
|
||||
"nvim-telescope/telescope.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"jonarrien/telescope-cmdline.nvim",
|
||||
},
|
||||
keys = data.keys.telescope.cmdline,
|
||||
opts = data.types.telescope.cmdline,
|
||||
config = function(_, opts)
|
||||
require("telescope").setup(opts)
|
||||
require("telescope").load_extension("cmdline")
|
||||
end,
|
||||
},
|
||||
{ -- Telescope All Recent
|
||||
"prochri/telescope-all-recent.nvim",
|
||||
dependencies = {
|
||||
"nvim-telescope/telescope.nvim",
|
||||
"kkharji/sqlite.lua",
|
||||
-- optional, if using telescope for vim.ui.select
|
||||
"stevearc/dressing.nvim",
|
||||
},
|
||||
opts = {
|
||||
default = {
|
||||
disable = true, -- disable any unkown pickers (recommended)
|
||||
use_cwd = true, -- differentiate scoring for each picker based on cwd
|
||||
sorting = "frecency", -- sorting: options: 'recent' and 'frecency'
|
||||
},
|
||||
},
|
||||
},
|
||||
{ -- Telescope Spell checker
|
||||
"matkrin/telescope-spell-errors.nvim",
|
||||
lazy = true,
|
||||
cmd = data.cmd.spell_errors,
|
||||
config = function()
|
||||
require("telescope").load_extension("spell_errors")
|
||||
end,
|
||||
dependencies = data.deps.needs_telescope,
|
||||
},
|
||||
{ -- Telescope symbols
|
||||
"nvim-telescope/telescope-symbols.nvim",
|
||||
config = function() end,
|
||||
keys = data.keys.telescope.symbols,
|
||||
lazy = false,
|
||||
},
|
||||
{ -- Telescope Toggleterm
|
||||
"ryanmsnyder/toggleterm-manager.nvim",
|
||||
dependencies = {
|
||||
"akinsho/nvim-toggleterm.lua",
|
||||
"nvim-telescope/telescope.nvim",
|
||||
"nvim-lua/plenary.nvim", -- only needed because it's a dependency of telescope
|
||||
},
|
||||
config = true,
|
||||
keys = data.keys.telescope.toggleterm,
|
||||
},
|
||||
{ -- Telescope Lazy
|
||||
"nvim-telescope/telescope.nvim",
|
||||
dependencies = "tsakirist/telescope-lazy.nvim",
|
||||
keys = data.keys.telescope.lazy,
|
||||
},
|
||||
{ -- Telescope Luasnip
|
||||
"benfowler/telescope-luasnip.nvim",
|
||||
module = "telescope._extensions.luasnip", -- if you wish to lazy-load
|
||||
config = function()
|
||||
require("telescope").load_extension("luasnip")
|
||||
end,
|
||||
},
|
||||
{ -- Telescope Git Worktree
|
||||
"ThePrimeagen/git-worktree.nvim",
|
||||
},
|
||||
{ -- UndoTree Telescope extension
|
||||
"nvim-telescope/telescope.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"debugloop/telescope-undo.nvim",
|
||||
},
|
||||
opts = function()
|
||||
require("telescope").load_extension("undo")
|
||||
vim.keymap.set("n", "<leader>uU", "<cmd>Telescope undo<cr>")
|
||||
return {
|
||||
extensions = {
|
||||
undo = {},
|
||||
},
|
||||
}
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
return P
|
||||
+5
-84
@@ -32,11 +32,7 @@ return {
|
||||
enabled = data.func.check_global_var("auto_save", true, true),
|
||||
cmd = data.cmd.autosave,
|
||||
event = { "InsertLeave", "TextChanged" },
|
||||
opts = {
|
||||
execution_message = {
|
||||
enabled = false,
|
||||
},
|
||||
},
|
||||
opts = data.types.autosave,
|
||||
},
|
||||
{ -- Ripgrep substitute
|
||||
"chrisgrieser/nvim-rip-substitute",
|
||||
@@ -55,21 +51,13 @@ return {
|
||||
enabled = data.func.check_global_var("codesnap", true, true),
|
||||
lazy = true,
|
||||
build = "make",
|
||||
opts = {
|
||||
save_path = "~/Pictures/Screenshots/",
|
||||
has_breadcrumbs = true,
|
||||
show_workspace = true,
|
||||
bg_theme = "default",
|
||||
watermark = "Rootiest Snippets",
|
||||
code_font_family = "Iosevka NF",
|
||||
code_font_size = 12,
|
||||
},
|
||||
opts = data.types.codesnap,
|
||||
cmd = data.cmd.codesnap,
|
||||
keys = data.keys.codesnap,
|
||||
},
|
||||
{ -- Kulala
|
||||
"mistweaverco/kulala.nvim",
|
||||
ft = { "http", "https", "ftp", "ftps" },
|
||||
ft = data.types.kulala.ft,
|
||||
opts = {},
|
||||
},
|
||||
{ -- Hardtime
|
||||
@@ -110,6 +98,7 @@ return {
|
||||
},
|
||||
{ -- Encourage
|
||||
"r-cha/encourage.nvim",
|
||||
enabled = data.func.check_global_var("encourage", true, true),
|
||||
config = true,
|
||||
},
|
||||
{ -- Helpview
|
||||
@@ -120,19 +109,7 @@ return {
|
||||
{ -- Suda
|
||||
"lambdalisue/vim-suda",
|
||||
cmd = data.cmd.suda,
|
||||
config = function()
|
||||
vim.g.suda_smart_edit = 1
|
||||
vim.cmd("let g:suda#prompt = ' Enter Sudo Password '")
|
||||
end,
|
||||
},
|
||||
{ -- Spell checker
|
||||
"matkrin/telescope-spell-errors.nvim",
|
||||
lazy = true,
|
||||
cmd = data.cmd.spell_errors,
|
||||
config = function()
|
||||
require("telescope").load_extension("spell_errors")
|
||||
end,
|
||||
dependencies = data.deps.needs_telescope,
|
||||
config = data.types.suda,
|
||||
},
|
||||
{ -- Pigeon
|
||||
"Pheon-Dev/pigeon",
|
||||
@@ -144,60 +121,4 @@ return {
|
||||
enable_line_number = true,
|
||||
},
|
||||
},
|
||||
{ -- Telescope Cmdline
|
||||
"nvim-telescope/telescope.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"jonarrien/telescope-cmdline.nvim",
|
||||
},
|
||||
keys = data.keys.telescope.cmdline,
|
||||
opts = data.types.telescope.cmdline,
|
||||
config = function(_, opts)
|
||||
require("telescope").setup(opts)
|
||||
require("telescope").load_extension("cmdline")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"prochri/telescope-all-recent.nvim",
|
||||
dependencies = {
|
||||
"nvim-telescope/telescope.nvim",
|
||||
"kkharji/sqlite.lua",
|
||||
-- optional, if using telescope for vim.ui.select
|
||||
"stevearc/dressing.nvim",
|
||||
},
|
||||
opts = {
|
||||
default = {
|
||||
disable = true, -- disable any unkown pickers (recommended)
|
||||
use_cwd = true, -- differentiate scoring for each picker based on cwd
|
||||
sorting = "frecency", -- sorting: options: 'recent' and 'frecency'
|
||||
},
|
||||
},
|
||||
},
|
||||
{ -- Telescope symbols
|
||||
"nvim-telescope/telescope-symbols.nvim",
|
||||
config = function() end,
|
||||
keys = data.keys.telescope.symbols,
|
||||
},
|
||||
{ -- Telescope Toggleterm
|
||||
"ryanmsnyder/toggleterm-manager.nvim",
|
||||
dependencies = {
|
||||
"akinsho/nvim-toggleterm.lua",
|
||||
"nvim-telescope/telescope.nvim",
|
||||
"nvim-lua/plenary.nvim", -- only needed because it's a dependency of telescope
|
||||
},
|
||||
config = true,
|
||||
keys = data.keys.telescope.toggleterm,
|
||||
},
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
dependencies = "tsakirist/telescope-lazy.nvim",
|
||||
keys = data.keys.telescope.lazy,
|
||||
},
|
||||
{
|
||||
"benfowler/telescope-luasnip.nvim",
|
||||
module = "telescope._extensions.luasnip", -- if you wish to lazy-load
|
||||
config = function()
|
||||
require("telescope").load_extension("luasnip")
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user