Initial Code
This commit is contained in:
		
							
								
								
									
										120
									
								
								lua/plugins/configs/cmp.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										120
									
								
								lua/plugins/configs/cmp.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,120 @@ | ||||
| local cmp = require "cmp" | ||||
|  | ||||
| dofile(vim.g.base46_cache .. "cmp") | ||||
|  | ||||
| local cmp_ui = require("core.utils").load_config().ui.cmp | ||||
| local cmp_style = cmp_ui.style | ||||
|  | ||||
| local field_arrangement = { | ||||
|   atom = { "kind", "abbr", "menu" }, | ||||
|   atom_colored = { "kind", "abbr", "menu" }, | ||||
| } | ||||
|  | ||||
| local formatting_style = { | ||||
|   -- default fields order i.e completion word + item.kind + item.kind icons | ||||
|   fields = field_arrangement[cmp_style] or { "abbr", "kind", "menu" }, | ||||
|  | ||||
|   format = function(_, item) | ||||
|     local icons = require "nvchad.icons.lspkind" | ||||
|     local icon = (cmp_ui.icons and icons[item.kind]) or "" | ||||
|  | ||||
|     if cmp_style == "atom" or cmp_style == "atom_colored" then | ||||
|       icon = " " .. icon .. " " | ||||
|       item.menu = cmp_ui.lspkind_text and "   (" .. item.kind .. ")" or "" | ||||
|       item.kind = icon | ||||
|     else | ||||
|       icon = cmp_ui.lspkind_text and (" " .. icon .. " ") or icon | ||||
|       item.kind = string.format("%s %s", icon, cmp_ui.lspkind_text and item.kind or "") | ||||
|     end | ||||
|  | ||||
|     return item | ||||
|   end, | ||||
| } | ||||
|  | ||||
| local function border(hl_name) | ||||
|   return { | ||||
|     { "╭", hl_name }, | ||||
|     { "─", hl_name }, | ||||
|     { "╮", hl_name }, | ||||
|     { "│", hl_name }, | ||||
|     { "╯", hl_name }, | ||||
|     { "─", hl_name }, | ||||
|     { "╰", hl_name }, | ||||
|     { "│", hl_name }, | ||||
|   } | ||||
| end | ||||
|  | ||||
| local options = { | ||||
|   completion = { | ||||
|     completeopt = "menu,menuone", | ||||
|   }, | ||||
|  | ||||
|   window = { | ||||
|     completion = { | ||||
|       side_padding = (cmp_style ~= "atom" and cmp_style ~= "atom_colored") and 1 or 0, | ||||
|       winhighlight = "Normal:CmpPmenu,CursorLine:CmpSel,Search:None", | ||||
|       scrollbar = false, | ||||
|     }, | ||||
|     documentation = { | ||||
|       border = border "CmpDocBorder", | ||||
|       winhighlight = "Normal:CmpDoc", | ||||
|     }, | ||||
|   }, | ||||
|   snippet = { | ||||
|     expand = function(args) | ||||
|       require("luasnip").lsp_expand(args.body) | ||||
|     end, | ||||
|   }, | ||||
|  | ||||
|   formatting = formatting_style, | ||||
|  | ||||
|   mapping = { | ||||
|     ["<C-p>"] = cmp.mapping.select_prev_item(), | ||||
|     ["<C-n>"] = cmp.mapping.select_next_item(), | ||||
|     ["<C-d>"] = cmp.mapping.scroll_docs(-4), | ||||
|     ["<C-f>"] = cmp.mapping.scroll_docs(4), | ||||
|     ["<C-Space>"] = cmp.mapping.complete(), | ||||
|     ["<C-e>"] = cmp.mapping.close(), | ||||
|     ["<CR>"] = cmp.mapping.confirm { | ||||
|       behavior = cmp.ConfirmBehavior.Insert, | ||||
|       select = true, | ||||
|     }, | ||||
|     ["<Tab>"] = cmp.mapping(function(fallback) | ||||
|       if cmp.visible() then | ||||
|         cmp.select_next_item() | ||||
|       elseif require("luasnip").expand_or_jumpable() then | ||||
|         vim.fn.feedkeys(vim.api.nvim_replace_termcodes("<Plug>luasnip-expand-or-jump", true, true, true), "") | ||||
|       else | ||||
|         fallback() | ||||
|       end | ||||
|     end, { | ||||
|       "i", | ||||
|       "s", | ||||
|     }), | ||||
|     ["<S-Tab>"] = cmp.mapping(function(fallback) | ||||
|       if cmp.visible() then | ||||
|         cmp.select_prev_item() | ||||
|       elseif require("luasnip").jumpable(-1) then | ||||
|         vim.fn.feedkeys(vim.api.nvim_replace_termcodes("<Plug>luasnip-jump-prev", true, true, true), "") | ||||
|       else | ||||
|         fallback() | ||||
|       end | ||||
|     end, { | ||||
|       "i", | ||||
|       "s", | ||||
|     }), | ||||
|   }, | ||||
|   sources = { | ||||
|     { name = "nvim_lsp" }, | ||||
|     { name = "luasnip" }, | ||||
|     { name = "buffer" }, | ||||
|     { name = "nvim_lua" }, | ||||
|     { name = "path" }, | ||||
|   }, | ||||
| } | ||||
|  | ||||
| if cmp_style ~= "atom" and cmp_style ~= "atom_colored" then | ||||
|   options.window.completion.border = border "CmpBorder" | ||||
| end | ||||
|  | ||||
| return options | ||||
							
								
								
									
										47
									
								
								lua/plugins/configs/lazy_nvim.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								lua/plugins/configs/lazy_nvim.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,47 @@ | ||||
