diff options
Diffstat (limited to '.config/nvim/lua/custom/plugins')
| -rw-r--r-- | .config/nvim/lua/custom/plugins/cmp.lua | 53 | ||||
| -rw-r--r-- | .config/nvim/lua/custom/plugins/gruvbox_material.lua | 7 | ||||
| -rw-r--r-- | .config/nvim/lua/custom/plugins/init.lua | 44 | ||||
| -rw-r--r-- | .config/nvim/lua/custom/plugins/lsp.lua | 18 | ||||
| -rw-r--r-- | .config/nvim/lua/custom/plugins/lualine.lua | 55 | ||||
| -rw-r--r-- | .config/nvim/lua/custom/plugins/telescope.lua | 7 | ||||
| -rw-r--r-- | .config/nvim/lua/custom/plugins/treesitter.lua | 7 | ||||
| -rw-r--r-- | .config/nvim/lua/custom/plugins/vimtex.lua | 1 |
8 files changed, 192 insertions, 0 deletions
diff --git a/.config/nvim/lua/custom/plugins/cmp.lua b/.config/nvim/lua/custom/plugins/cmp.lua new file mode 100644 index 0000000..51d0a30 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/cmp.lua @@ -0,0 +1,53 @@ +local cmp = require("cmp") + +cmp.setup({ + snippet = { + expand = function(args) + vim.fn["vsnip#anonymous"](args.body) + end, + }, + window = { + -- completion = cmp.config.window.bordered(), + -- documentation = cmp.config.window.bordered(), + }, + mapping = cmp.mapping.preset.insert({ + ['<C-b>'] = cmp.mapping.scroll_docs(-4), + ['<C-f>'] = cmp.mapping.scroll_docs(4), + ['<C-Space>'] = cmp.mapping.complete(), + ['<C-e>'] = cmp.mapping.abort(), + ['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. + }), + sources = cmp.config.sources({ + { name = 'nvim_lsp' }, + { name = 'vsnip' }, + { name = 'friendly-snippets '} + }, { + { name = 'buffer' }, + }) +}) + +-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore). +cmp.setup.cmdline({ '/', '?' }, { + mapping = cmp.mapping.preset.cmdline(), + sources = { + { name = 'buffer' } + } +}) + +-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). +cmp.setup.cmdline(':', { + mapping = cmp.mapping.preset.cmdline(), + sources = cmp.config.sources({ + { name = 'path' } + }, { + { name = 'cmdline' } + }), + matching = { disallow_symbol_nonprefix_matching = false } +}) + + +local capabilities = require('cmp_nvim_lsp').default_capabilities() +vim.lsp.config('*', { + capabilities = capabilities, +}) + diff --git a/.config/nvim/lua/custom/plugins/gruvbox_material.lua b/.config/nvim/lua/custom/plugins/gruvbox_material.lua new file mode 100644 index 0000000..8b0d51f --- /dev/null +++ b/.config/nvim/lua/custom/plugins/gruvbox_material.lua @@ -0,0 +1,7 @@ +-- init plugin gruvbox-material +vim.g.gruvbox_material_background = 'hard' +vim.g.gruvbox_material_foreground = 'material' +vim.g.gruvbox_material_enable_italic = true +vim.g.gruvbox_material_disable_italic_comment = false +vim.g.gruvbox_material_better_performance = 1 +vim.cmd.colorscheme('gruvbox-material') diff --git a/.config/nvim/lua/custom/plugins/init.lua b/.config/nvim/lua/custom/plugins/init.lua new file mode 100644 index 0000000..ec4bded --- /dev/null +++ b/.config/nvim/lua/custom/plugins/init.lua @@ -0,0 +1,44 @@ +vim.pack.add({ + -- colorscheme + { src = 'https://github.com/sainnhe/gruvbox-material' }, + + -- status line + { src = 'https://github.com/nvim-tree/nvim-web-devicons' }, + { src = 'https://github.com/nvim-lualine/lualine.nvim' }, + + -- treesitter + { src = 'https://github.com/nvim-treesitter/nvim-treesitter', version = 'main' }, + + -- autoconfigure language servers + { src = 'https://github.com/neovim/nvim-lspconfig' }, + + -- install language servers + { src = 'https://github.com/mason-org/mason.nvim' }, + { src = 'https://github.com/mason-org/mason-lspconfig.nvim' }, + + -- autocomplete + { src = 'https://github.com/hrsh7th/cmp-nvim-lsp' }, + { src = 'https://github.com/hrsh7th/cmp-buffer' }, + { src = 'https://github.com/hrsh7th/cmp-path' }, + { src = 'https://github.com/hrsh7th/cmp-cmdline' }, + { src = 'https://github.com/hrsh7th/nvim-cmp' }, + { src = 'https://github.com/hrsh7th/cmp-vsnip' }, + { src = 'https://github.com/hrsh7th/vim-vsnip' }, + { src = 'https://github.com/rafamadriz/friendly-snippets' }, + + -- telescope + { src = 'https://github.com/nvim-lua/plenary.nvim' }, + { src = 'https://github.com/nvim-telescope/telescope.nvim', tag = 'v0.1.9' }, + + -- latex support + { src = 'https://github.com/lervag/vimtex' }, +}) + +require('custom.plugins.gruvbox_material') +require('custom.plugins.lualine') +require('custom.plugins.treesitter') +require('custom.plugins.lsp') +require('custom.plugins.cmp') +require('custom.plugins.telescope') +require('custom.plugins.vimtex') + diff --git a/.config/nvim/lua/custom/plugins/lsp.lua b/.config/nvim/lua/custom/plugins/lsp.lua new file mode 100644 index 0000000..c65711c --- /dev/null +++ b/.config/nvim/lua/custom/plugins/lsp.lua @@ -0,0 +1,18 @@ +require('mason').setup() +require('mason-lspconfig').setup({ + ensure_installed = { + 'lua_ls', + 'clangd', + 'pyright', + 'html', + }, +}) + +vim.lsp.config('html', { + filetypes = { "html", "htmldjango" }, + init_options = { + provideFormatter = true, + embeddedLanguages = { css = true, javascript = true }, + }, +}) + diff --git a/.config/nvim/lua/custom/plugins/lualine.lua b/.config/nvim/lua/custom/plugins/lualine.lua new file mode 100644 index 0000000..d8fe1f9 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/lualine.lua @@ -0,0 +1,55 @@ +require('lualine').setup({ + options = { + icons_enabled = true, + theme = 'auto', + component_separators = { left = '', right = ''}, + section_separators = { left = '', right = ''}, + disabled_filetypes = { + statusline = {}, + winbar = {}, + }, + ignore_focus = {}, + always_divide_middle = true, + always_show_tabline = true, + globalstatus = false, + refresh = { + statusline = 1000, + tabline = 1000, + winbar = 1000, + refresh_time = 16, -- ~60fps + events = { + 'WinEnter', + 'BufEnter', + 'BufWritePost', + 'SessionLoadPost', + 'FileChangedShellPost', + 'VimResized', + 'Filetype', + 'CursorMoved', + 'CursorMovedI', + 'ModeChanged', + }, + } + }, + sections = { + lualine_a = {'mode'}, + lualine_b = {'branch', 'diff', 'diagnostics'}, + lualine_c = {'filename'}, + lualine_x = {'encoding', 'fileformat', 'filetype'}, + lualine_y = {'progress'}, + lualine_z = {'location'} + }, + inactive_sections = { + lualine_a = {}, + lualine_b = {}, + lualine_c = {'filename'}, + lualine_x = {'location'}, + lualine_y = {}, + lualine_z = {} + }, + tabline = {}, + winbar = {}, + inactive_winbar = {}, + extensions = {} +}) + diff --git a/.config/nvim/lua/custom/plugins/telescope.lua b/.config/nvim/lua/custom/plugins/telescope.lua new file mode 100644 index 0000000..5e24c91 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/telescope.lua @@ -0,0 +1,7 @@ +-- telescope +local builtin = require('telescope.builtin') +vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Telescope find files' }) +vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = 'Telescope live grep' }) +vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = 'Telescope buffers' }) +vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = 'Telescope help tags' }) + diff --git a/.config/nvim/lua/custom/plugins/treesitter.lua b/.config/nvim/lua/custom/plugins/treesitter.lua new file mode 100644 index 0000000..91e3f36 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/treesitter.lua @@ -0,0 +1,7 @@ +require('nvim-treesitter').setup { + config = { + ensure_installed = { 'cpp', 'html', 'htmldjango' }, + automatic_installation = true, + } +} + diff --git a/.config/nvim/lua/custom/plugins/vimtex.lua b/.config/nvim/lua/custom/plugins/vimtex.lua new file mode 100644 index 0000000..d774bc5 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/vimtex.lua @@ -0,0 +1 @@ +vim.g.vimtex_view_method = 'mupdf' |
