refactor: reorganize post-configuration functions into utils module

This commit is contained in:
2024-09-15 06:14:16 -04:00
parent 651e931ce3
commit da34d98a1c
14 changed files with 924 additions and 518 deletions
+11 -13
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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",
},
}
+8 -28
View File
@@ -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,
}
+97
View File
@@ -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
View File
@@ -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,
},
}