| return { | ||||
|   defaults = { lazy = true }, | ||||
|   install = { colorscheme = { "nvchad" } }, | ||||
|  | ||||
|   ui = { | ||||
|     icons = { | ||||
|       ft = "", | ||||
|       lazy = " ", | ||||
|       loaded = "", | ||||
|       not_loaded = "", | ||||
|     }, | ||||
|   }, | ||||
|  | ||||
|   performance = { | ||||
|     rtp = { | ||||
|       disabled_plugins = { | ||||
|         "2html_plugin", | ||||
|         "tohtml", | ||||
|         "getscript", | ||||
|         "getscriptPlugin", | ||||
|         "gzip", | ||||
|         "logipat", | ||||
|         "netrw", | ||||
|         "netrwPlugin", | ||||
|         "netrwSettings", | ||||
|         "netrwFileHandlers", | ||||
|         "matchit", | ||||
|         "tar", | ||||
|         "tarPlugin", | ||||
|         "rrhelper", | ||||
|         "spellfile_plugin", | ||||
|         "vimball", | ||||
|         "vimballPlugin", | ||||
|         "zip", | ||||
|         "zipPlugin", | ||||
|         "tutor", | ||||
|         "rplugin", | ||||
|         "syntax", | ||||
|         "synmenu", | ||||
|         "optwin", | ||||
|         "compiler", | ||||
|         "bugreport", | ||||
|         "ftplugin", | ||||
|       }, | ||||
|     }, | ||||
|   }, | ||||
| } | ||||
							
								
								
									
										67
									
								
								lua/plugins/configs/lspconfig.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								lua/plugins/configs/lspconfig.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,67 @@ | ||||
