2021-07-16 19:52:36 +02:00
|
|
|
local M = {}
|
|
|
|
|
2022-05-29 12:37:47 +02:00
|
|
|
local load_override = require("core.utils").load_override
|
2022-09-27 01:29:39 +02:00
|
|
|
local utils = require "core.utils"
|
2022-05-29 12:37:47 +02:00
|
|
|
|
2022-04-27 17:42:28 +02:00
|
|
|
M.autopairs = function()
|
2022-07-22 18:00:00 +02:00
|
|
|
local options = {
|
|
|
|
fast_wrap = {},
|
|
|
|
disable_filetype = { "TelescopePrompt", "vim" },
|
|
|
|
}
|
2022-04-27 17:42:28 +02:00
|
|
|
|
2022-07-22 18:00:00 +02:00
|
|
|
options = load_override(options, "windwp/nvim-autopairs")
|
2023-01-25 15:41:55 +01:00
|
|
|
require("nvim-autopairs").setup(options)
|
2022-05-30 08:46:18 +02:00
|
|
|
|
2023-01-25 15:41:55 +01:00
|
|
|
-- setup cmp for autopairs
|
2022-07-22 18:00:00 +02:00
|
|
|
local cmp_autopairs = require "nvim-autopairs.completion.cmp"
|
2023-01-25 15:41:55 +01:00
|
|
|
require("cmp").event:on("confirm_done", cmp_autopairs.on_confirm_done())
|
2022-04-27 17:42:28 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
M.blankline = function()
|
2023-01-29 17:06:54 +01:00
|
|
|
dofile(vim.g.base46_cache .. "blankline")
|
2022-07-22 18:00:00 +02:00
|
|
|
|
|
|
|
local options = {
|
|
|
|
indentLine_enabled = 1,
|
|
|
|
filetype_exclude = {
|
|
|
|
"help",
|
|
|
|
"terminal",
|
2023-01-07 09:11:43 +01:00
|
|
|
"lazy",
|
2022-07-22 18:00:00 +02:00
|
|
|
"lspinfo",
|
|
|
|
"TelescopePrompt",
|
|
|
|
"TelescopeResults",
|
2022-08-08 08:48:49 +02:00
|
|
|
"mason",
|
2022-07-22 18:00:00 +02:00
|
|
|
"",
|
|
|
|
},
|
|
|
|
buftype_exclude = { "terminal" },
|
|
|
|
show_trailing_blankline_indent = false,
|
|
|
|
show_first_indent_level = false,
|
|
|
|
show_current_context = true,
|
|
|
|
show_current_context_start = true,
|
|
|
|
}
|
|
|
|
|
|
|
|
options = load_override(options, "lukas-reineke/indent-blankline.nvim")
|
2023-01-25 15:41:55 +01:00
|
|
|
require("indent_blankline").setup(options)
|
2021-08-22 09:49:15 +02:00
|
|
|
end
|
|
|
|
|
2022-04-27 17:42:28 +02:00
|
|
|
M.colorizer = function()
|
2023-01-25 15:41:55 +01:00
|
|
|
local options = {}
|
2022-07-22 18:00:00 +02:00
|
|
|
options = load_override(options, "NvChad/nvim-colorizer.lua")
|
2023-01-25 15:41:55 +01:00
|
|
|
require("colorizer").setup(options)
|
|
|
|
|
2022-09-03 16:08:35 +02:00
|
|
|
-- execute colorizer as soon as possible
|
2022-09-14 08:27:32 +02:00
|
|
|
vim.defer_fn(function()
|
|
|
|
require("colorizer").attach_to_buffer(0)
|
|
|
|
end, 0)
|
2021-07-16 19:52:36 +02:00
|
|
|
end
|
|
|
|
|
2022-04-27 17:42:28 +02:00
|
|
|
M.comment = function()
|
2023-01-25 15:41:55 +01:00
|
|
|
require("Comment").setup(load_override({}, "numToStr/Comment.nvim"))
|
2021-07-16 19:52:36 +02:00
|
|
|
end
|
|
|
|
|
2022-04-27 17:42:28 +02:00
|
|
|
M.luasnip = function()
|
2022-07-22 18:00:00 +02:00
|
|
|
local options = {
|
|
|
|
history = true,
|
|
|
|
updateevents = "TextChanged,TextChangedI",
|
|
|
|
}
|
|
|
|
|
|
|
|
options = load_override(options, "L3MON4D3/LuaSnip")
|
2023-01-25 15:41:55 +01:00
|
|
|
require("luasnip").config.set_config(options)
|
|
|
|
|
2022-07-22 18:00:00 +02:00
|
|
|
require("luasnip.loaders.from_vscode").lazy_load { paths = vim.g.luasnippets_path or "" }
|
2022-09-24 21:26:45 +02:00
|
|
|
require("luasnip.loaders.from_vscode").lazy_load()
|
2022-07-22 18:00:00 +02:00
|
|
|
|
|
|
|
vim.api.nvim_create_autocmd("InsertLeave", {
|
|
|
|
callback = function()
|
|
|
|
if
|
|
|
|
require("luasnip").session.current_nodes[vim.api.nvim_get_current_buf()]
|
|
|
|
and not require("luasnip").session.jump_active
|
|
|
|
then
|
|
|
|
require("luasnip").unlink_current()
|
|
|
|
end
|
|
|
|
end,
|
|
|
|
})
|
2021-08-28 06:09:38 +02:00
|
|
|
end
|
|
|
|
|
2022-04-27 17:42:28 +02:00
|
|
|
M.gitsigns = function()
|
2023-01-29 17:06:54 +01:00
|
|
|
dofile(vim.g.base46_cache .. "git")
|
2022-07-22 18:00:00 +02:00
|
|
|
|
|
|
|
local options = {
|
|
|
|
signs = {
|
|
|
|
add = { hl = "DiffAdd", text = "│", numhl = "GitSignsAddNr" },
|
|
|
|
change = { hl = "DiffChange", text = "│", numhl = "GitSignsChangeNr" },
|
|
|
|
delete = { hl = "DiffDelete", text = "", numhl = "GitSignsDeleteNr" },
|
|
|
|
topdelete = { hl = "DiffDelete", text = "‾", numhl = "GitSignsDeleteNr" },
|
|
|
|
changedelete = { hl = "DiffChangeDelete", text = "~", numhl = "GitSignsChangeNr" },
|
2022-11-15 14:10:40 +01:00
|
|
|
untracked = { hl = "GitSignsAdd", text = "│", numhl = "GitSignsAddNr", linehl = "GitSignsAddLn" },
|
2022-07-22 18:00:00 +02:00
|
|
|
},
|
2022-11-15 14:10:40 +01:00
|
|
|
on_attach = function(bufnr)
|
2022-09-27 01:29:39 +02:00
|
|
|
utils.load_mappings("gitsigns", { buffer = bufnr })
|
2022-11-15 14:10:40 +01:00
|
|
|
end,
|
2022-07-22 18:00:00 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
options = load_override(options, "lewis6991/gitsigns.nvim")
|
2023-01-25 15:41:55 +01:00
|
|
|
require("gitsigns").setup(options)
|
2021-11-17 06:30:57 +01:00
|
|
|
end
|
|
|
|
|
2022-06-14 14:06:27 +02:00
|
|
|
M.devicons = function()
|
2023-01-29 17:06:54 +01:00
|
|
|
dofile(vim.g.base46_cache .. "devicons")
|
2022-06-14 14:06:27 +02:00
|
|
|
|
2023-01-25 15:41:55 +01:00
|
|
|
local options = { override = require("nvchad_ui.icons").devicons }
|
|
|
|
options = require("core.utils").load_override(options, "nvim-tree/nvim-web-devicons")
|
2022-06-18 06:27:17 +02:00
|
|
|
|
2023-01-25 15:41:55 +01:00
|
|
|
require("nvim-web-devicons").setup(options)
|
2022-06-14 14:06:27 +02:00
|
|
|
end
|
|
|
|
|
2021-07-16 19:52:36 +02:00
|
|
|
return M
|