re-enable cmp and tree-sitter

This commit is contained in:
Joshua Nussbaum 2025-01-21 18:56:10 -06:00
parent d4ce269b03
commit 8e2a82e61d
1 changed files with 155 additions and 155 deletions

310
init.lua
View File

@ -383,7 +383,7 @@ require('lazy').setup({
{ 'j-hui/fidget.nvim', opts = {} }, { 'j-hui/fidget.nvim', opts = {} },
-- Allows extra capabilities provided by nvim-cmp -- Allows extra capabilities provided by nvim-cmp
'hrsh7th/cmp-nvim-lsp', -- 'hrsh7th/cmp-nvim-lsp',
}, },
config = function() config = function()
-- Brief aside: **What is LSP?** -- Brief aside: **What is LSP?**
@ -642,123 +642,123 @@ require('lazy').setup({
}, },
}, },
-- { -- Autocompletion { -- Autocompletion
-- 'hrsh7th/nvim-cmp', 'hrsh7th/nvim-cmp',
-- event = 'InsertEnter', event = 'InsertEnter',
-- dependencies = { dependencies = {
-- -- Snippet Engine & its associated nvim-cmp source -- Snippet Engine & its associated nvim-cmp source
-- { {
-- 'L3MON4D3/LuaSnip', 'L3MON4D3/LuaSnip',
-- build = (function() build = (function()
-- -- Build Step is needed for regex support in snippets. -- Build Step is needed for regex support in snippets.
-- -- This step is not supported in many windows environments. -- This step is not supported in many windows environments.
-- -- Remove the below condition to re-enable on windows. -- Remove the below condition to re-enable on windows.
-- if vim.fn.has 'win32' == 1 or vim.fn.executable 'make' == 0 then if vim.fn.has 'win32' == 1 or vim.fn.executable 'make' == 0 then
-- return return
-- end end
-- return 'make install_jsregexp' return 'make install_jsregexp'
-- end)(), end)(),
-- dependencies = { dependencies = {
-- -- `friendly-snippets` contains a variety of premade snippets. -- `friendly-snippets` contains a variety of premade snippets.
-- -- See the README about individual language/framework/plugin snippets: -- See the README about individual language/framework/plugin snippets:
-- -- https://github.com/rafamadriz/friendly-snippets -- https://github.com/rafamadriz/friendly-snippets
-- { {
-- 'rafamadriz/friendly-snippets', 'rafamadriz/friendly-snippets',
-- config = function() config = function()
-- require('luasnip.loaders.from_vscode').lazy_load() require('luasnip.loaders.from_vscode').lazy_load()
-- end, end,
-- }, },
-- }, },
-- }, },
-- 'saadparwaiz1/cmp_luasnip', 'saadparwaiz1/cmp_luasnip',
--
-- -- Adds other completion capabilities. -- Adds other completion capabilities.
-- -- nvim-cmp does not ship with all sources by default. They are split -- nvim-cmp does not ship with all sources by default. They are split
-- -- into multiple repos for maintenance purposes. -- into multiple repos for maintenance purposes.
-- 'hrsh7th/cmp-nvim-lsp', 'hrsh7th/cmp-nvim-lsp',
-- 'hrsh7th/cmp-path', 'hrsh7th/cmp-path',
-- }, },
-- config = function() config = function()
-- -- See `:help cmp` -- See `:help cmp`
-- local cmp = require 'cmp' local cmp = require 'cmp'
-- local luasnip = require 'luasnip' local luasnip = require 'luasnip'
-- luasnip.config.setup {} luasnip.config.setup {}
--
-- cmp.setup { cmp.setup {
-- snippet = { snippet = {
-- expand = function(args) expand = function(args)
-- luasnip.lsp_expand(args.body) luasnip.lsp_expand(args.body)
-- end, end,
-- }, },
-- completion = { completeopt = 'menu,menuone,noinsert' }, completion = { completeopt = 'menu,menuone,noinsert' },
--
-- -- For an understanding of why these mappings were -- For an understanding of why these mappings were
-- -- chosen, you will need to read `:help ins-completion` -- chosen, you will need to read `:help ins-completion`
-- -- --
-- -- No, but seriously. Please read `:help ins-completion`, it is really good! -- No, but seriously. Please read `:help ins-completion`, it is really good!
-- mapping = cmp.mapping.preset.insert { mapping = cmp.mapping.preset.insert {
-- -- Select the [n]ext item -- Select the [n]ext item
-- ['<C-n>'] = cmp.mapping.select_next_item(), ['<C-n>'] = cmp.mapping.select_next_item(),
-- -- Select the [p]revious item -- Select the [p]revious item
-- ['<C-p>'] = cmp.mapping.select_prev_item(), ['<C-p>'] = cmp.mapping.select_prev_item(),
--
-- -- Scroll the documentation window [b]ack / [f]orward -- Scroll the documentation window [b]ack / [f]orward
-- ['<C-b>'] = cmp.mapping.scroll_docs(-4), ['<C-b>'] = cmp.mapping.scroll_docs(-4),
-- ['<C-f>'] = cmp.mapping.scroll_docs(4), ['<C-f>'] = cmp.mapping.scroll_docs(4),
--
-- -- Accept ([y]es) the completion. -- Accept ([y]es) the completion.
-- -- This will auto-import if your LSP supports it. -- This will auto-import if your LSP supports it.
-- -- This will expand snippets if the LSP sent a snippet. -- This will expand snippets if the LSP sent a snippet.
-- ['<C-y>'] = cmp.mapping.confirm { select = true }, ['<C-y>'] = cmp.mapping.confirm { select = true },
--
-- -- If you prefer more traditional completion keymaps, -- If you prefer more traditional completion keymaps,
-- -- you can uncomment the following lines -- you can uncomment the following lines
-- --['<CR>'] = cmp.mapping.confirm { select = true }, --['<CR>'] = cmp.mapping.confirm { select = true },
-- --['<Tab>'] = cmp.mapping.select_next_item(), --['<Tab>'] = cmp.mapping.select_next_item(),
-- --['<S-Tab>'] = cmp.mapping.select_prev_item(), --['<S-Tab>'] = cmp.mapping.select_prev_item(),
--
-- -- Manually trigger a completion from nvim-cmp. -- Manually trigger a completion from nvim-cmp.
-- -- Generally you don't need this, because nvim-cmp will display -- Generally you don't need this, because nvim-cmp will display
-- -- completions whenever it has completion options available. -- completions whenever it has completion options available.
-- ['<C-Space>'] = cmp.mapping.complete {}, ['<C-Space>'] = cmp.mapping.complete {},
--
-- -- Think of <c-l> as moving to the right of your snippet expansion. -- Think of <c-l> as moving to the right of your snippet expansion.
-- -- So if you have a snippet that's like: -- So if you have a snippet that's like:
-- -- function $name($args) -- function $name($args)
-- -- $body -- $body
-- -- end -- end
-- -- --
-- -- <c-l> will move you to the right of each of the expansion locations. -- <c-l> will move you to the right of each of the expansion locations.
-- -- <c-h> is similar, except moving you backwards. -- <c-h> is similar, except moving you backwards.
-- ['<C-l>'] = cmp.mapping(function() ['<C-l>'] = cmp.mapping(function()
-- if luasnip.expand_or_locally_jumpable() then if luasnip.expand_or_locally_jumpable() then
-- luasnip.expand_or_jump() luasnip.expand_or_jump()
-- end end
-- end, { 'i', 's' }), end, { 'i', 's' }),
-- ['<C-h>'] = cmp.mapping(function() ['<C-h>'] = cmp.mapping(function()
-- if luasnip.locally_jumpable(-1) then if luasnip.locally_jumpable(-1) then
-- luasnip.jump(-1) luasnip.jump(-1)
-- end end
-- end, { 'i', 's' }), end, { 'i', 's' }),
--
-- -- For more advanced Luasnip keymaps (e.g. selecting choice nodes, expansion) see: -- For more advanced Luasnip keymaps (e.g. selecting choice nodes, expansion) see:
-- -- https://github.com/L3MON4D3/LuaSnip?tab=readme-ov-file#keymaps -- https://github.com/L3MON4D3/LuaSnip?tab=readme-ov-file#keymaps
-- }, },
-- sources = { sources = {
-- { {
-- name = 'lazydev', name = 'lazydev',
-- -- set group index to 0 to skip loading LuaLS completions as lazydev recommends it -- set group index to 0 to skip loading LuaLS completions as lazydev recommends it
-- group_index = 0, group_index = 0,
-- }, },
-- { name = 'nvim_lsp' }, { name = 'nvim_lsp' },
-- { name = 'luasnip' }, { name = 'luasnip' },
-- { name = 'path' }, { name = 'path' },
-- { name = 'copilot' }, { name = 'copilot' },
-- { name = 'buffer' }, { name = 'buffer' },
-- }, },
-- } }
-- end, end,
-- }, },
{ -- You can easily change to a different colorscheme. { -- You can easily change to a different colorscheme.
-- Change the name of the colorscheme plugin below, and then -- Change the name of the colorscheme plugin below, and then
@ -783,43 +783,43 @@ require('lazy').setup({
-- Highlight todo, notes, etc in comments -- Highlight todo, notes, etc in comments
{ 'folke/todo-comments.nvim', event = 'VimEnter', dependencies = { 'nvim-lua/plenary.nvim' }, opts = { signs = false } }, { 'folke/todo-comments.nvim', event = 'VimEnter', dependencies = { 'nvim-lua/plenary.nvim' }, opts = { signs = false } },
{ -- Collection of various small independent plugins/modules -- { -- Collection of various small independent plugins/modules
'echasnovski/mini.nvim', -- 'echasnovski/mini.nvim',
config = function() -- config = function()
-- Better Around/Inside textobjects -- -- Better Around/Inside textobjects
-- -- --
-- Examples: -- -- Examples:
-- - va) - [V]isually select [A]round [)]paren -- -- - va) - [V]isually select [A]round [)]paren
-- - yinq - [Y]ank [I]nside [N]ext [Q]uote -- -- - yinq - [Y]ank [I]nside [N]ext [Q]uote
-- - ci' - [C]hange [I]nside [']quote -- -- - ci' - [C]hange [I]nside [']quote
require('mini.ai').setup { n_lines = 500 } -- require('mini.ai').setup { n_lines = 500 }
--
-- Add/delete/replace surroundings (brackets, quotes, etc.) -- -- Add/delete/replace surroundings (brackets, quotes, etc.)
-- -- --
-- - saiw) - [S]urround [A]dd [I]nner [W]ord [)]Paren -- -- - saiw) - [S]urround [A]dd [I]nner [W]ord [)]Paren
-- - sd' - [S]urround [D]elete [']quotes -- -- - sd' - [S]urround [D]elete [']quotes
-- - sr)' - [S]urround [R]eplace [)] ['] -- -- - sr)' - [S]urround [R]eplace [)] [']
require('mini.surround').setup() -- require('mini.surround').setup()
--
-- Simple and easy statusline. -- -- Simple and easy statusline.
-- You could remove this setup call if you don't like it, -- -- You could remove this setup call if you don't like it,
-- and try some other statusline plugin -- -- and try some other statusline plugin
local statusline = require 'mini.statusline' -- local statusline = require 'mini.statusline'
-- set use_icons to true if you have a Nerd Font -- -- set use_icons to true if you have a Nerd Font
statusline.setup { use_icons = vim.g.have_nerd_font } -- statusline.setup { use_icons = vim.g.have_nerd_font }
--
-- You can configure sections in the statusline by overriding their -- -- You can configure sections in the statusline by overriding their
-- default behavior. For example, here we set the section for -- -- default behavior. For example, here we set the section for
-- cursor location to LINE:COLUMN -- -- cursor location to LINE:COLUMN
---@diagnostic disable-next-line: duplicate-set-field -- ---@diagnostic disable-next-line: duplicate-set-field
statusline.section_location = function() -- statusline.section_location = function()
return '%2l:%-2v' -- return '%2l:%-2v'
end -- end
--
-- ... and there is more! -- -- ... and there is more!
-- Check out: https://github.com/echasnovski/mini.nvim -- -- Check out: https://github.com/echasnovski/mini.nvim
end, -- end,
}, -- },
{ -- Highlight, edit, and navigate code { -- Highlight, edit, and navigate code
'nvim-treesitter/nvim-treesitter', 'nvim-treesitter/nvim-treesitter',
build = ':TSUpdate', build = ':TSUpdate',