| dofile(vim.g.base46_cache .. "lsp") | ||||
| require "nvchad.lsp" | ||||
|  | ||||
| local M = {} | ||||
| local utils = require "core.utils" | ||||
|  | ||||
| -- export on_attach & capabilities for custom lspconfigs | ||||
|  | ||||
| M.on_attach = function(client, bufnr) | ||||
|   client.server_capabilities.documentFormattingProvider = false | ||||
|   client.server_capabilities.documentRangeFormattingProvider = false | ||||
|  | ||||
|   utils.load_mappings("lspconfig", { buffer = bufnr }) | ||||
|  | ||||
|   if client.server_capabilities.signatureHelpProvider then | ||||
|     require("nvchad.signature").setup(client) | ||||
|   end | ||||
|  | ||||
|   if not utils.load_config().ui.lsp_semantic_tokens and client.supports_method "textDocument/semanticTokens" then | ||||
|     client.server_capabilities.semanticTokensProvider = nil | ||||
|   end | ||||
| end | ||||
|  | ||||
| M.capabilities = vim.lsp.protocol.make_client_capabilities() | ||||
|  | ||||
| M.capabilities.textDocument.completion.completionItem = { | ||||
|   documentationFormat = { "markdown", "plaintext" }, | ||||
|   snippetSupport = true, | ||||
|   preselectSupport = true, | ||||
|   insertReplaceSupport = true, | ||||
|   labelDetailsSupport = true, | ||||
|   deprecatedSupport = true, | ||||
|   commitCharactersSupport = true, | ||||
|   tagSupport = { valueSet = { 1 } }, | ||||
|   resolveSupport = { | ||||
|     properties = { | ||||
|       "documentation", | ||||
|       "detail", | ||||
|       "additionalTextEdits", | ||||
|     }, | ||||
|   }, | ||||
| } | ||||
|  | ||||
| require("lspconfig").lua_ls.setup { | ||||
|   on_attach = M.on_attach, | ||||
|   capabilities = M.capabilities, | ||||
|  | ||||
|   settings = { | ||||
|     Lua = { | ||||
|       diagnostics = { | ||||
|         globals = { "vim" }, | ||||
|       }, | ||||
|       workspace = { | ||||
|         library = { | ||||
|           [vim.fn.expand "$VIMRUNTIME/lua"] = true, | ||||
|           [vim.fn.expand "$VIMRUNTIME/lua/vim/lsp"] = true, | ||||
|           [vim.fn.stdpath "data" .. "/lazy/ui/nvchad_types"] = true, | ||||
|           [vim.fn.stdpath "data" .. "/lazy/lazy.nvim/lua/lazy"] = true, | ||||
|         }, | ||||
|         maxPreload = 100000, | ||||
|         preloadFileSize = 10000, | ||||
|       }, | ||||
|     }, | ||||
|   }, | ||||
| } | ||||
|  | ||||
| return M | ||||
							
								
								
									
										28
									
								
								lua/plugins/configs/mason.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								lua/plugins/configs/mason.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| local options = { | ||||
|   ensure_installed = { "lua-language-server" }, -- not an option from mason.nvim | ||||
|  | ||||
|   PATH = "skip", | ||||
|  | ||||
|   ui = { | ||||
|     icons = { | ||||
|       package_pending = " ", | ||||
|       package_installed = " ", | ||||
|       package_uninstalled = " ", | ||||
|     }, | ||||
|  | ||||
|     keymaps = { | ||||
|       toggle_server_expand = "<CR>", | ||||
|       install_server = "i", | ||||
|       update_server = "u", | ||||
|       check_server_version = "c", | ||||
|       update_all_servers = "U", | ||||
|       check_outdated_servers = "C", | ||||
|       uninstall_server = "X", | ||||
|       cancel_installation = "<C-c>", | ||||
|     }, | ||||
|   }, | ||||
|  | ||||
|   max_concurrent_installers = 10, | ||||
| } | ||||
|  | ||||
| return options | ||||
							
								
								
									
										77
									
								
								lua/plugins/configs/nvimtree.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								lua/plugins/configs/nvimtree.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,77 @@ | ||||
