diff --git a/README.md b/README.md index 093e42a6..5c888412 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,8 @@ A starting point for Neovim that is: * Small -* Single-file -* Completely Documented +* Documented +* Modular **NOT** a Neovim distribution, but instead a starting point for your configuration. diff --git a/init.lua b/init.lua index 7e68ce2f..8e8d87cc 100644 --- a/init.lua +++ b/init.lua @@ -168,8 +168,6 @@ vim.o.scrolloff = 10 -- instead raise a dialog asking if you wish to save the current file(s) -- See `:help 'confirm'` vim.o.confirm = true --- Set options -require('options') -- [[ Basic Keymaps ]] -- See `:help vim.keymap.set()` @@ -244,58 +242,6 @@ 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 error('Error cloning lazy.nvim:\n' .. out) end --- Configure keymaps -require('keymaps') - --- Configure Telescope (fuzzy finder) -require('telescope-setup') - --- Configure Treesitter (syntax parser for highlighting) -require('treesitter-setup') - --- [[ Configure LSP ]] --- This function gets run when an LSP connects to a particular buffer. -local on_attach = function(_, bufnr) - -- NOTE: Remember that lua is a real programming language, and as such it is possible - -- to define small helper and utility functions so you don't have to repeat yourself - -- many times. - -- - -- In this case, we create a function that lets us more easily define mappings specific - -- for LSP related items. It sets the mode, buffer and description for us each time. - local nmap = function(keys, func, desc) - if desc then - desc = 'LSP: ' .. desc - end - - vim.keymap.set('n', keys, func, { buffer = bufnr, desc = desc }) - end - - nmap('rn', vim.lsp.buf.rename, '[R]e[n]ame') - nmap('ca', vim.lsp.buf.code_action, '[C]ode [A]ction') - - nmap('gd', require('telescope.builtin').lsp_definitions, '[G]oto [D]efinition') - nmap('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences') - nmap('gI', require('telescope.builtin').lsp_implementations, '[G]oto [I]mplementation') - nmap('D', require('telescope.builtin').lsp_type_definitions, 'Type [D]efinition') - nmap('ds', require('telescope.builtin').lsp_document_symbols, '[D]ocument [S]ymbols') - nmap('ws', require('telescope.builtin').lsp_dynamic_workspace_symbols, '[W]orkspace [S]ymbols') - - -- See `:help K` for why this keymap - nmap('K', vim.lsp.buf.hover, 'Hover Documentation') - nmap('', vim.lsp.buf.signature_help, 'Signature Documentation') - - -- Lesser used LSP functionality - nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration') - nmap('wa', vim.lsp.buf.add_workspace_folder, '[W]orkspace [A]dd Folder') - nmap('wr', vim.lsp.buf.remove_workspace_folder, '[W]orkspace [R]emove Folder') - nmap('wl', function() - print(vim.inspect(vim.lsp.buf.list_workspace_folders())) - end, '[W]orkspace [L]ist Folders') - - -- Create a command `:Format` local to the LSP buffer - vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_) - vim.lsp.buf.format() - end, { desc = 'Format current buffer with LSP' }) end ---@type vim.Option @@ -394,7 +340,6 @@ require('lazy').setup({ 'nvim-telescope/telescope.nvim', -- By default, Telescope is included and acts as your picker for everything. -- Configure LSP (Language Server Protocol) -require('lsp-setup') -- If you would like to switch to a different picker (like snacks, or fzf-lua) -- you can disable the Telescope plugin by setting enabled to false and enable