2021-07-16 18:52:36 +01:00
|
|
|
local M = {}
|
|
|
|
|
2022-05-29 11:37:47 +01:00
|
|
|
local load_override = require("core.utils").load_override
|
|
|
|
|
2022-04-27 16:42:28 +01:00
|
|
|
M.autopairs = function()
|
2021-08-27 02:14:58 +01:00
|
|
|
local present1, autopairs = pcall(require, "nvim-autopairs")
|
2022-04-27 16:42:28 +01:00
|
|
|
local present2, cmp = pcall(require, "cmp")
|
2021-10-22 01:17:35 +01:00
|
|
|
|
2022-06-21 12:24:31 +01:00
|
|
|
if not (present1 and present2) then
|
2022-04-27 16:42:28 +01:00
|
|
|
return
|
2021-11-17 05:30:57 +00:00
|
|
|
end
|
2021-08-27 02:14:58 +01:00
|
|
|
|
2022-05-30 07:46:18 +01:00
|
|
|
local options = {
|
2022-04-27 16:42:28 +01:00
|
|
|
fast_wrap = {},
|
|
|
|
disable_filetype = { "TelescopePrompt", "vim" },
|
2021-09-22 16:56:30 +01:00
|
|
|
}
|
2022-04-27 16:42:28 +01:00
|
|
|
|
2022-05-30 07:46:18 +01:00
|
|
|
options = load_override(options, "windwp/nvim-autopairs")
|
|
|
|
autopairs.setup(options)
|
|
|
|
|
2022-04-27 16:42:28 +01:00
|
|
|
local cmp_autopairs = require "nvim-autopairs.completion.cmp"
|
|
|
|
cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done())
|
|
|
|
end
|
|
|
|
|
|
|
|
M.blankline = function()
|
|
|
|
local present, blankline = pcall(require, "indent_blankline")
|
|
|
|
|
|
|
|
if not present then
|
|
|
|
return
|
|
|
|
end
|
|
|
|
|
2022-06-14 13:06:27 +01:00
|
|
|
require("base46").load_highlight "blankline"
|
|
|
|
|
2022-04-27 16:42:28 +01:00
|
|
|
local options = {
|
2021-08-31 20:57:56 +01:00
|
|
|
indentLine_enabled = 1,
|
|
|
|
char = "▏",
|
2021-09-02 11:46:19 +01:00
|
|
|
filetype_exclude = {
|
2021-09-01 05:39:02 +01:00
|
|
|
"help",
|
|
|
|
"terminal",
|
2022-02-20 06:14:43 +00:00
|
|
|
"alpha",
|
2021-09-01 05:39:02 +01:00
|
|
|
"packer",
|
|
|
|
"lspinfo",
|
|
|
|
"TelescopePrompt",
|
|
|
|
"TelescopeResults",
|
2022-01-30 17:04:39 +00:00
|
|
|
"lsp-installer",
|
2021-12-27 02:12:51 +00:00
|
|
|
"",
|
2021-09-01 05:39:02 +01:00
|
|
|
},
|
2021-09-02 11:46:19 +01:00
|
|
|
buftype_exclude = { "terminal" },
|
2021-09-02 04:15:05 +01:00
|
|
|
show_trailing_blankline_indent = false,
|
|
|
|
show_first_indent_level = false,
|
2022-06-18 05:27:17 +01:00
|
|
|
show_current_context = true,
|
|
|
|
show_current_context_start = true,
|
2021-08-31 20:57:56 +01:00
|
|
|
}
|
2022-04-27 16:42:28 +01:00
|
|
|
|
2022-05-29 11:37:47 +01:00
|
|
|
options = load_override(options, "lukas-reineke/indent-blankline.nvim")
|
2022-04-27 16:42:28 +01:00
|
|
|
blankline.setup(options)
|
2021-08-22 08:49:15 +01:00
|
|
|
end
|
|
|
|
|
2022-04-27 16:42:28 +01:00
|
|
|
M.colorizer = function()
|
2021-08-16 08:49:09 +01:00
|
|
|
local present, colorizer = pcall(require, "colorizer")
|
2022-04-27 16:42:28 +01:00
|
|
|
|
|
|
|
if not present then
|
|
|
|
return
|
2021-08-16 08:49:09 +01:00
|
|
|
end
|
2022-04-27 16:42:28 +01:00
|
|
|
|
|
|
|
local options = {
|
|
|
|
filetypes = {
|
|
|
|
"*",
|
|
|
|
},
|
|
|
|
user_default_options = {
|
|
|
|
RGB = true, -- #RGB hex codes
|
|
|
|
RRGGBB = true, -- #RRGGBB hex codes
|
|
|
|
names = false, -- "Name" codes like Blue
|
|
|
|
RRGGBBAA = false, -- #RRGGBBAA hex codes
|
|
|
|
rgb_fn = false, -- CSS rgb() and rgba() functions
|
|
|
|
hsl_fn = false, -- CSS hsl() and hsla() functions
|
|
|
|
css = false, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB
|
|
|
|
css_fn = false, -- Enable all CSS *functions*: rgb_fn, hsl_fn
|
|
|
|
mode = "background", -- Set the display mode.
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
2022-05-29 11:37:47 +01:00
|
|
|
options = load_override(options, "NvChad/nvim-colorizer.lua")
|
2022-04-27 16:42:28 +01:00
|
|
|
colorizer.setup(options["filetypes"], options["user_default_options"])
|
2022-06-14 13:06:27 +01:00
|
|
|
|
|
|
|
vim.cmd "ColorizerAttachToBuffer"
|
2021-07-16 18:52:36 +01:00
|
|
|
end
|
|
|
|
|
2022-04-27 16:42:28 +01:00
|
|
|
M.comment = function()
|
2021-12-11 16:53:09 +00:00
|
|
|
local present, nvim_comment = pcall(require, "Comment")
|
2022-04-27 16:42:28 +01:00
|
|
|
|
|
|
|
if not present then
|
|
|
|
return
|
2021-08-16 08:49:09 +01:00
|
|
|
end
|
2022-04-27 16:42:28 +01:00
|
|
|
|
2022-06-01 12:57:21 +01:00
|
|
|
local options = {}
|
|
|
|
options = load_override(options, "numToStr/Comment.nvim")
|
|
|
|
nvim_comment.setup(options)
|
2021-07-16 18:52:36 +01:00
|
|
|
end
|
|
|
|
|
2022-04-27 16:42:28 +01:00
|
|
|
M.luasnip = function()
|
2021-08-28 05:09:38 +01:00
|
|
|
local present, luasnip = pcall(require, "luasnip")
|
2022-04-27 16:42:28 +01:00
|
|
|
|
2022-04-30 17:18:11 +01:00
|
|
|
if not present then
|
2022-04-27 16:42:28 +01:00
|
|
|
return
|
2021-11-17 05:30:57 +00:00
|
|
|
end
|
2022-04-27 16:42:28 +01:00
|
|
|
|
2022-06-01 23:36:44 +01:00
|
|
|
local options = {
|
2022-04-27 16:42:28 +01:00
|
|
|
history = true,
|
|
|
|
updateevents = "TextChanged,TextChangedI",
|
|
|
|
}
|
|
|
|
|
2022-06-02 18:59:15 +01:00
|
|
|
options = load_override(options, "L3MON4D3/LuaSnip")
|
2022-06-01 23:36:44 +01:00
|
|
|
luasnip.config.set_config(options)
|
2022-04-30 17:18:11 +01:00
|
|
|
require("luasnip.loaders.from_vscode").lazy_load()
|
2022-06-24 14:54:59 +01: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 05:09:38 +01:00
|
|
|
end
|
|
|
|
|
2022-04-27 16:42:28 +01:00
|
|
|
M.gitsigns = function()
|
2021-11-17 05:30:57 +00:00
|
|
|
local present, gitsigns = pcall(require, "gitsigns")
|
2022-04-27 16:42:28 +01:00
|
|
|
|
|
|
|
if not present then
|
|
|
|
return
|
2021-11-17 05:30:57 +00:00
|
|
|
end
|
2022-06-02 18:59:15 +01:00
|
|
|
|
2022-06-14 13:06:27 +01:00
|
|
|
require("base46").load_highlight "git"
|
|
|
|
|
2022-06-01 12:57:21 +01:00
|
|
|
local options = {
|
2022-04-27 16:42:28 +01:00
|
|
|
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-06-01 12:57:21 +01:00
|
|
|
|
2022-06-14 13:06:27 +01:00
|
|
|
options = load_override(options, "lewis6991/gitsigns.nvim")
|
2022-06-01 12:57:21 +01:00
|
|
|
gitsigns.setup(options)
|
2021-11-17 05:30:57 +00:00
|
|
|
end
|
|
|
|
|
2022-06-14 13:06:27 +01:00
|
|
|
M.devicons = function()
|
|
|
|
local present, devicons = pcall(require, "nvim-web-devicons")
|
|
|
|
|
|
|
|
if present then
|
|
|
|
require("base46").load_highlight "devicons"
|
|
|
|
|
|
|
|
local options = { override = require("ui.icons").devicons }
|
|
|
|
options = require("core.utils").load_override(options, "kyazdani42/nvim-web-devicons")
|
2022-06-18 05:27:17 +01:00
|
|
|
|
2022-06-14 13:06:27 +01:00
|
|
|
devicons.setup(options)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2021-07-16 18:52:36 +01:00
|
|
|
return M
|