clean config | fix (#1225) (#1226)

This commit is contained in:
siduck 2022-06-18 09:57:17 +05:30
parent 349ee96a20
commit 9bca3eacae
16 changed files with 69 additions and 165 deletions

View file

@ -1,5 +1,4 @@
require "core"
require "core.utils"
require "core.options"
vim.defer_fn(function()

View file

@ -1,8 +1,10 @@
-- commands
vim.cmd "silent! command! NvChadUpdate lua require('nvchad').update_nvchad()"
vim.cmd "silent! command! NvChadSnapshotCreate lua require('nvchad').snap_create()"
vim.cmd "silent! command! NvChadSnapshotDelete lua require('nvchad').snap_delete()"
vim.cmd "silent! command! NvChadSnapshotCheckout lua require('nvchad').snap_checkout()"
-- autocmds
local autocmd = vim.api.nvim_create_autocmd
-- Disable statusline in dashboard

View file

@ -1,5 +1,7 @@
-- https://github.com/max397574/omega-nvim/blob/master/lua/omega/modules/ui/bufferline.lua
local lazy_load = function(tb)
-- thx to https://github.com/max397574/omega-nvim/blob/master/lua/omega/modules/ui/bufferline.lua
local M = {}
M.lazy_load = function(tb)
vim.api.nvim_create_autocmd(tb.events, {
pattern = "*",
group = vim.api.nvim_create_augroup(tb.augroup_name, {}),
@ -21,12 +23,8 @@ local lazy_load = function(tb)
})
end
local M = {}
M.lazy_load = lazy_load
M.bufferline = function()
lazy_load {
M.lazy_load {
events = { "BufNewFile", "BufRead", "TabEnter" },
augroup_name = "BufferLineLazy",
plugins = "bufferline.nvim",
@ -38,13 +36,13 @@ M.bufferline = function()
end
M.colorizer = function()
lazy_load {
M.lazy_load {
events = { "BufRead", "BufNewFile" },
augroup_name = "ColorizerLazy",
plugins = "nvim-colorizer.lua",
condition = function()
local items = { "#", "rgb", "hsl" }
local items = { "#", "rgb", "hsl", "rgba", "hsla" }
for _, val in ipairs(items) do
if vim.fn.search(val) ~= 0 then
@ -56,28 +54,14 @@ M.colorizer = function()
end
-- load certain plugins only when there's a file opened in the buffer
-- if "nvim-file" is executed -> load the plugin after nvim gui loads
-- if "nvim filename" is executed -> load the plugin after nvim gui loads
-- This gives an instant preview of nvim with the file opened
M.on_file_open = function()
lazy_load {
M.on_file_open = function(plugin_name)
M.lazy_load {
events = { "BufRead", "BufWinEnter", "BufNewFile" },
augroup_name = "BeLazyOnFileOpen",
plugins = "nvim-lsp-installer indent-blankline.nvim",
condition = function()
local file = vim.fn.expand "%"
return file ~= "NvimTree_1" and file ~= "[packer]" and file ~= ""
end,
}
end
M.treesitter = function()
lazy_load {
events = { "BufRead", "BufWinEnter", "BufNewFile" },
augroup_name = "Treesitter_lazy",
plugins = "nvim-treesitter",
augroup_name = "BeLazyOnFileOpen" .. plugin_name,
plugins = plugin_name,
condition = function()
local file = vim.fn.expand "%"
return file ~= "NvimTree_1" and file ~= "[packer]" and file ~= ""

View file

@ -1,4 +1,4 @@
-- n, v, i are mode names
-- n, v, i, tare mode names
local function termcodes(str)
return vim.api.nvim_replace_termcodes(str, true, true, true)
@ -147,7 +147,7 @@ M.lspconfig = {
["<leader>ra"] = {
function()
require("ui.renamer").open()
require("nvchad.ui.renamer").open()
end,
" lsp rename",
},
@ -342,4 +342,24 @@ M.whichkey = {
},
}
M.blankline = {
n = {
["<leader>bc"] = {
function()
local ok, start = require("indent_blankline.utils").get_current_context(
vim.g.indent_blankline_context_patterns,
vim.g.indent_blankline_use_treesitter_scope
)
if ok then
vim.api.nvim_win_set_cursor(vim.api.nvim_get_current_win(), { start, 0 })
vim.cmd [[normal! _]]
end
end,
" Jump to current_context",
},
},
}
return M

View file

@ -19,14 +19,12 @@ opt.title = true
opt.clipboard = "unnamedplus"
opt.cul = true -- cursor line
-- Indentline
-- Indenting
opt.expandtab = true
opt.shiftwidth = 2
opt.smartindent = true
-- disable tilde on end of buffer: https://github.com/neovim/neovim/pull/8546#issuecomment-643643758
opt.fillchars = { eob = " " }
opt.ignorecase = true
opt.smartcase = true
opt.mouse = "a"
@ -53,10 +51,10 @@ opt.updatetime = 250
-- go to previous/next line with h,l,left arrow and right arrow
-- when cursor reaches end/beginning of line
opt.whichwrap:append "<>[]hl"
g.mapleader = " "
-- disable some builtin vim plugins
local default_plugins = {
"2html_plugin",
"getscript",
@ -101,5 +99,5 @@ vim.schedule(function()
vim.cmd [[ silent! rsh ]]
end)
-- load user options if the file exists
-- load user options
config.options.user()

View file

@ -8,7 +8,6 @@ M.bootstrap = function()
if fn.empty(fn.glob(install_path)) > 0 then
print "Cloning packer .."
fn.system { "git", "clone", "--depth", "1", "https://github.com/wbthomason/packer.nvim", install_path }
-- install plugins + compile their configs
@ -23,7 +22,7 @@ M.options = {
compile_on_sync = true,
git = { clone_timeout = 6000 },
display = {
working_sym = " ",
working_sym = "",
error_sym = "",
done_sym = "",
removed_sym = "",

View file

@ -21,6 +21,7 @@ M.close_buffer = function(force)
end
force = force or not vim.bo.buflisted or vim.bo.buftype == "nofile"
-- if not force, change to prev buf and then close current
local close_cmd = force and ":bd!" or ":bp | bd" .. fn.bufnr()
vim.cmd(close_cmd)
@ -150,9 +151,7 @@ M.load_override = function(default_table, plugin_name)
if type(user_table) == "function" then
user_table = user_table()
end
if type(user_table) == "table" then
elseif type(user_table) == "table" then
default_table = merge_tb("force", default_table, user_table)
else
default_table = default_table

View file

@ -7,6 +7,7 @@ end
require("base46").load_highlight "bufferline"
vim.cmd [[
function! Toggle_theme(a,b,c,d)
lua require('base46').toggle_theme()
endfunction
@ -25,18 +26,16 @@ local options = {
show_close_icon = false,
left_trunc_marker = "",
right_trunc_marker = "",
max_name_length = 14,
max_name_length = 20,
max_prefix_length = 13,
tab_size = 20,
show_tab_indicators = true,
enforce_regular_tabs = false,
view = "multiwindow",
show_buffer_close_icons = true,
separator_style = "thin",
always_show_bufferline = true,
diagnostics = false,
themable = true,
-- top right buttons in bufferline
custom_areas = {
right = function()
return {
@ -45,24 +44,6 @@ local options = {
}
end,
},
custom_filter = function(buf_number)
-- Func to filter out our managed/persistent split terms
local present_type, type = pcall(function()
return vim.api.nvim_buf_get_var(buf_number, "term_type")
end)
if present_type then
if type == "vert" then
return false
elseif type == "hori" then
return false
end
return true
end
return true
end,
},
}

View file

@ -28,7 +28,7 @@ local options = {
},
},
max_concurrent_installers = 20,
max_concurrent_installers = 10,
}
options = require("core.utils").load_override(options, "williamboman/nvim-lsp-installer")

View file

@ -12,20 +12,14 @@ local utils = require "core.utils"
require "ui.lsp"
M.on_attach = function(client, bufnr)
client.server_capabilities.documentFormattingProvider = false
client.server_capabilities.documentRangeFormattingProvider = false
client.resolved_capabilities.document_formatting = false
client.resolved_capabilities.document_range_formatting = false
local lsp_mappings = utils.load_config().mappings.lspconfig
utils.load_mappings({ lsp_mappings }, { buffer = bufnr })
if client.supports_method "textDocument/signatureHelp" then
vim.api.nvim_create_autocmd({ "CursorHoldI" }, {
pattern = "*",
group = vim.api.nvim_create_augroup("LspSignature", {}),
callback = function()
vim.lsp.buf.signature_help()
end,
})
if client.server_capabilities.signatureHelpProvider then
require("nvchad.ui.signature").setup(client)
end
end

View file

@ -9,12 +9,11 @@ require("base46").load_highlight "nvimtree"
local options = {
filters = {
dotfiles = false,
exclude = { "custom" },
},
disable_netrw = true,
hijack_netrw = true,
open_on_setup = false,
ignore_ft_on_setup = { "alpha" },
open_on_tab = false,
hijack_cursor = true,
hijack_unnamed_buffer_when_opening = false,
update_cwd = true,
@ -43,15 +42,15 @@ local options = {
indent_markers = {
enable = false,
},
icons = {
padding = " ",
symlink_arrow = "",
show = {
file = true,
folder = true,
folder_arrow = true,
git = false,
},
glyphs = {
default = "",
symlink = "",

View file

@ -48,6 +48,8 @@ M.blankline = function()
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")
@ -74,8 +76,6 @@ M.colorizer = function()
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
-- Available modes: foreground, background
mode = "background", -- Set the display mode.
},
}
@ -146,6 +146,7 @@ M.devicons = function()
local options = { override = require("ui.icons").devicons }
options = require("core.utils").load_override(options, "kyazdani42/nvim-web-devicons")
devicons.setup(options)
end
end

View file

@ -44,6 +44,9 @@ local plugins = {
["lukas-reineke/indent-blankline.nvim"] = {
opt = true,
setup = function()
require("core.lazy_load").on_file_open "indent-blankline.nvim"
end,
config = function()
require("plugins.configs.others").blankline()
end,
@ -61,9 +64,8 @@ local plugins = {
["nvim-treesitter/nvim-treesitter"] = {
module = "nvim-treesitter",
cmd = { "TSInstall", "TSUninstall" },
setup = function()
require("core.lazy_load").treesitter()
require("core.lazy_load").on_file_open "nvim-treesitter"
end,
run = ":TSUpdate",
config = function()
@ -87,7 +89,7 @@ local plugins = {
["williamboman/nvim-lsp-installer"] = {
opt = true,
setup = function()
require("core.lazy_load").on_file_open()
require("core.lazy_load").on_file_open "nvim-lsp-installer"
end,
},

View file

@ -45,13 +45,3 @@ win.default_opts = function(options)
opts.border = "single"
return opts
end
vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, {
border = "single",
silent = true,
focusable = false,
close_events = { "InsertCharPre", "CursorMoved" },
anchor = "SW",
relative = "cursor",
row = -1,
})

View file

@ -1,60 +0,0 @@
-- credits to @Malace : https://www.reddit.com/r/neovim/comments/ql4iuj/rename_hover_including_window_title_and/
-- This is modified version of the above snippet
local M = {}
M.open = function()
local currName = vim.fn.expand "<cword>" .. " "
local win = require("plenary.popup").create(currName, {
title = "Renamer",
style = "minimal",
borderchars = { "", "", "", "", "", "", "", "" },
relative = "cursor",
borderhighlight = "RenamerBorder",
titlehighlight = "RenamerTitle",
focusable = true,
width = 25,
height = 1,
line = "cursor+2",
col = "cursor-1",
})
local map_opts = { noremap = true, silent = true }
vim.cmd "normal w"
vim.cmd "startinsert"
vim.api.nvim_buf_set_keymap(0, "i", "<Esc>", "<cmd>stopinsert | q!<CR>", map_opts)
vim.api.nvim_buf_set_keymap(0, "n", "<Esc>", "<cmd>stopinsert | q!<CR>", map_opts)
vim.api.nvim_buf_set_keymap(
0,
"i",
"<CR>",
"<cmd>stopinsert | lua require'ui.renamer'.apply(" .. currName .. "," .. win .. ")<CR>",
map_opts
)
vim.api.nvim_buf_set_keymap(
0,
"n",
"<CR>",
"<cmd>stopinsert | lua require'ui.renamer'.apply(" .. currName .. "," .. win .. ")<CR>",
map_opts
)
end
M.apply = function(curr, win)
local newName = vim.trim(vim.fn.getline ".")
vim.api.nvim_win_close(win, true)
if #newName > 0 and newName ~= curr then
local params = vim.lsp.util.make_position_params()
params.newName = newName
vim.lsp.buf_request(0, "textDocument/rename", params)
end
end
return M

View file

@ -149,18 +149,14 @@ end
M.LSP_status = function()
local clients = vim.lsp.get_active_clients()
local names = {}
local name = false
for _, client in ipairs(clients) do
if client.attached_buffers[vim.api.nvim_get_current_buf()] then
table.insert(names, client.name)
name = client.name
break
end
end
local name = false
if next(names) then
name = table.concat(names, '|')
end
local content = name and "  LSP ~ " .. name .. " " or false
return content and ("%#St_LspStatus#" .. content) or ""
end
@ -174,19 +170,19 @@ end
M.cursor_position = function()
local left_sep = "%#St_pos_sep#" .. sep_l
local icon = "%#St_pos_icon#" .. " "
local icon = "%#St_pos_icon#" .. " "
local current_line = fn.line "."
local total_line = fn.line "$"
local text = math.modf((current_line / total_line) * 100) .. tostring "%%"
if current_line == 1 then
text = "Top "
text = "Top"
elseif current_line == total_line then
text = "Bot "
text = "Bot"
end
return left_sep .. icon .. "%#St_pos_text#" .. " " .. text
return left_sep .. icon .. "%#St_pos_text#" .. " " .. text .. " "
end
M.run = function()