| local options = { | ||||
|   filters = { | ||||
|     dotfiles = false, | ||||
|     exclude = { vim.fn.stdpath "config" .. "/lua/custom" }, | ||||
|   }, | ||||
|   disable_netrw = true, | ||||
|   hijack_netrw = true, | ||||
|   hijack_cursor = true, | ||||
|   hijack_unnamed_buffer_when_opening = false, | ||||
|   sync_root_with_cwd = true, | ||||
|   update_focused_file = { | ||||
|     enable = true, | ||||
|     update_root = false, | ||||
|   }, | ||||
|   view = { | ||||
|     adaptive_size = false, | ||||
|     side = "left", | ||||
|     width = 30, | ||||
|     preserve_window_proportions = true, | ||||
|   }, | ||||
|   git = { | ||||
|     enable = false, | ||||
|     ignore = true, | ||||
|   }, | ||||
|   filesystem_watchers = { | ||||
|     enable = true, | ||||
|   }, | ||||
|   actions = { | ||||
|     open_file = { | ||||
|       resize_window = true, | ||||
|     }, | ||||
|   }, | ||||
|   renderer = { | ||||
|     root_folder_label = false, | ||||
|     highlight_git = false, | ||||
|     highlight_opened_files = "none", | ||||
|  | ||||
|     indent_markers = { | ||||
|       enable = false, | ||||
|     }, | ||||
|  | ||||
|     icons = { | ||||
|       show = { | ||||
|         file = true, | ||||
|         folder = true, | ||||
|         folder_arrow = true, | ||||
|         git = false, | ||||
|       }, | ||||
|  | ||||
|       glyphs = { | ||||
|         default = "", | ||||
|         symlink = "", | ||||
|         folder = { | ||||
|           default = "", | ||||
|           empty = "", | ||||
|           empty_open = "", | ||||
|           open = "", | ||||
|           symlink = "", | ||||
|           symlink_open = "", | ||||
|           arrow_open = "", | ||||
|           arrow_closed = "", | ||||
|         }, | ||||
|         git = { | ||||
|           unstaged = "✗", | ||||
|           staged = "✓", | ||||
|           unmerged = "", | ||||
|           renamed = "➜", | ||||
|           untracked = "★", | ||||
|           deleted = "", | ||||
|           ignored = "◌", | ||||
|         }, | ||||
|       }, | ||||
|     }, | ||||
|   }, | ||||
| } | ||||
|  | ||||
| return options | ||||
							
								
								
									
										66
									
								
								lua/plugins/configs/others.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								lua/plugins/configs/others.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,66 @@ | ||||
| local M = {} | ||||
| local utils = require "core.utils" | ||||
|  | ||||
| M.blankline = { | ||||
|   indentLine_enabled = 1, | ||||
|   filetype_exclude = { | ||||
|     "help", | ||||
|     "terminal", | ||||
|     "lazy", | ||||
|     "lspinfo", | ||||
|     "TelescopePrompt", | ||||
|     "TelescopeResults", | ||||
|     "mason", | ||||
|     "nvdash", | ||||
|     "nvcheatsheet", | ||||
|     "", | ||||
|   }, | ||||
|   buftype_exclude = { "terminal" }, | ||||
|   show_trailing_blankline_indent = false, | ||||
|   show_first_indent_level = false, | ||||
|   show_current_context = true, | ||||
|   show_current_context_start = true, | ||||
| } | ||||
|  | ||||
| M.luasnip = function(opts) | ||||
|   require("luasnip").config.set_config(opts) | ||||
|  | ||||
|   -- vscode format | ||||
|   require("luasnip.loaders.from_vscode").lazy_load() | ||||
|   require("luasnip.loaders.from_vscode").lazy_load { paths = vim.g.vscode_snippets_path or "" } | ||||
|  | ||||
|   -- snipmate format | ||||
|   require("luasnip.loaders.from_snipmate").load() | ||||
|   require("luasnip.loaders.from_snipmate").lazy_load { paths = vim.g.snipmate_snippets_path or "" } | ||||
|  | ||||
|   -- lua format | ||||
|   require("luasnip.loaders.from_lua").load() | ||||
|   require("luasnip.loaders.from_lua").lazy_load { paths = vim.g.lua_snippets_path or "" } | ||||
|  | ||||
|   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, | ||||
|   }) | ||||
| end | ||||
|  | ||||
| M.gitsigns = { | ||||
|   signs = { | ||||
|     add = { text = "│" }, | ||||
|     change = { text = "│" }, | ||||
|     delete = { text = "" }, | ||||
|     topdelete = { text = "‾" }, | ||||
|     changedelete = { text = "~" }, | ||||
|     untracked = { text = "│" }, | ||||
|   }, | ||||
|   on_attach = function(bufnr) | ||||
|     utils.load_mappings("gitsigns", { buffer = bufnr }) | ||||
|   end, | ||||
| } | ||||
|  | ||||
| return M | ||||
							
								
								
									
										63
									
								
								lua/plugins/configs/telescope.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								lua/plugins/configs/telescope.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,63 @@ | ||||
