diff options
Diffstat (limited to 'plugin')
| -rw-r--r-- | plugin/bufferline.lua | 1 | ||||
| -rw-r--r-- | plugin/cmp.lua | 88 | ||||
| -rw-r--r-- | plugin/lspconfig.lua | 20 | ||||
| -rw-r--r-- | plugin/lualine.lua | 5 | ||||
| -rw-r--r-- | plugin/luasnip.lua | 5 | ||||
| -rw-r--r-- | plugin/mini.lua | 7 | ||||
| -rw-r--r-- | plugin/neoformat.lua | 3 | ||||
| -rw-r--r-- | plugin/neomake.lua | 1 | ||||
| -rw-r--r-- | plugin/telescope.lua | 6 | ||||
| -rw-r--r-- | plugin/treesitter.lua | 10 |
10 files changed, 146 insertions, 0 deletions
diff --git a/plugin/bufferline.lua b/plugin/bufferline.lua new file mode 100644 index 0000000..1c295dc --- /dev/null +++ b/plugin/bufferline.lua @@ -0,0 +1 @@ +require("bufferline").setup{} diff --git a/plugin/cmp.lua b/plugin/cmp.lua new file mode 100644 index 0000000..56b25f5 --- /dev/null +++ b/plugin/cmp.lua @@ -0,0 +1,88 @@ +local luasnip = require('luasnip') +local cmp = require'cmp' + +local has_words_before = function() + unpack = unpack or table.unpack + local line, col = unpack(vim.api.nvim_win_get_cursor(0)) + return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match('%s') == nil +end + +local kind_icons = { + Text = "", + Method = "", + Function = "", + Constructor = "", + Field = "", + Variable = "", + Class = "ﴯ", + Interface = "", + Module = "", + Property = "ﰠ", + Unit = "", + Value = "", + Enum = "", + Keyword = "", + Snippet = "", + Color = "", + File = "", + Reference = "", + Folder = "", + EnumMember = "", + Constant = "", + Struct = "", + Event = "", + Operator = "", + TypeParameter = "" +} + +cmp.setup({ + snippet = { + expand = function(args) + require('luasnip').lsp_expand(args.body) + end, + }, + window = { + }, + mapping = cmp.mapping.preset.insert({ + ['<Tab>'] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + elseif has_words_before() then + cmp.complete() + else + fallback() + end + end, { 'i', 's' }), + + ['<S-Tab>'] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, { 'i', 's' }), + }), + sources = cmp.config.sources({ + { name = 'nvim_lsp' }, + { name = 'luasnip' }, + { name = 'omni' }, + { name = 'buffer' }, + }), + formatting = { + format = function(entry, vim_item) + vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) + vim_item.menu = ({ + buffer = "[Buffer]", + nvim_lsp = "[LSP]", + luasnip = "[LuaSnip]", + nvim_lua = "[Lua]", + latex_symbols = "[LaTeX]", + })[entry.source.name] + return vim_item + end + }, +}) diff --git a/plugin/lspconfig.lua b/plugin/lspconfig.lua new file mode 100644 index 0000000..398d1ae --- /dev/null +++ b/plugin/lspconfig.lua @@ -0,0 +1,20 @@ +require('mason').setup() + +require('mason-lspconfig').setup({ + ensure_installed = { + } +}) + +local lsp_capabilities = require('cmp_nvim_lsp').default_capabilities() +local lsp_attach = function(client, bufnr) +end + +local lspconfig = require('lspconfig') +require('mason-lspconfig').setup_handlers({ + function(server_name) + lspconfig[server_name].setup({ + on_attach = lsp_attach, + capabilities = lsp_capabilities, + }) + end, +}) diff --git a/plugin/lualine.lua b/plugin/lualine.lua new file mode 100644 index 0000000..5ace147 --- /dev/null +++ b/plugin/lualine.lua @@ -0,0 +1,5 @@ +require('lualine').setup { + options = { + theme = 'onedark' + } +} diff --git a/plugin/luasnip.lua b/plugin/luasnip.lua new file mode 100644 index 0000000..9d273ba --- /dev/null +++ b/plugin/luasnip.lua @@ -0,0 +1,5 @@ +require('luasnip').config.set_config({ + enable_autosnippets = true, +}) + +require('luasnip.loaders.from_lua').load({paths = vim.fn.stdpath('config')..'/Snippets'}) diff --git a/plugin/mini.lua b/plugin/mini.lua new file mode 100644 index 0000000..0546fe3 --- /dev/null +++ b/plugin/mini.lua @@ -0,0 +1,7 @@ +require('mini.starter').setup({ + evaluate_single = true +}) +require('mini.sessions').setup({ +force = {read = false, write = true, delete = true} +}) +require('mini.fuzzy').setup() diff --git a/plugin/neoformat.lua b/plugin/neoformat.lua new file mode 100644 index 0000000..54ed27d --- /dev/null +++ b/plugin/neoformat.lua @@ -0,0 +1,3 @@ +vim.api.nvim_create_autocmd("BufWritePre", { +command = "Neoformat" +}) diff --git a/plugin/neomake.lua b/plugin/neomake.lua new file mode 100644 index 0000000..fd60d55 --- /dev/null +++ b/plugin/neomake.lua @@ -0,0 +1 @@ +vim.call('neomake#configure#automake', 'nrwi', '500') diff --git a/plugin/telescope.lua b/plugin/telescope.lua new file mode 100644 index 0000000..4806008 --- /dev/null +++ b/plugin/telescope.lua @@ -0,0 +1,6 @@ +local builtin = require('telescope.builtin') +vim.keymap.set('n', '<leader>pf', builtin.find_files, {}) +vim.keymap.set('n', '<C-p>', builtin.git_files, {}) +vim.keymap.set('n', '<leader>ps', function() + builtin.grep_string({ search = vim.fn.input("Grep > ") }); +end) diff --git a/plugin/treesitter.lua b/plugin/treesitter.lua new file mode 100644 index 0000000..aa15ceb --- /dev/null +++ b/plugin/treesitter.lua @@ -0,0 +1,10 @@ +require'nvim-treesitter.configs'.setup { + ensure_installed = {"help", "javascript", "css", "python", "cpp", "c", "lua", "php",}, + + sync_install = false, + + highlight = { + enable = true, + + }, +} |
