diff --git a/init.lua b/init.lua index 88801ba..b7bdb64 100644 --- a/init.lua +++ b/init.lua @@ -1,4 +1,2 @@ -require('core.options') -require('core.keymaps') -require('core.autocmds') -require("core.bootstrap") +require("config.lazy") +require("config.opts") diff --git a/lua/config/lazy.lua b/lua/config/lazy.lua new file mode 100644 index 0000000..0b93d4e --- /dev/null +++ b/lua/config/lazy.lua @@ -0,0 +1,35 @@ +-- Bootstrap lazy.nvim +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(lazypath) + +-- Make sure to setup `mapleader` and `maplocalleader` before +-- loading lazy.nvim so that mappings are correct. +-- This is also a good place to setup other settings (vim.opt) +vim.g.mapleader = " " +vim.g.maplocalleader = "\\" + +-- Setup lazy.nvim +require("lazy").setup({ + spec = { + -- import your plugins + { import = "plugins" }, + }, + -- Configure any other settings here. See the documentation for more details. + -- colorscheme that will be used when installing plugins. + install = { colorscheme = { "habamax" } }, + -- automatically check for plugin updates + checker = { enabled = false }, +}) diff --git a/lua/config/opts.lua b/lua/config/opts.lua new file mode 100644 index 0000000..fc7b3f0 --- /dev/null +++ b/lua/config/opts.lua @@ -0,0 +1,16 @@ +local opt = vim.opt + +opt.clipboard = vim.env.SSH_TTY and "" or "unnamedplus" -- Sync with system clipboard +opt.confirm = true +opt.cursorline = true +opt.expandtab = true +opt.ignorecase = true +opt.laststatus = 3 -- global statusline +opt.mouse = "a" +opt.shiftwidth = 4 +opt.tabstop = 4 +opt.showmode = false +opt.termguicolors = true -- True color support +opt.virtualedit = "block" -- Allow cursor to move where there is no text in visual block mode +opt.wrap = false +opt.smoothscroll = true diff --git a/lua/core/autocmds.lua b/lua/core/autocmds.lua deleted file mode 100644 index 27e9e06..0000000 --- a/lua/core/autocmds.lua +++ /dev/null @@ -1,3 +0,0 @@ --- Autocmds are automatically loaded on the VeryLazy event --- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua --- Add any additional autocmds here diff --git a/lua/core/bootstrap.lua b/lua/core/bootstrap.lua deleted file mode 100644 index 4654240..0000000 --- a/lua/core/bootstrap.lua +++ /dev/null @@ -1,118 +0,0 @@ -local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" -if not vim.loop.fs_stat(lazypath) then - -- bootstrap lazy.nvim - -- stylua: ignore - vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", - "--branch=stable", - lazypath }) -end -vim.opt.rtp:prepend(vim.env.LAZY or lazypath) - -require("lazy").setup({ - spec = { - -- add LazyVim and import its plugins - { "LazyVim/LazyVim" }, - -- import any extras modules here - -- { import = "lazyvim.plugins.extras.lang.typescript" }, - -- { import = "lazyvim.plugins.extras.lang.json" }, - -- { import = "lazyvim.plugins.extras.ui.mini-animate" }, - -- import/override with your plugins - { import = "plugins" }, - }, - defaults = { - -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. - -- If you know what you're doing, you can set this to `true` - -- to have all your custom plugins lazy-loaded by default. - lazy = false, - -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, - -- have outdated releases, which may break your Neovim install. - version = false, -- always use the latest git commit - -- version = "*", -- try installing the latest stable version for plugins that support semver - keymaps = true, - }, - -- install = { colorscheme = { "tokyonight" } }, - checker = { enabled = true }, -- automatically check for plugin updates - performance = { - rtp = { - -- disable some rtp plugins - disabled_plugins = { - "gzip", - -- "matchit", - -- "matchparen", - -- "netrwPlugin", - "tarPlugin", - "tohtml", - "tutor", - "zipPlugin", - }, - }, - }, - icons = { - ft = "", - lazy = "󰂠 ", - loaded = "", - not_loaded = "", - misc = { - dots = "󰇘", - }, - dap = { - Stopped = { "󰁕 ", "DiagnosticWarn", "DapStoppedLine" }, - Breakpoint = " ", - BreakpointCondition = " ", - BreakpointRejected = { " ", "DiagnosticError" }, - LogPoint = ".>", - }, - diagnostics = { - Error = " ", - Warn = " ", - Hint = " ", - Info = " ", - }, - git = { - added = "+", - modified = "~", - removed = "-", - }, - kinds = { - Array = " ", - Boolean = "󰨙 ", - Class = " ", - Codeium = "󰘦 ", - Color = " ", - Control = " ", - Collapsed = " ", - Constant = "󰏿 ", - Constructor = " ", - Copilot = " ", - Enum = " ", - EnumMember = " ", - Event = " ", - Field = " ", - File = " ", - Folder = " ", - Function = "󰊕 ", - Interface = " ", - Key = " ", - Keyword = " ", - Method = "󰊕 ", - Module = " ", - Namespace = "󰦮 ", - Null = " ", - Number = "󰎠 ", - Object = " ", - Operator = " ", - Package = " ", - Property = " ", - Reference = " ", - Snippet = " ", - String = " ", - Struct = "󰆼 ", - TabNine = "󰏚 ", - Text = " ", - TypeParameter = " ", - Unit = " ", - Value = " ", - Variable = "󰀫 ", - }, - }, -}) diff --git a/lua/core/keymaps.lua b/lua/core/keymaps.lua deleted file mode 100644 index e67d896..0000000 --- a/lua/core/keymaps.lua +++ /dev/null @@ -1,15 +0,0 @@ -local map = vim.keymap.set - -map({ 'n', 'i' }, '', 'Telescope', { noremap = true }) - --- save file on -map({ "i", "x", "n", "s" }, "", "w", { desc = "Save file" }) - --- new file -map("n", "", "enew", { desc = "New File" }) - -map({ 'n', 'i' }, '', 'u') -map({ 'n', 'i' }, '', 'redo') - --- shift back command -map({ 'n', 'i' }, '', '<') diff --git a/lua/core/language-server.lua b/lua/core/language-server.lua deleted file mode 100644 index 772b866..0000000 --- a/lua/core/language-server.lua +++ /dev/null @@ -1,23 +0,0 @@ -return { - lua_ls = { - mason = false - }, - bashls = { - mason = false, - }, - clangd = { - mason = false - }, - arduino_language_server = { - mason = false - }, - pyright = { - mason = false - }, - html = { - mason = false - }, - gopls = { - mason = false - } -} diff --git a/lua/core/options.lua b/lua/core/options.lua deleted file mode 100644 index d97d0b0..0000000 --- a/lua/core/options.lua +++ /dev/null @@ -1,59 +0,0 @@ -local opt = vim.opt - -opt.swapfile = false -- disable swapfiles because they are fucking garbage -opt.autowrite = true -- Enable auto write -opt.clipboard = "unnamedplus" -- Sync with system clipboard -opt.completeopt = "menu,menuone,noselect" -opt.conceallevel = 3 -- Hide * markup for bold and italic -opt.confirm = true -- Confirm to save changes before exiting modified buffer -opt.cursorline = true -- Enable highlighting of the current line -opt.expandtab = true -- Use spaces instead of tabs -opt.formatoptions = "jcroqlnt" -- tcqj -opt.grepformat = "%f:%l:%c:%m" -opt.grepprg = "rg --vimgrep" -opt.ignorecase = true -- Ignore case -opt.inccommand = "nosplit" -- preview incremental substitute -opt.laststatus = 3 -- global statusline -opt.list = true -- Show some invisible characters (tabs... -opt.mouse = "a" -- Enable mouse mode -opt.number = true -- Print line number -opt.pumblend = 0 -- Popup blend -opt.pumheight = 10 -- Maximum number of entries in a popup -opt.relativenumber = false -- Relative line numbers -opt.scrolloff = 4 -- Lines of context -opt.sessionoptions = { "buffers", "curdir", "tabpages", "winsize", "help", "globals", "skiprtp", "folds" } -opt.shiftround = true -- Round indent -opt.shiftwidth = 4 -- Size of an indent -opt.shortmess:append({ W = true, I = true, c = true, C = true }) -opt.showmode = false -- Dont show mode since we have a statusline -opt.sidescrolloff = 8 -- Columns of context -opt.signcolumn = "yes" -- Always show the signcolumn, otherwise it would shift the text each time -opt.smartcase = false -- Don't ignore case with capitals -opt.smartindent = true -- Insert indents automatically -opt.spelllang = { "en" } -opt.splitbelow = false -- Put new windows below current -opt.splitkeep = "screen" -opt.splitright = true -- Put new windows right of current -opt.tabstop = 4 -- Number of spaces tabs count for -opt.termguicolors = true -- True color support -opt.timeoutlen = 300 -opt.undofile = true -opt.foldcolumn = '1' -opt.foldlevel = 99 -opt.foldlevelstart = 99 -opt.showtabline = 2 -opt.foldenable = true -opt.undolevels = 10000 -opt.updatetime = 200 -- Save swap file and trigger CursorHold -opt.virtualedit = "block" -- Allow cursor to move where there is no text in visual block mode -opt.wildmode = "longest:full,full" -- Command-line completion mode -opt.winminwidth = 5 -- Minimum window width -opt.wrap = false -- Disable line wrap -opt.fillchars = { - foldopen = "", - foldclose = "", - fold = " ", - foldsep = " ", - diff = "╱", - eob = " ", -} diff --git a/lua/plugins/aerial.lua b/lua/plugins/aerial.lua deleted file mode 100644 index e020877..0000000 --- a/lua/plugins/aerial.lua +++ /dev/null @@ -1,16 +0,0 @@ -return { - "stevearc/aerial.nvim", - opts = { - attach_mode = "global", - backends = { "lsp", "treesitter", "markdown", "man" }, - show_guides = false, - layout = { - resize_to_content = false, - win_opts = { - winhl = "Normal:NormalFloat,FloatBorder:NormalFloat,SignColumn:SignColumnSB", - signcolumn = "yes", - statuscolumn = " ", - }, - } - } -} diff --git a/lua/plugins/barbecue.lua b/lua/plugins/barbecue.lua deleted file mode 100644 index 4e1c8df..0000000 --- a/lua/plugins/barbecue.lua +++ /dev/null @@ -1,19 +0,0 @@ -return { - { - "utilyre/barbecue.nvim", - name = "barbecue", - version = "*", - dependencies = { - "SmiteshP/nvim-navic", - "nvim-tree/nvim-web-devicons", -- optional dependency - }, - opts = { - exclude_filetypes = { - "netrw", - "toggleterm", - "neo-tree", - "outline" - }, - }, - } -} diff --git a/lua/plugins/cmp.lua b/lua/plugins/cmp.lua deleted file mode 100644 index a25e311..0000000 --- a/lua/plugins/cmp.lua +++ /dev/null @@ -1,86 +0,0 @@ -return { - { - "hrsh7th/nvim-cmp", - opts = function() - vim.api.nvim_set_hl(0, "CmpGhostText", { link = "Comment", default = true }) - local cmp = require("cmp") - local defaults = require("cmp.config.default")() - return { - window = { - completion = { - border = "rounded", - scrollbar = false, - winhighlight = "Normal:CmpPmenu,FloatBorder:CmpPmenu,Search:None" - }, - documentation = { - border = "rounded", - scrollbar = false, - winhighlight = "Normal:CmpPmenu,FloatBorder:CmpPmenu,Search:None" - }, - }, - completion = { - completeopt = "menu,menuone,noinsert", - }, - snippet = { - expand = function(args) - require("luasnip").lsp_expand(args.body) - end, - }, - mapping = cmp.mapping.preset.insert({ - [""] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }), - [""] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }), - [""] = cmp.mapping.scroll_docs(-4), - [""] = cmp.mapping.scroll_docs(4), - [""] = cmp.mapping.complete(), - [""] = cmp.mapping.abort(), - [""] = cmp.mapping.confirm({ select = true }), - [""] = cmp.mapping.confirm({ - behavior = cmp.ConfirmBehavior.Replace, - select = true, - }), - [""] = function(fallback) - cmp.abort() - fallback() - end, - }), - sources = cmp.config.sources({ - { name = "nvim_lsp" }, - { name = 'nvim_lsp_signature_help' }, - { name = "luasnip" }, - { name = "path" }, - }, { - { name = "buffer" }, - }), - formatting = { - fields = { - "kind", - "abbr", - "menu" - }, - format = function(_, item) - item.menu = item.kind - local icons = require("lazyvim.config").icons.kinds - if icons[item.kind] then - item.kind = icons[item.kind] - end - return item - end, - }, - experimental = { - ghost_text = { - hl_group = "CmpGhostText", - } - }, - sorting = defaults.sorting, - } - end, - dependencies = { - "hrsh7th/cmp-nvim-lsp", - "hrsh7th/cmp-buffer", - "hrsh7th/cmp-path", - "hrsh7th/cmp-path", - "hrsh7th/cmp-nvim-lsp-signature-help", - "saadparwaiz1/cmp_luasnip", - } - } -} diff --git a/lua/plugins/cokeline.lua b/lua/plugins/cokeline.lua deleted file mode 100644 index 691ba3e..0000000 --- a/lua/plugins/cokeline.lua +++ /dev/null @@ -1,103 +0,0 @@ -return { - { - "willothy/nvim-cokeline", - config = true, - opts = { - show_if_buffers_are_at_least = 1, - buffers = { - focus_on_delete = "next", - new_buffers_position = 'last', - }, - mappings = { - disable_mouse = false, - }, - default_hl = { - bg = function(buffer) - if buffer.is_focused then - return "Normal" - end - return "TabLine" - end, - fg = function(buffer) - if buffer.is_focused then - return "Normal" - end - return "TabLine" - end, - bold = function(buffer) - return buffer.is_focused - end, - }, - components = { - { - text = function(buffer) - if buffer.is_focused then - return "" - end - return " " - end, - fg = "Normal" - }, - { - text = function(buffer) - if buffer.is_modified then - return ' ' - elseif buffer.is_readonly then - return ' ' - else - return ' ' - end - end - }, - { - text = function(buffer) return buffer.devicon.icon end, - fg = function(buffer) return buffer.devicon.color end, - }, - { - text = function(buffer) return ' ' .. buffer.filename .. ' ' end, - }, - { - text = '󰅖', - on_click = function(_, _, _, _, buffer) - buffer:delete() - end - }, - { - text = ' ', - } - }, - tabs = { - placement = "right", - components = { - { - text = function(tabpage) - return ' ' .. tabpage.number .. ' ' - end, - bg = function(tabpage) - if tabpage.is_active then - return "NormalNC" - end - return "TabLine" - end, - fg = function(tabpage) - if tabpage.is_active then - return "NormalNC" - end - return "TabLine" - end, - bold = true - }, - }, - }, - sidebar = { - filetype = { "NvimTree", "neo-tree", "SidebarNvim" }, - components = { - { - text = "", - bg = "ColorColumn" - } - }, - }, - } - } -} diff --git a/lua/plugins/dashboard.lua b/lua/plugins/dashboard.lua deleted file mode 100644 index bc3dc68..0000000 --- a/lua/plugins/dashboard.lua +++ /dev/null @@ -1,119 +0,0 @@ -return { - { - "nvimdev/dashboard-nvim", - event = "VimEnter", - opts = function() - local logo = [[ - ⠀⠀⠀⢠⣤⣤⣤⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⣤⣤⣤⠀⣤⣤⡤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠ - ⠀⠀⠀⣾⣿⡿⠿⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⡇⢸⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⡟ - ⠀⠀⢰⣿⣿⠃⠀⠀⠀⠀⠀⣀⣀⣀⣀⡀⠀⠀⣼⣿⣿⠀⣿⣿⡿⠀⠀⣀⣀⡀⢠⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⠃ - ⠀⠀⣿⣿⡟⠀⠀⠀⠀⢰⣿⣿⡟⢻⣿⣿⡆⢀⣿⣿⡇⢸⣿⣿⠃⢰⣿⣿⠋⢀⣿⣿⡆⢸⣿⣿⠃⠀⣿⣿⡟⢰⣿⣿⣿⣿⣿ - ⠀⢠⣿⣿⣿⣶⣶⣶⠀⠿⠿⠿⠀⢸⣿⣿⠃⣼⣿⣿⠁⣾⣿⡿⠀⣿⡿⠃⢀⣾⣿⣿⠁⣾⣿⡿⠀⢰⣿⣿⠃⠀⣼⣿⣿⠃⠀ - ⠀⣾⣿⡿⠛⠛⠛⠃⠀⣠⣤⣴⣴⣿⣿⡟⢠⣿⣿⡏⢰⣿⣿⠃⡸⠋⠀⠀⠚⠛⠛⡋⢰⣿⣿⠃⠀⣿⣿⡟⠀⢠⣿⣿⡟⠀⠀ - ⢰⣿⣿⠇⠀⠀⠀⢀⣾⣿⡟⠉⣹⣿⣿⠁⣼⣿⣿⠁⣾⣿⡟⢠⣥⣤⣤⠄⠀⢀⣼⠁⣾⣿⡟⠀⣸⣿⣿⠃⠀⣼⣿⣿⠃⠀⠀ - ⣼⣿⣿⠀⠀⠀⠀⢸⣿⣿⠇⠀⣿⣿⡿⢠⣿⣿⡇⢸⣿⣿⠇⣸⣿⣿⡏⠀⢀⣿⡏⢸⣿⣿⡇⠀⣿⣿⡿⠀⢠⣿⣿⡏⠀⠀⠀ - ⣿⣿⡇⠀⠀⠀⠀⣿⣿⣿⣶⣾⣿⣿⠃⣼⣿⣿⠁⣾⣿⡿⠀⢿⣿⣿⠁⣰⣿⡿⠀⢸⣿⣿⣷⣾⣿⣿⠃⠀⢸⣿⣿⣷⡆⠀⠀ - ⠉⠀⠀⠀⠀⠀⠈⠙⠉⠀⠉⠉⠉⠀⠉⠉⠁⠀⠉⠉⠁⠀⠀⠉⢁⠞⠉⠁⠀⠀⠈⠉⠉⠀⠉⠉⠉⠀⠀⠀⠉⠉⠉⠁⠀⠀ - ]] - - logo = string.rep("\n", 8) .. logo .. "\n\n" - - local opts = { - theme = "doom", - hide = { - -- this is taken care of by lualine - -- enabling this messes up the actual laststatus setting after loading a file - statusline = false, - tabline = true, - winbar = true - }, - config = { - header = vim.split(logo, "\n"), - -- stylua: ignore - center = { - { - action = "Telescope find_files", - desc = " Find file", - icon = - " ", - key = - "f" - }, - { - action = "ene | startinsert", - desc = " New file", - icon = - " ", - key = - "n" - }, - { - action = "Telescope oldfiles", - desc = " Recent files", - icon = - " ", - key = - "r" - }, - { - action = [[lua require("lazyvim.util").telescope.config_files()()]], - desc = " Config", - icon = - " ", - key = - "c" - }, - { - action = 'lua require("persistence").load()', - desc = " Restore Session", - icon = - " ", - key = - "s" - }, - { - action = "Lazy", - desc = " Lazy", - icon = - "󰒲 ", - key = - "l" - }, - { - action = "qa", - desc = " Quit", - icon = - " ", - key = - "q" - }, - }, - footer = function() - local stats = require("lazy").stats() - local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100) - return { "⚡ Neovim loaded " .. - stats.loaded .. "/" .. stats.count .. " plugins in " .. ms .. "ms" } - end, - }, - } - - for _, button in ipairs(opts.config.center) do - button.desc = button.desc .. string.rep(" ", 43 - #button.desc) - button.key_format = " %s" - end - - -- close Lazy and re-open when the dashboard is ready - if vim.o.filetype == "lazy" then - vim.cmd.close() - vim.api.nvim_create_autocmd("User", { - pattern = "DashboardLoaded", - callback = function() - require("lazy").show() - end, - }) - end - - return opts - end, - } -} diff --git a/lua/plugins/dressing.lua b/lua/plugins/dressing.lua deleted file mode 100644 index 39dff23..0000000 --- a/lua/plugins/dressing.lua +++ /dev/null @@ -1,42 +0,0 @@ -return { - { - "stevearc/dressing.nvim", - opts = { - input = { - enabled = true, - -- When true, will close the modal - insert_only = true, - -- These are passed to nvim_open_win - border = "rounded", - -- 'editor' and 'win' will default to being centered - relative = "cursor", - mappings = { - n = { - [""] = "Close", - [""] = "Confirm", - }, - i = { - [""] = "Close", - [""] = "Confirm", - [""] = "HistoryPrev", - [""] = "HistoryNext", - }, - }, - }, - select = { - -- Set to false to disable the vim.ui.select implementation - enabled = true, - nui = { - border = { - style = "rounded", - }, - } - }, - builtin = { - border = "rounded", - -- 'editor' and 'win' will default to being centered - relative = "editor", - } - } - } -} diff --git a/lua/plugins/gitsigns.lua b/lua/plugins/gitsigns.lua deleted file mode 100644 index 298cb55..0000000 --- a/lua/plugins/gitsigns.lua +++ /dev/null @@ -1,19 +0,0 @@ -return { - { - "lewis6991/gitsigns.nvim", - opts = { - signs = { - add = { text = "│" }, - change = { text = "┆" }, - delete = { text = "" }, - topdelete = { text = "" }, - changedelete = { text = "│" }, - untracked = { text = "│" }, - }, - signcolumn = true, - preview_config = { - border = 'single' - } - } - } -} diff --git a/lua/plugins/indent-blankline.lua b/lua/plugins/indent-blankline.lua deleted file mode 100644 index a02443f..0000000 --- a/lua/plugins/indent-blankline.lua +++ /dev/null @@ -1,28 +0,0 @@ -return { - { - "lukas-reineke/indent-blankline.nvim", - main = "ibl", - opts = { - indent = { - char = "▏", - tab_char = "▏", - }, - scope = { enabled = false }, - exclude = { - filetypes = { - "help", - "alpha", - "dashboard", - "neo-tree", - "Trouble", - "trouble", - "lazy", - "mason", - "notify", - "toggleterm", - "lazyterm", - }, - }, - } - }, -} diff --git a/lua/plugins/lspconfig.lua b/lua/plugins/lspconfig.lua deleted file mode 100644 index 4bf2a34..0000000 --- a/lua/plugins/lspconfig.lua +++ /dev/null @@ -1,173 +0,0 @@ -return { - { - "neovim/nvim-lspconfig", - dependencies = { - "williamboman/mason.nvim", - "williamboman/mason-lspconfig.nvim" - }, - ---@class PluginLspOpts - opts = { - -- options for vim.diagnostic.config() - diagnostics = { - underline = true, - update_in_insert = true, - virtual_text = { - spacing = 4, - source = "if_many", - prefix = "●", - }, - severity_sort = true, - float = { - border = "rounded" - } - }, - -- Enable this to enable the builtin LSP inlay hints on Neovim >= 0.10.0 - -- Be aware that you also will need to properly configure your LSP server to - -- provide the inlay hints. - inlay_hints = { - enabled = false, - }, - -- add any global capabilities here - capabilities = {}, - -- options for vim.lsp.buf.format - -- `bufnr` and `filter` is handled by the LazyVim formatter, - -- but can be also overridden when specified - format = { - formatting_options = nil, - timeout_ms = nil, - }, - servers = { - lua_ls = { - mason = false - }, - rust_analyzer = { - mason = false - }, - }, - setup = { - } - }, - ---@param opts PluginLspOpts - config = function(_, opts) - local Util = require("lazyvim.util") - if Util.has("neoconf.nvim") then - local plugin = require("lazy.core.config").spec.plugins["neoconf.nvim"] - require("neoconf").setup(require("lazy.core.plugin").values(plugin, "opts", false)) - end - - -- setup autoformat - Util.format.register(Util.lsp.formatter()) - - -- deprectaed options - if opts.autoformat ~= nil then - vim.g.autoformat = opts.autoformat - Util.deprecate("nvim-lspconfig.opts.autoformat", "vim.g.autoformat") - end - - -- setup keymaps - Util.lsp.on_attach(function(client, buffer) - require("lazyvim.plugins.lsp.keymaps").on_attach(client, buffer) - end) - - local register_capability = vim.lsp.handlers["client/registerCapability"] - - vim.lsp.handlers["client/registerCapability"] = function(err, res, ctx) - local ret = register_capability(err, res, ctx) - local client_id = ctx.client_id - ---@type lsp.Client - local client = vim.lsp.get_client_by_id(client_id) - local buffer = vim.api.nvim_get_current_buf() - require("lazyvim.plugins.lsp.keymaps").on_attach(client, buffer) - return ret - end - - -- diagnostics - for name, icon in pairs(require("lazyvim.config").icons.diagnostics) do - name = "DiagnosticSign" .. name - vim.fn.sign_define(name, { text = icon, texthl = name, numhl = "" }) - end - - local inlay_hint = vim.lsp.buf.inlay_hint or vim.lsp.inlay_hint - - if opts.inlay_hints.enabled and inlay_hint then - Util.lsp.on_attach(function(client, buffer) - if client.supports_method("textDocument/inlayHint") then - inlay_hint(buffer, true) - end - end) - end - - if type(opts.diagnostics.virtual_text) == "table" and opts.diagnostics.virtual_text.prefix == "icons" then - opts.diagnostics.virtual_text.prefix = vim.fn.has("nvim-0.10.0") == 0 and "●" - or function(diagnostic) - local icons = require("lazyvim.config").icons.diagnostics - for d, icon in pairs(icons) do - if diagnostic.severity == vim.diagnostic.severity[d:upper()] then - return icon - end - end - end - end - - vim.diagnostic.config(vim.deepcopy(opts.diagnostics)) - - local servers = opts.servers - local has_cmp, cmp_nvim_lsp = pcall(require, "cmp_nvim_lsp") - local capabilities = vim.tbl_deep_extend( - "force", - {}, - vim.lsp.protocol.make_client_capabilities(), - has_cmp and cmp_nvim_lsp.default_capabilities() or {}, - opts.capabilities or {} - ) - - local function setup(server) - local server_opts = vim.tbl_deep_extend("force", { - capabilities = vim.deepcopy(capabilities), - }, servers[server] or {}) - - if opts.setup[server] then - if opts.setup[server](server, server_opts) then - return - end - elseif opts.setup["*"] then - if opts.setup["*"](server, server_opts) then - return - end - end - require("lspconfig")[server].setup(server_opts) - end - - -- get all the servers that are available through mason-lspconfig - local have_mason, mlsp = pcall(require, "mason-lspconfig") - local all_mslp_servers = {} - if have_mason then - all_mslp_servers = vim.tbl_keys(require("mason-lspconfig.mappings.server").lspconfig_to_package) - end - - local ensure_installed = {} ---@type string[] - for server, server_opts in pairs(servers) do - if server_opts then - server_opts = server_opts == true and {} or server_opts - if server_opts.mason == false or not vim.tbl_contains(all_mslp_servers, server) then - setup(server) - else - ensure_installed[#ensure_installed + 1] = server - end - end - end - - if have_mason then - mlsp.setup({ ensure_installed = ensure_installed, handlers = { setup } }) - end - - if Util.lsp.get_config("denols") and Util.lsp.get_config("tsserver") then - local is_deno = require("lspconfig.util").root_pattern("deno.json", "deno.jsonc") - Util.lsp.disable("tsserver", is_deno) - Util.lsp.disable("denols", function(root_dir) - return not is_deno(root_dir) - end) - end - end, - } -} diff --git a/lua/plugins/lualine.lua b/lua/plugins/lualine.lua deleted file mode 100644 index b503a67..0000000 --- a/lua/plugins/lualine.lua +++ /dev/null @@ -1,114 +0,0 @@ -local icons = require("lazyvim.config").icons - -return { - { - "nvim-lualine/lualine.nvim", - opts = { - options = { - theme = 'auto', - icons_enabled = true, - globalstatus = true, - section_separators = { left = '', right = '' }, - component_separators = { left = ' ', right = ' ' }, - disabled_filetypes = { - statusline = { - 'help', - 'startify', - 'dashboard', - 'qf', - }, - winbar = { - 'help', - 'startify', - 'dashboard', - 'packer', - 'neogitstatus', - 'NvimTree', - 'neo-tree', - 'Trouble', - 'alpha', - 'lir', - 'Outline', - 'spectre_panel', - 'toggleterm', - 'qf', - } - }, - }, - sections = { - lualine_a = { 'mode' }, - lualine_b = { - { - 'branch', - on_click = function(_, _) - vim.defer_fn(function() - vim.cmd("LazyGit") - end, 100) - end - } - }, - lualine_c = { - { - 'diff', - symbols = { - added = '+', - modified = '~', - removed = '-', - }, - colored = true, - on_click = function(_, _) - vim.defer_fn(function() - vim.cmd("Gitsigns diffthis") - end, 100) - end - }, - { - "diagnostics", - sources = { 'nvim_diagnostic' }, - symbols = { - error = icons.diagnostics.Error, - warn = icons.diagnostics.Warn, - info = icons.diagnostics.Info, - hint = icons.diagnostics.Hint, - }, - colored = true, - on_click = function(_, _) - require("trouble").toggle({ mode = "document_diagnostics" }) - end - }, - { - 'filename', - file_status = true, - path = 0, - symbols = { - modified = '[+]', -- Text to show when the file is modified. - readonly = '[-]', -- Text to show when the file is non-modifiable or readonly. - unnamed = '[No Name]', -- Text to show for unnamed buffers. - newfile = '[New]', -- Text to show for newly created file before first write - } - }, - }, - lualine_x = { - 'encoding', - 'fileformat', - { - 'filetype', - colored = true, - on_click = function(_, _) - vim.defer_fn(function() - vim.cmd("Telescope filetypes") - end, 100) - end - } - }, - lualine_y = { 'progress' }, - lualine_z = { 'location' }, - }, - }, - dependencies = { - 'nvim-tree/nvim-web-devicons', - "SmiteshP/nvim-navic", - 'kdheepak/lazygit.nvim' - } - }, -} diff --git a/lua/plugins/luasnip.lua b/lua/plugins/luasnip.lua deleted file mode 100644 index edbee50..0000000 --- a/lua/plugins/luasnip.lua +++ /dev/null @@ -1,10 +0,0 @@ -return { - { - "L3MON4D3/LuaSnip", - opts = { - history = true, - delete_check_events = "TextChanged", - } - } -} - diff --git a/lua/plugins/mini.lua b/lua/plugins/mini.lua deleted file mode 100644 index 7b11147..0000000 --- a/lua/plugins/mini.lua +++ /dev/null @@ -1,10 +0,0 @@ -return { - { - 'echasnovski/mini.nvim', - version = '*', - config = function() - require("mini.pairs").setup() - require("mini.clue").setup() - end - }, -} diff --git a/lua/plugins/navic.lua b/lua/plugins/navic.lua deleted file mode 100644 index 28259aa..0000000 --- a/lua/plugins/navic.lua +++ /dev/null @@ -1,23 +0,0 @@ -return { - { - "SmiteshP/nvim-navic", - lazy = true, - init = function() - vim.g.navic_silence = true - require("lazyvim.util").lsp.on_attach(function(client, buffer) - if client.supports_method("textDocument/documentSymbol") then - require("nvim-navic").attach(client, buffer) - end - end) - end, - opts = function() - return { - separator = " ", - highlight = true, - depth_limit = 5, - icons = require("lazyvim.config").icons.kinds, - lazy_update_context = true, - } - end, - } -} diff --git a/lua/plugins/noice.lua b/lua/plugins/noice.lua deleted file mode 100644 index 4690885..0000000 --- a/lua/plugins/noice.lua +++ /dev/null @@ -1,35 +0,0 @@ -return { - { - "folke/noice.nvim", - event = "VeryLazy", - opts = { - lsp = { - override = { - ["vim.lsp.util.convert_input_to_markdown_lines"] = true, - ["vim.lsp.util.stylize_markdown"] = true, - ["cmp.entry.get_documentation"] = true, - }, - }, - routes = { - { - filter = { - event = "msg_show", - any = { - { find = "%d+L, %d+B" }, - { find = "; after #%d+" }, - { find = "; before #%d+" }, - }, - }, - view = "mini", - }, - }, - presets = { - bottom_search = true, - command_palette = true, - long_message_to_split = true, - inc_rename = true, - lsp_doc_border = true, - }, - }, - } -} diff --git a/lua/plugins/nui.lua b/lua/plugins/nui.lua deleted file mode 100644 index 603b907..0000000 --- a/lua/plugins/nui.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - { - "MunifTanjim/nui.nvim", - lazy = true, - } -} diff --git a/lua/plugins/nvim-notify.lua b/lua/plugins/nvim-notify.lua deleted file mode 100644 index eadc7aa..0000000 --- a/lua/plugins/nvim-notify.lua +++ /dev/null @@ -1,35 +0,0 @@ -return { - { - "rcarriga/nvim-notify", - keys = { - { - "un", - function() - require("notify").dismiss({ silent = true, pending = true }) - end, - desc = "Dismiss all Notifications", - }, - }, - opts = { - timeout = 3000, - max_height = function() - return math.floor(vim.o.lines * 0.75) - end, - max_width = function() - return math.floor(vim.o.columns * 0.75) - end, - on_open = function(win) - vim.api.nvim_win_set_config(win, { zindex = 100 }) - end, - }, - init = function() - local Util = require("lazyvim.util") - -- when noice is not enabled, install notify on VeryLazy - if not Util.has("noice.nvim") then - Util.on_very_lazy(function() - vim.notify = require("notify") - end) - end - end, - } -} diff --git a/lua/plugins/nvim-scrollview.lua b/lua/plugins/nvim-scrollview.lua deleted file mode 100644 index a13cd36..0000000 --- a/lua/plugins/nvim-scrollview.lua +++ /dev/null @@ -1,17 +0,0 @@ -return { - { - "dstein64/nvim-scrollview", - opts = { - excluded_filetypes = { - 'dashboard', - 'neo-tree', - 'aerial' - }, - signs_on_startup = { - 'conflicts', - 'search', - 'cursor' - }, - } - } -} diff --git a/lua/plugins/nvim-tree.lua b/lua/plugins/nvim-tree.lua deleted file mode 100644 index 9cad46d..0000000 --- a/lua/plugins/nvim-tree.lua +++ /dev/null @@ -1,41 +0,0 @@ -return { - { - "nvim-tree/nvim-tree.lua", - opts = { - hijack_cursor = true, - sync_root_with_cwd = true, - renderer = { - indent_markers = { - enable = false - }, - icons = { - show = { - file = true, - folder = true, - folder_arrow = true, - git = true, - }, - } - }, - diagnostics = { - enable = true, - show_on_dirs = false, - }, - actions = { - change_dir = { - enable = false, - restrict_above_cwd = true, - }, - open_file = { - resize_window = false, - window_picker = { - chars = "aoeui", - }, - }, - remove_file = { - close_window = false, - }, - }, - } - } -} diff --git a/lua/plugins/nvim-ufo.lua b/lua/plugins/nvim-ufo.lua deleted file mode 100644 index 469c7ce..0000000 --- a/lua/plugins/nvim-ufo.lua +++ /dev/null @@ -1,25 +0,0 @@ -return { - { - "kevinhwang91/nvim-ufo", - event = { - "InsertEnter" - }, - dependencies = { - "kevinhwang91/promise-async" - }, - opts = { - preview = { - mappings = { - scrollB = "", - scrollF = "", - scrollU = "", - scrollD = "", - }, - }, - -- register treesitter as source for scopes - provider_selector = function(_, _, _) - return { 'treesitter', 'indent' } - end - } - } -} diff --git a/lua/plugins/plenary.lua b/lua/plugins/plenary.lua deleted file mode 100644 index 894ed2a..0000000 --- a/lua/plugins/plenary.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - { - 'nvim-lua/plenary.nvim' - } -} - diff --git a/lua/plugins/smart-splits.lua b/lua/plugins/smart-splits.lua deleted file mode 100644 index ad5d5f9..0000000 --- a/lua/plugins/smart-splits.lua +++ /dev/null @@ -1,16 +0,0 @@ -return { - { - "mrjones2014/smart-splits.nvim", - opts = { - ignored_filetypes = { - "nofile", - "quickfix", - "qf", - "prompt" - }, - ignored_buftypes = { - "nofile" - } - }, - } -} diff --git a/lua/plugins/statuscol.lua b/lua/plugins/statuscol.lua deleted file mode 100644 index 344874b..0000000 --- a/lua/plugins/statuscol.lua +++ /dev/null @@ -1,43 +0,0 @@ -return { - { - "luukvbaal/statuscol.nvim", - config = function() - local builtin = require("statuscol.builtin") - require("statuscol").setup({ - ft_ignore = { - "neo-tree", - "toggleterm", - "dashboard", - "aerial", - }, - segments = { - -- diagnostic signs - { - sign = { - name = { "Diagnostic" }, - colwidth = 2, - maxwidth = 1, - condition = { true } - }, - click = "v:lua.ScSa" - }, - -- line numbers - { - text = { builtin.lnumfunc, " " }, - click = "v:lua.ScLa", - }, - -- folds - { - text = { builtin.foldfunc }, - click = "v:lua.ScFa" - }, - -- git signs - { - sign = { namespace = { "gitsigns" } }, - click = "v:lua.ScSa" - } - } - }) - end, - } -} diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua deleted file mode 100644 index 4958c8b..0000000 --- a/lua/plugins/telescope.lua +++ /dev/null @@ -1,28 +0,0 @@ -return { - { - "nvim-telescope/telescope.nvim", - opts = { - defaults = { - layout_strategy = "horizontal", - layout_config = { prompt_position = "top" }, - sorting_strategy = "ascending", - winblend = 0, - }, - extensions = { - aerial = { - -- Display symbols as .. - show_nesting = { - ["_"] = false, -- This key will be the default - json = true, -- You can set the option for specific filetypes - yaml = true, - }, - }, - }, - }, - dependencies = { - "sharkdp/fd", - "nvim-lua/plenary.nvim", - 'nvim-tree/nvim-web-devicons' - }, - }, -} diff --git a/lua/plugins/todo-comments.lua b/lua/plugins/todo-comments.lua deleted file mode 100644 index b184eef..0000000 --- a/lua/plugins/todo-comments.lua +++ /dev/null @@ -1,20 +0,0 @@ -return { - { - "folke/todo-comments.nvim", - dependencies = { "nvim-lua/plenary.nvim" }, - cmd = { "TodoTrouble", "TodoTelescope" }, - config = true, - keys = { - { "]t", function() require("todo-comments").jump_next() end, desc = "Next todo comment" }, - { "[t", function() require("todo-comments").jump_prev() end, desc = "Previous todo comment" }, - { "xt", "TodoTrouble", desc = "Todo (Trouble)" }, - { "xT", "TodoTrouble keywords=TODO,FIX,FIXME", desc = "Todo/Fix/Fixme (Trouble)" }, - { "st", "TodoTelescope", desc = "Todo" }, - { "sT", "TodoTelescope keywords=TODO,FIX,FIXME", desc = "Todo/Fix/Fixme" }, - }, - ops = { - signs = true, - sign_priority = 8, -- sign priority - } - } -} diff --git a/lua/plugins/toggleterm.lua b/lua/plugins/toggleterm.lua deleted file mode 100644 index 1ce0418..0000000 --- a/lua/plugins/toggleterm.lua +++ /dev/null @@ -1,15 +0,0 @@ -return { - { - "akinsho/toggleterm.nvim", - opts = { - open_mapping = '', - start_in_insert = true, - direction = 'float', - shade_terminals = true, - shading_factor = -30, - float_opts = { - border = 'curved', - }, - }, - }, -} diff --git a/lua/plugins/tokyonight.lua b/lua/plugins/tokyonight.lua deleted file mode 100644 index d88fced..0000000 --- a/lua/plugins/tokyonight.lua +++ /dev/null @@ -1,23 +0,0 @@ -return { - { - "folke/tokyonight.nvim", - lazy = true, - priority = 1000, - opts = { - style = "night", - transparent = false, - styles = { - sidebars = "dark", - floats = "normal", - }, - sidebars = { "qf", "trouble", "neo-tree", "aerial", "help" }, - }, - }, - -- Configure LazyVim to load tokyonight - { - "LazyVim/LazyVim", - opts = { - colorscheme = "tokyonight", - }, - } -} diff --git a/lua/plugins/treesitter.lua b/lua/plugins/treesitter.lua deleted file mode 100644 index 2bdba20..0000000 --- a/lua/plugins/treesitter.lua +++ /dev/null @@ -1,83 +0,0 @@ -return { - { - "nvim-treesitter/nvim-treesitter", - version = false, -- last release is way too old and doesn't work on Windows - build = ":TSUpdate", - dependencies = { - "nvim-treesitter/nvim-treesitter-textobjects", - }, - cmd = { - "TSUpdateSync", - "TSUpdate", - "TSInstall" - }, - opts = { - autotag = { - enable = true - }, - highlight = { - enable = true - }, - indent = { - enable = true - }, - ensure_installed = { - "bash", - "c", - "diff", - "html", - "javascript", - "jsdoc", - "json", - "jsonc", - "lua", - "luadoc", - "luap", - "markdown", - "markdown_inline", - "python", - "query", - "regex", - "toml", - "tsx", - "typescript", - "vim", - "vimdoc", - "xml", - "yaml", - }, - incremental_selection = { - enable = true, - keymaps = { - init_selection = "", - node_incremental = "", - scope_incremental = false, - node_decremental = "", - }, - }, - textobjects = { - move = { - enable = true, - goto_next_start = { ["]f"] = "@function.outer", ["]c"] = "@class.outer" }, - goto_next_end = { ["]F"] = "@function.outer", ["]C"] = "@class.outer" }, - goto_previous_start = { ["[f"] = "@function.outer", ["[c"] = "@class.outer" }, - goto_previous_end = { ["[F"] = "@function.outer", ["[C"] = "@class.outer" }, - }, - }, - }, - config = function(_, opts) - if type(opts.ensure_installed) == "table" then - ---@type table - local added = {} - opts.ensure_installed = vim.tbl_filter(function(lang) - if added[lang] then - return false - end - added[lang] = true - return true - end, opts.ensure_installed) - end - require("nvim-treesitter.configs").setup(opts) - end, - } -} diff --git a/lua/plugins/trouble.lua b/lua/plugins/trouble.lua deleted file mode 100644 index 1a0ebad..0000000 --- a/lua/plugins/trouble.lua +++ /dev/null @@ -1,9 +0,0 @@ -return { - { - "folke/trouble.nvim", - opts = { - use_diagnostic_signs = true, - indent_lines = false, - }, - } -} diff --git a/lua/plugins/ufo.lua b/lua/plugins/ufo.lua deleted file mode 100644 index 469c7ce..0000000 --- a/lua/plugins/ufo.lua +++ /dev/null @@ -1,25 +0,0 @@ -return { - { - "kevinhwang91/nvim-ufo", - event = { - "InsertEnter" - }, - dependencies = { - "kevinhwang91/promise-async" - }, - opts = { - preview = { - mappings = { - scrollB = "", - scrollF = "", - scrollU = "", - scrollD = "", - }, - }, - -- register treesitter as source for scopes - provider_selector = function(_, _, _) - return { 'treesitter', 'indent' } - end - } - } -} diff --git a/lua/plugins/vim-fugitive.lua b/lua/plugins/vim-fugitive.lua deleted file mode 100644 index c17bbba..0000000 --- a/lua/plugins/vim-fugitive.lua +++ /dev/null @@ -1,5 +0,0 @@ -return { - { - "tpope/vim-fugitive", - } -} diff --git a/lua/plugins/vim-illuminate.lua b/lua/plugins/vim-illuminate.lua deleted file mode 100644 index 04169c8..0000000 --- a/lua/plugins/vim-illuminate.lua +++ /dev/null @@ -1,33 +0,0 @@ -return { - { - "RRethy/vim-illuminate", - opts = { - delay = 200, - large_file_cutoff = 2000, - large_file_overrides = { - providers = { "lsp" }, - }, - }, - config = function(_, opts) - require("illuminate").configure(opts) - - local function map(key, dir, buffer) - vim.keymap.set("n", key, function() - require("illuminate")["goto_" .. dir .. "_reference"](false) - end, { desc = dir:sub(1, 1):upper() .. dir:sub(2) .. " Reference", buffer = buffer }) - end - - map("]]", "next") - map("[[", "prev") - - -- also set it after loading ftplugins, since a lot overwrite [[ and ]] - vim.api.nvim_create_autocmd("FileType", { - callback = function() - local buffer = vim.api.nvim_get_current_buf() - map("]]", "next", buffer) - map("[[", "prev", buffer) - end, - }) - end, - } -} diff --git a/lua/plugins/which-key.lua b/lua/plugins/which-key.lua deleted file mode 100644 index fef4d12..0000000 --- a/lua/plugins/which-key.lua +++ /dev/null @@ -1,32 +0,0 @@ -return { - { - "folke/which-key.nvim", - event = "VeryLazy", - opts = { - plugins = { spelling = true }, - defaults = { - mode = { "n", "v" }, - ["g"] = { name = "+goto" }, - ["gs"] = { name = "+surround" }, - ["]"] = { name = "+next" }, - ["["] = { name = "+prev" }, - [""] = { name = "+tabs" }, - ["b"] = { name = "+buffer" }, - ["c"] = { name = "+code" }, - ["f"] = { name = "+file/find" }, - ["g"] = { name = "+git" }, - ["gh"] = { name = "+hunks" }, - ["q"] = { name = "+quit/session" }, - ["s"] = { name = "+search" }, - ["u"] = { name = "+ui" }, - ["w"] = { name = "+windows" }, - ["x"] = { name = "+diagnostics/quickfix" }, - }, - }, - config = function(_, opts) - local wk = require("which-key") - wk.setup(opts) - wk.register(opts.defaults) - end, - } -} \ No newline at end of file