| local options = { | ||||
|   defaults = { | ||||
|     vimgrep_arguments = { | ||||
|       "rg", | ||||
|       "-L", | ||||
|       "--color=never", | ||||
|       "--no-heading", | ||||
|       "--with-filename", | ||||
|       "--line-number", | ||||
|       "--column", | ||||
|       "--smart-case", | ||||
|     }, | ||||
|     prompt_prefix = "   ", | ||||
|     selection_caret = "  ", | ||||
|     entry_prefix = "  ", | ||||
|     initial_mode = "insert", | ||||
|     selection_strategy = "reset", | ||||
|     sorting_strategy = "ascending", | ||||
|     layout_strategy = "horizontal", | ||||
|     layout_config = { | ||||
|       horizontal = { | ||||
|         prompt_position = "top", | ||||
|         preview_width = 0.55, | ||||
|         results_width = 0.8, | ||||
|       }, | ||||
|       vertical = { | ||||
|         mirror = false, | ||||
|       }, | ||||
|       width = 0.87, | ||||
|       height = 0.80, | ||||
|       preview_cutoff = 120, | ||||
|     }, | ||||
|     file_sorter = require("telescope.sorters").get_fuzzy_file, | ||||
|     file_ignore_patterns = { "node_modules" }, | ||||
|     generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter, | ||||
|     path_display = { "truncate" }, | ||||
|     winblend = 0, | ||||
|     border = {}, | ||||
|     borderchars = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" }, | ||||
|     color_devicons = true, | ||||
|     set_env = { ["COLORTERM"] = "truecolor" }, -- default = nil, | ||||
|     file_previewer = require("telescope.previewers").vim_buffer_cat.new, | ||||
|     grep_previewer = require("telescope.previewers").vim_buffer_vimgrep.new, | ||||
|     qflist_previewer = require("telescope.previewers").vim_buffer_qflist.new, | ||||
|     -- Developer configurations: Not meant for general override | ||||
|     buffer_previewer_maker = require("telescope.previewers").buffer_previewer_maker, | ||||
|     mappings = { | ||||
|       n = { ["q"] = require("telescope.actions").close }, | ||||
|     }, | ||||
|   }, | ||||
|  | ||||
|   extensions_list = { "themes", "terms", "fzf" }, | ||||
|   extensions = { | ||||
|     fzf = { | ||||
|       fuzzy = true, | ||||
|       override_generic_sorter = true, | ||||
|       override_file_sorter = true, | ||||
|       case_mode = "smart_case", | ||||
|     }, | ||||
|   }, | ||||
| } | ||||
|  | ||||
| return options | ||||
							
								
								
									
										12
									
								
								lua/plugins/configs/treesitter.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								lua/plugins/configs/treesitter.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| local options = { | ||||
|   ensure_installed = { "lua" }, | ||||
|  | ||||
|   highlight = { | ||||
|     enable = true, | ||||
|     use_languagetree = true, | ||||
|   }, | ||||
|  | ||||
|   indent = { enable = true }, | ||||
| } | ||||
|  | ||||
| return options | ||||
		Reference in New Issue
	
	Block a user