diff --git a/nvim/lua/config.lua b/nvim/lua/config.lua index 0636b985..edaa7da6 100644 --- a/nvim/lua/config.lua +++ b/nvim/lua/config.lua @@ -3,6 +3,9 @@ keymap = vim.api.nvim_set_keymap -- Enable ColorScheme vim.cmd[[colorscheme nord]] +-- Enable autopairs +require('nvim-autopairs').setup{} + -- nvim-treesiter configuration: -- setup with all defaults require'nvim-treesitter.configs'.setup{ ensure_installed = {"bash", "c", "c_sharp", "cmake", "cpp", "css", "dockerfile", "go", "html", "http", "java", "javascript", "json", "json5", "jsonc", "lua", "make", "markdown", "perl", "php", "pug", "python", "regex", "ruby", "toml", "tsx", "typescript", "vim", "vue", "wgsl", "yaml",}, @@ -11,8 +14,9 @@ require'nvim-treesitter.configs'.setup{ -- To enable basic vim folding methods/expressions: -- --- vim.opt.foldmethod = "expr" --- vim.opt.foldexpr = "nvim_treesitter#foldexpr()" +vim.opt.foldmethod = "expr" +vim.opt.foldexpr = "nvim_treesitter#foldexpr()" +-- local lsp_installer = require("nvim-lsp-installer") lsp_installer.on_server_ready(function(server) @@ -27,6 +31,12 @@ end) local cmp = require'cmp' cmp.setup({ + snippet = { + -- REQUIRED - you must specify a snippet engine + expand = function(args) + vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users. + end, + }, mapping = cmp.mapping.preset.insert({ [''] = cmp.mapping.scroll_docs(-4), [''] = cmp.mapping.scroll_docs(4), @@ -37,6 +47,7 @@ end) sources = cmp.config.sources({ { name = 'nvim_lsp' }, { name = 'buffer' }, + { name = 'ultisnips' }, }) }) @@ -72,7 +83,7 @@ local capabilities = require('cmp_nvim_lsp').update_capabilities(vim.lsp.protoco -- Replace with each lsp server you've enabled. local lspconfig =require'lspconfig' -- Enable some language servers with the additional completion capabilities offered by nvim-cmp -local servers = { 'sumneko_lua', 'eslint', 'pyright', 'bashls', 'clangd', 'volar', 'zk' } +local servers = { 'sumneko_lua', 'eslint', 'pyright', 'bashls', 'clangd', 'volar', 'zk', 'html' } for _, lsp in ipairs(servers) do lspconfig[lsp].setup { capabilities = capabilities, diff --git a/nvim/lua/packages.lua b/nvim/lua/packages.lua index 669bbc21..992ab682 100644 --- a/nvim/lua/packages.lua +++ b/nvim/lua/packages.lua @@ -18,21 +18,33 @@ require('packer').startup(function() use 'hrsh7th/cmp-buffer' use 'hrsh7th/cmp-path' use 'hrsh7th/cmp-cmdline' - use 'hrsh7th/nvim-cmp' - + use 'SirVer/ultisnips' + use 'honza/vim-snippets' + use 'quangnguyen30192/cmp-nvim-ultisnips' + use({"hrsh7th/nvim-cmp", + requires = {"quangnguyen30192/cmp-nvim-ultisnips", + config = function() + -- optional call to setup (see customization section) + require("cmp_nvim_ultisnips").setup{} + end, + -- If you want to enable filetype detection based on treesitter: + requires = { "nvim-treesitter/nvim-treesitter" }, + } + }) use 'kyazdani42/nvim-web-devicons' -- for file icons use 'kyazdani42/nvim-tree.lua' use {'nvim-lualine/lualine.nvim', requires = { 'kyazdani42/nvim-web-devicons', opt = true }} use 'shaunsingh/nord.nvim' use 'psliwka/vim-smoothie' - -- use 'mattn/emmet-vim' - -- use 'airblade/vim-gitgutter' + use 'mattn/emmet-vim' + use 'airblade/vim-gitgutter' use 'ctrlpvim/ctrlp.vim' -- fuzzy find files use 'preservim/nerdcommenter' use 'Yggdroot/indentLine' use 'mg979/vim-visual-multi'-- {'branch': 'master'} use {'iamcco/markdown-preview.nvim', run = ':call mkdp#util#install'} -- {'do': { -> mkdp#util#install() }} use 'luochen1990/rainbow' + use 'windwp/nvim-autopairs' use 'simeji/winresizer' use '907th/vim-auto-save' use 'jremmen/vim-ripgrep'