Compare commits
14 Commits
6aef27028f
...
841b45998e
Author | SHA1 | Date | |
---|---|---|---|
841b45998e | |||
|
3dd0fa6c5b | ||
|
03f93e5d75 | ||
|
b51065b1a8 | ||
|
907684efa0 | ||
|
56e6234363 | ||
|
cff182ce4b | ||
|
fdb3ddb806 | ||
|
7914da7cd3 | ||
|
12f26e91ef | ||
|
34bdca17d2 | ||
|
af123eee4d | ||
|
f873d3cc50 | ||
|
b5cf9fde0e |
9
.github/README.md
vendored
9
.github/README.md
vendored
@ -3,13 +3,13 @@
|
|||||||
<div align="center">
|
<div align="center">
|
||||||
<a href="https://nvchad.com/">Home</a>
|
<a href="https://nvchad.com/">Home</a>
|
||||||
<span> • </span>
|
<span> • </span>
|
||||||
<a href="https://nvchad.com/#/docs/quickstart/install">Install</a>
|
<a href="https://nvchad.com/docs/quickstart/install">Install</a>
|
||||||
<span> • </span>
|
<span> • </span>
|
||||||
<a href="https://nvchad.com/#/docs/contribute">Contribute</a>
|
<a href="https://nvchad.com/docs/contribute">Contribute</a>
|
||||||
<span> • </span>
|
<span> • </span>
|
||||||
<a href="https://github.com/NvChad/NvChad#gift_heart-support">Support</a>
|
<a href="https://github.com/NvChad/NvChad#gift_heart-support">Support</a>
|
||||||
<span> • </span>
|
<span> • </span>
|
||||||
<a href="https://nvchad.com/#/docs/features">Features</a>
|
<a href="https://nvchad.com/docs/features">Features</a>
|
||||||
<p></p>
|
<p></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -89,9 +89,8 @@ A fuzzy file finder, picker, sorter, previewer and much more:
|
|||||||
- Many beautiful themes, theme toggler by our [base46 plugin](https://github.com/NvChad/base46)
|
- Many beautiful themes, theme toggler by our [base46 plugin](https://github.com/NvChad/base46)
|
||||||
- Inbuilt terminal toggling & management with [Nvterm](https://github.com/NvChad/nvterm)
|
- Inbuilt terminal toggling & management with [Nvterm](https://github.com/NvChad/nvterm)
|
||||||
- NvChad updater, hide & unhide terminal buffers with [NvChad extensions](https://github.com/NvChad/extensions)
|
- NvChad updater, hide & unhide terminal buffers with [NvChad extensions](https://github.com/NvChad/extensions)
|
||||||
- Lightweight & performant ui plugin with [NvChad UI](https://github.com/NvChad/ui)
|
- Lightweight & performant ui plugin with [NvChad UI](https://github.com/NvChad/ui) It provides statusline modules, tabufline ( tabs + buffer manager) , beautiful cheatsheets and much more!
|
||||||
- File navigation with [nvim-tree.lua](https://github.com/kyazdani42/nvim-tree.lua)
|
- File navigation with [nvim-tree.lua](https://github.com/kyazdani42/nvim-tree.lua)
|
||||||
- Managing tabs, buffers with [bufferline.nvim](https://github.com/akinsho/bufferline.nvim)
|
|
||||||
- Beautiful and configurable icons with [nvim-web-devicons](https://github.com/kyazdani42/nvim-web-devicons)
|
- Beautiful and configurable icons with [nvim-web-devicons](https://github.com/kyazdani42/nvim-web-devicons)
|
||||||
- Git diffs and more with [gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim)
|
- Git diffs and more with [gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim)
|
||||||
- NeoVim Lsp configuration with [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) and [mason.nvim](https://github.com/williamboman/mason.nvim)
|
- NeoVim Lsp configuration with [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) and [mason.nvim](https://github.com/williamboman/mason.nvim)
|
||||||
|
@ -25,24 +25,9 @@ M.lazy = function(install_path)
|
|||||||
|
|
||||||
-- install plugins
|
-- install plugins
|
||||||
require "plugins"
|
require "plugins"
|
||||||
vim.api.nvim_buf_delete(0, { force = true }) -- close lazy window
|
|
||||||
|
|
||||||
---------- mason packages -------------
|
-- mason packages & show post_boostrap screen
|
||||||
vim.schedule(function()
|
require "nvchad.post_bootstrap"()
|
||||||
vim.cmd "MasonInstallAll"
|
|
||||||
local packages = table.concat(vim.g.mason_binaries_list, " ")
|
|
||||||
|
|
||||||
require("mason-registry"):on("package:install:success", function(pkg)
|
|
||||||
packages = string.gsub(packages, pkg.name:gsub("%-", "%%-"), "") -- rm package name
|
|
||||||
|
|
||||||
if packages:match "%S" == nil then
|
|
||||||
vim.schedule(function()
|
|
||||||
vim.api.nvim_buf_delete(0, { force = true })
|
|
||||||
M.echo "Now please read the docs at nvchad.com!! "
|
|
||||||
end)
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
end)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
M.gen_chadrc_template = function()
|
M.gen_chadrc_template = function()
|
||||||
@ -50,15 +35,17 @@ M.gen_chadrc_template = function()
|
|||||||
local path = vim.fn.stdpath "config" .. "/lua/custom/"
|
local path = vim.fn.stdpath "config" .. "/lua/custom/"
|
||||||
local input = vim.fn.input "Do you want to install example custom config? (y/N) : "
|
local input = vim.fn.input "Do you want to install example custom config? (y/N) : "
|
||||||
|
|
||||||
|
-- clone example_config repo
|
||||||
if input == "y" then
|
if input == "y" then
|
||||||
M.echo "cloning example custom config repo ..."
|
M.echo "cloning example custom config repo ..."
|
||||||
vim.fn.system { "git", "clone", "--depth", "1", "https://github.com/NvChad/example_config", path }
|
vim.fn.system { "git", "clone", "--depth", "1", "https://github.com/NvChad/example_config", path }
|
||||||
vim.fn.delete(path .. ".git", "rf")
|
vim.fn.delete(path .. ".git", "rf")
|
||||||
else
|
else
|
||||||
|
-- use very minimal chadrc
|
||||||
vim.fn.mkdir(path, "p")
|
vim.fn.mkdir(path, "p")
|
||||||
|
|
||||||
local file = io.open(path .. "chadrc.lua", "w")
|
local file = io.open(path .. "chadrc.lua", "w")
|
||||||
file:write "local M = {}\n M.ui = {theme = 'onedark'}\n return M"
|
file:write "---@type ChadrcConfig \n local M = {}\n M.ui = {theme = 'onedark'}\n return M"
|
||||||
file:close()
|
file:close()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,12 +1,7 @@
|
|||||||
-- Chadrc overrides this file
|
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
M.options = {
|
M.options = {
|
||||||
nvChad = {
|
nvchad_branch = "v2.0",
|
||||||
update_url = "https://github.com/NvChad/NvChad",
|
|
||||||
update_branch = "v2.0",
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
M.ui = {
|
M.ui = {
|
||||||
@ -18,6 +13,10 @@ M.ui = {
|
|||||||
theme_toggle = { "onedark", "one_light" },
|
theme_toggle = { "onedark", "one_light" },
|
||||||
theme = "onedark", -- default theme
|
theme = "onedark", -- default theme
|
||||||
transparency = false,
|
transparency = false,
|
||||||
|
lsp_semantic_tokens = false, -- needs nvim v0.9, just adds highlight groups for lsp semantic tokens
|
||||||
|
|
||||||
|
-- https://github.com/NvChad/base46/tree/v2.0/lua/base46/extended_integrations
|
||||||
|
extended_integrations = {}, -- these aren't compiled by default, ex: "alpha", "notify"
|
||||||
|
|
||||||
-- cmp themeing
|
-- cmp themeing
|
||||||
cmp = {
|
cmp = {
|
||||||
@ -28,9 +27,7 @@ M.ui = {
|
|||||||
selected_item_bg = "colored", -- colored / simple
|
selected_item_bg = "colored", -- colored / simple
|
||||||
},
|
},
|
||||||
|
|
||||||
telescope = {
|
telescope = { style = "borderless" }, -- borderless / bordered
|
||||||
style = "borderless", -- borderless / bordered
|
|
||||||
},
|
|
||||||
|
|
||||||
------------------------------- nvchad_ui modules -----------------------------
|
------------------------------- nvchad_ui modules -----------------------------
|
||||||
statusline = {
|
statusline = {
|
||||||
@ -75,9 +72,7 @@ M.ui = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
cheatsheet = {
|
cheatsheet = { theme = "grid" }, -- simple/grid
|
||||||
theme = "grid", -- simple/grid
|
|
||||||
},
|
|
||||||
|
|
||||||
lsp = {
|
lsp = {
|
||||||
-- show function signatures i.e args as you type
|
-- show function signatures i.e args as you type
|
||||||
@ -88,11 +83,10 @@ M.ui = {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
M.plugins = "" -- path i.e "custom.plugins" -> custom/plugins.lua only and not custom/plugins/init.lua!!!!
|
M.plugins = "" -- path i.e "custom.plugins", so make custom/plugins.lua file
|
||||||
|
|
||||||
M.lazy_nvim = require "plugins.configs.lazy_nvim" -- config for lazy.nvim startup options
|
M.lazy_nvim = require "plugins.configs.lazy_nvim" -- config for lazy.nvim startup options
|
||||||
|
|
||||||
-- these are default mappings, check core.mappings for table structure
|
|
||||||
M.mappings = {}
|
M.mappings = {}
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
@ -265,6 +265,7 @@ M.telescope = {
|
|||||||
["<leader>fb"] = { "<cmd> Telescope buffers <CR>", "find buffers" },
|
["<leader>fb"] = { "<cmd> Telescope buffers <CR>", "find buffers" },
|
||||||
["<leader>fh"] = { "<cmd> Telescope help_tags <CR>", "help page" },
|
["<leader>fh"] = { "<cmd> Telescope help_tags <CR>", "help page" },
|
||||||
["<leader>fo"] = { "<cmd> Telescope oldfiles <CR>", "find oldfiles" },
|
["<leader>fo"] = { "<cmd> Telescope oldfiles <CR>", "find oldfiles" },
|
||||||
|
["<leader>fz"] = { "<cmd> Telescope current_buffer_fuzzy_find <CR>", "find in current buffer" },
|
||||||
|
|
||||||
-- git
|
-- git
|
||||||
["<leader>cm"] = { "<cmd> Telescope git_commits <CR>", "git commits" },
|
["<leader>cm"] = { "<cmd> Telescope git_commits <CR>", "git commits" },
|
||||||
|
@ -52,37 +52,39 @@ M.remove_disabled_keys = function(chadrc_mappings, default_mappings)
|
|||||||
end
|
end
|
||||||
|
|
||||||
M.load_mappings = function(section, mapping_opt)
|
M.load_mappings = function(section, mapping_opt)
|
||||||
local function set_section_map(section_values)
|
vim.schedule(function()
|
||||||
if section_values.plugin then
|
local function set_section_map(section_values)
|
||||||
return
|
if section_values.plugin then
|
||||||
end
|
return
|
||||||
|
end
|
||||||
|
|
||||||
section_values.plugin = nil
|
section_values.plugin = nil
|
||||||
|
|
||||||
for mode, mode_values in pairs(section_values) do
|
for mode, mode_values in pairs(section_values) do
|
||||||
local default_opts = merge_tb("force", { mode = mode }, mapping_opt or {})
|
local default_opts = merge_tb("force", { mode = mode }, mapping_opt or {})
|
||||||
for keybind, mapping_info in pairs(mode_values) do
|
for keybind, mapping_info in pairs(mode_values) do
|
||||||
-- merge default + user opts
|
-- merge default + user opts
|
||||||
local opts = merge_tb("force", default_opts, mapping_info.opts or {})
|
local opts = merge_tb("force", default_opts, mapping_info.opts or {})
|
||||||
|
|
||||||
mapping_info.opts, opts.mode = nil, nil
|
mapping_info.opts, opts.mode = nil, nil
|
||||||
opts.desc = mapping_info[2]
|
opts.desc = mapping_info[2]
|
||||||
|
|
||||||
vim.keymap.set(mode, keybind, mapping_info[1], opts)
|
vim.keymap.set(mode, keybind, mapping_info[1], opts)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
local mappings = require("core.utils").load_config().mappings
|
local mappings = require("core.utils").load_config().mappings
|
||||||
|
|
||||||
if type(section) == "string" then
|
if type(section) == "string" then
|
||||||
mappings[section]["plugin"] = nil
|
mappings[section]["plugin"] = nil
|
||||||
mappings = { mappings[section] }
|
mappings = { mappings[section] }
|
||||||
end
|
end
|
||||||
|
|
||||||
for _, sect in pairs(mappings) do
|
for _, sect in pairs(mappings) do
|
||||||
set_section_map(sect)
|
set_section_map(sect)
|
||||||
end
|
end
|
||||||
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
M.lazy_load = function(plugin)
|
M.lazy_load = function(plugin)
|
||||||
|
@ -5,7 +5,7 @@ return {
|
|||||||
ui = {
|
ui = {
|
||||||
icons = {
|
icons = {
|
||||||
ft = "",
|
ft = "",
|
||||||
lazy = "鈴 ",
|
lazy = " ",
|
||||||
loaded = "",
|
loaded = "",
|
||||||
not_loaded = "",
|
not_loaded = "",
|
||||||
},
|
},
|
||||||
|
@ -7,14 +7,15 @@ local utils = require "core.utils"
|
|||||||
-- export on_attach & capabilities for custom lspconfigs
|
-- export on_attach & capabilities for custom lspconfigs
|
||||||
|
|
||||||
M.on_attach = function(client, bufnr)
|
M.on_attach = function(client, bufnr)
|
||||||
client.server_capabilities.documentFormattingProvider = false
|
|
||||||
client.server_capabilities.documentRangeFormattingProvider = false
|
|
||||||
|
|
||||||
utils.load_mappings("lspconfig", { buffer = bufnr })
|
utils.load_mappings("lspconfig", { buffer = bufnr })
|
||||||
|
|
||||||
if client.server_capabilities.signatureHelpProvider then
|
if client.server_capabilities.signatureHelpProvider then
|
||||||
require("nvchad_ui.signature").setup(client)
|
require("nvchad_ui.signature").setup(client)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if not utils.load_config().ui.lsp_semantic_tokens then
|
||||||
|
client.server_capabilities.semanticTokensProvider = nil
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
M.capabilities = vim.lsp.protocol.make_client_capabilities()
|
M.capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||||
|
@ -6,8 +6,8 @@ local options = {
|
|||||||
ui = {
|
ui = {
|
||||||
icons = {
|
icons = {
|
||||||
package_pending = " ",
|
package_pending = " ",
|
||||||
package_installed = " ",
|
package_installed = " ",
|
||||||
package_uninstalled = " ﮊ",
|
package_uninstalled = " ",
|
||||||
},
|
},
|
||||||
|
|
||||||
keymaps = {
|
keymaps = {
|
||||||
|
@ -16,7 +16,6 @@ local options = {
|
|||||||
adaptive_size = false,
|
adaptive_size = false,
|
||||||
side = "left",
|
side = "left",
|
||||||
width = 30,
|
width = 30,
|
||||||
hide_root_folder = true,
|
|
||||||
preserve_window_proportions = true,
|
preserve_window_proportions = true,
|
||||||
},
|
},
|
||||||
git = {
|
git = {
|
||||||
@ -34,7 +33,6 @@ local options = {
|
|||||||
renderer = {
|
renderer = {
|
||||||
highlight_git = true,
|
highlight_git = true,
|
||||||
highlight_opened_files = "none",
|
highlight_opened_files = "none",
|
||||||
|
|
||||||
indent_markers = {
|
indent_markers = {
|
||||||
enable = false,
|
enable = false,
|
||||||
},
|
},
|
||||||
@ -48,10 +46,10 @@ local options = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
glyphs = {
|
glyphs = {
|
||||||
default = "",
|
default = "",
|
||||||
symlink = "",
|
symlink = "",
|
||||||
folder = {
|
folder = {
|
||||||
default = "",
|
default = "",
|
||||||
empty = "",
|
empty = "",
|
||||||
empty_open = "",
|
empty_open = "",
|
||||||
open = "",
|
open = "",
|
||||||
|
@ -53,7 +53,7 @@ M.gitsigns = {
|
|||||||
signs = {
|
signs = {
|
||||||
add = { hl = "DiffAdd", text = "│", numhl = "GitSignsAddNr" },
|
add = { hl = "DiffAdd", text = "│", numhl = "GitSignsAddNr" },
|
||||||
change = { hl = "DiffChange", text = "│", numhl = "GitSignsChangeNr" },
|
change = { hl = "DiffChange", text = "│", numhl = "GitSignsChangeNr" },
|
||||||
delete = { hl = "DiffDelete", text = "", numhl = "GitSignsDeleteNr" },
|
delete = { hl = "DiffDelete", text = "", numhl = "GitSignsDeleteNr" },
|
||||||
topdelete = { hl = "DiffDelete", text = "‾", numhl = "GitSignsDeleteNr" },
|
topdelete = { hl = "DiffDelete", text = "‾", numhl = "GitSignsDeleteNr" },
|
||||||
changedelete = { hl = "DiffChangeDelete", text = "~", numhl = "GitSignsChangeNr" },
|
changedelete = { hl = "DiffChangeDelete", text = "~", numhl = "GitSignsChangeNr" },
|
||||||
untracked = { hl = "GitSignsAdd", text = "│", numhl = "GitSignsAddNr", linehl = "GitSignsAddLn" },
|
untracked = { hl = "GitSignsAdd", text = "│", numhl = "GitSignsAddNr", linehl = "GitSignsAddLn" },
|
||||||
|
@ -1,31 +0,0 @@
|
|||||||
local options = {
|
|
||||||
|
|
||||||
icons = {
|
|
||||||
breadcrumb = "»", -- symbol used in the command line area that shows your active key combo
|
|
||||||
separator = " ", -- symbol used between a key and it's label
|
|
||||||
group = "+", -- symbol prepended to a group
|
|
||||||
},
|
|
||||||
|
|
||||||
popup_mappings = {
|
|
||||||
scroll_down = "<c-d>", -- binding to scroll down inside the popup
|
|
||||||
scroll_up = "<c-u>", -- binding to scroll up inside the popup
|
|
||||||
},
|
|
||||||
|
|
||||||
window = {
|
|
||||||
border = "none", -- none/single/double/shadow
|
|
||||||
},
|
|
||||||
|
|
||||||
layout = {
|
|
||||||
spacing = 6, -- spacing between columns
|
|
||||||
},
|
|
||||||
|
|
||||||
hidden = { "<silent>", "<cmd>", "<Cmd>", "<CR>", "call", "lua", "^:", "^ " },
|
|
||||||
|
|
||||||
triggers_blacklist = {
|
|
||||||
-- list of mode / prefixes that should never be hooked by WhichKey
|
|
||||||
i = { "j", "k" },
|
|
||||||
v = { "j", "k" },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
return options
|
|
@ -95,7 +95,7 @@ local default_plugins = {
|
|||||||
-- git stuff
|
-- git stuff
|
||||||
{
|
{
|
||||||
"lewis6991/gitsigns.nvim",
|
"lewis6991/gitsigns.nvim",
|
||||||
ft = "gitcommit",
|
ft = { "gitcommit", "diff" },
|
||||||
init = function()
|
init = function()
|
||||||
-- load gitsigns only when a git file is opened
|
-- load gitsigns only when a git file is opened
|
||||||
vim.api.nvim_create_autocmd({ "BufRead" }, {
|
vim.api.nvim_create_autocmd({ "BufRead" }, {
|
||||||
@ -190,7 +190,6 @@ local default_plugins = {
|
|||||||
"hrsh7th/cmp-path",
|
"hrsh7th/cmp-path",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
opts = function()
|
opts = function()
|
||||||
return require "plugins.configs.cmp"
|
return require "plugins.configs.cmp"
|
||||||
end,
|
end,
|
||||||
@ -201,7 +200,7 @@ local default_plugins = {
|
|||||||
|
|
||||||
{
|
{
|
||||||
"numToStr/Comment.nvim",
|
"numToStr/Comment.nvim",
|
||||||
-- keys = { "gc", "gb" },
|
keys = { "gcc", "gbc" },
|
||||||
init = function()
|
init = function()
|
||||||
require("core.utils").load_mappings "comment"
|
require("core.utils").load_mappings "comment"
|
||||||
end,
|
end,
|
||||||
@ -233,11 +232,9 @@ local default_plugins = {
|
|||||||
init = function()
|
init = function()
|
||||||
require("core.utils").load_mappings "telescope"
|
require("core.utils").load_mappings "telescope"
|
||||||
end,
|
end,
|
||||||
|
|
||||||
opts = function()
|
opts = function()
|
||||||
return require "plugins.configs.telescope"
|
return require "plugins.configs.telescope"
|
||||||
end,
|
end,
|
||||||
|
|
||||||
config = function(_, opts)
|
config = function(_, opts)
|
||||||
dofile(vim.g.base46_cache .. "telescope")
|
dofile(vim.g.base46_cache .. "telescope")
|
||||||
local telescope = require "telescope"
|
local telescope = require "telescope"
|
||||||
@ -253,13 +250,10 @@ local default_plugins = {
|
|||||||
-- Only load whichkey after all the gui
|
-- Only load whichkey after all the gui
|
||||||
{
|
{
|
||||||
"folke/which-key.nvim",
|
"folke/which-key.nvim",
|
||||||
keys = { "<leader>", '"', "'", "`" },
|
keys = { "<leader>", '"', "'", "`", "c", "v" },
|
||||||
init = function()
|
init = function()
|
||||||
require("core.utils").load_mappings "whichkey"
|
require("core.utils").load_mappings "whichkey"
|
||||||
end,
|
end,
|
||||||
opts = function()
|
|
||||||
return require "plugins.configs.whichkey"
|
|
||||||
end,
|
|
||||||
config = function(_, opts)
|
config = function(_, opts)
|
||||||
dofile(vim.g.base46_cache .. "whichkey")
|
dofile(vim.g.base46_cache .. "whichkey")
|
||||||
require("which-key").setup(opts)
|
require("which-key").setup(opts)
|
||||||
|
Loading…
Reference in New Issue
Block a user