summaryrefslogtreecommitdiffstats
path: root/lua/plugins
diff options
context:
space:
mode:
authorNanderty <psopka@sopka.ch>2023-03-20 16:29:49 +0100
committerNanderty <psopka@sopka.ch>2023-03-20 16:29:49 +0100
commit7111388965e01e9c712dfc2288028952fe78b664 (patch)
tree5f499fc0fbfc2122066b86d02987604146bd5e09 /lua/plugins
parent423133102d96556d121a97689be1f4f6542e320c (diff)
downloadneovim-config-7111388965e01e9c712dfc2288028952fe78b664.tar.gz
neovim-config-7111388965e01e9c712dfc2288028952fe78b664.tar.bz2
neovim-config-7111388965e01e9c712dfc2288028952fe78b664.zip
lazyvim
Diffstat (limited to 'lua/plugins')
-rw-r--r--lua/plugins/cmp.lua80
-rw-r--r--lua/plugins/colorscheme.lua15
-rw-r--r--lua/plugins/general.lua39
-rw-r--r--lua/plugins/interface.lua44
-rw-r--r--lua/plugins/latex.lua6
-rw-r--r--lua/plugins/lsp.lua33
-rw-r--r--lua/plugins/mini.lua14
-rw-r--r--lua/plugins/telescope.lua46
-rw-r--r--lua/plugins/treesitter.lua26
9 files changed, 303 insertions, 0 deletions
diff --git a/lua/plugins/cmp.lua b/lua/plugins/cmp.lua
new file mode 100644
index 0000000..6015356
--- /dev/null
+++ b/lua/plugins/cmp.lua
@@ -0,0 +1,80 @@
+return {
+ {
+ 'L3MON4D3/LuaSnip',
+ dependencies = {
+ 'iurimateus/luasnip-latex-snippets.nvim',
+ 'rafamadriz/friendly-snippets',
+ },
+ config = function()
+ require('luasnip-latex-snippets').setup()
+ require("luasnip.loaders.from_lua").lazy_load()
+ require("luasnip.loaders.from_vscode").lazy_load()
+ end
+ },
+ {
+ 'hrsh7th/nvim-cmp',
+ event = 'InsertEnter',
+ dependencies = {
+ 'hrsh7th/cmp-nvim-lsp',
+ 'hrsh7th/cmp-buffer',
+ 'hrsh7th/cmp-path',
+ 'saadparwaiz1/cmp_luasnip',
+ },
+
+ opts = function()
+ 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 luasnip = require("luasnip")
+ local cmp = require('cmp')
+
+ luasnip.config.set_config({
+ history = true,
+ enable_autosnippets = true,
+ })
+
+ return {
+ snippet = {
+ expand = function(args)
+ require('luasnip').lsp_expand(args.body)
+ end,
+ },
+ mapping = cmp.mapping.preset.insert({
+
+ ['<Space>'] = cmp.mapping.confirm({ select = false }),
+
+ ["<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 = 'buffer' },
+ { name = 'path' },
+ })
+ }
+ end,
+ },
+}
diff --git a/lua/plugins/colorscheme.lua b/lua/plugins/colorscheme.lua
new file mode 100644
index 0000000..6dd51ca
--- /dev/null
+++ b/lua/plugins/colorscheme.lua
@@ -0,0 +1,15 @@
+return {
+
+ {
+ 'navarasu/onedark.nvim',
+ lazy = false,
+ priority = 1000,
+ config = function()
+ require('onedark').setup {
+ style = 'warmer'
+ }
+ require('onedark').load()
+ end,
+ },
+
+}
diff --git a/lua/plugins/general.lua b/lua/plugins/general.lua
new file mode 100644
index 0000000..3eeb1c0
--- /dev/null
+++ b/lua/plugins/general.lua
@@ -0,0 +1,39 @@
+return {
+ {
+ 'sbdchd/neoformat',
+ keys = {
+ { '<leader>i', '<cmd>Neoformat<cr>', desc = 'format' },
+ },
+ },
+ {
+ 'neomake/neomake',
+ event = {
+ 'BufReadPost',
+ 'BufNewFile'
+ },
+ config = function()
+ vim.call('neomake#configure#automake', 'nrwi', '500')
+ end,
+ },
+ {
+ 'tpope/vim-fugitive',
+ event = {
+ 'BufReadPost',
+ 'BufNewFile'
+ },
+ },
+ {
+ 'JoseConseco/telescope_sessions_picker.nvim',
+ keys = {
+ { '<leader>ps', '<cmd>Telescope sessions_picker<cr>', desc = 'session' },
+ },
+ dependencies = {
+ 'nvim-telescope/telescope.nvim',
+ 'nvim-lua/plenary.nvim',
+ 'nvim-tree/nvim-web-devicons',
+ },
+ config = function()
+ require('telescope').load_extension 'sessions_picker'
+ end,
+ },
+}
diff --git a/lua/plugins/interface.lua b/lua/plugins/interface.lua
new file mode 100644
index 0000000..4e898c5
--- /dev/null
+++ b/lua/plugins/interface.lua
@@ -0,0 +1,44 @@
+return {
+ {
+ 'akinsho/bufferline.nvim',
+ event = 'VeryLazy',
+ dependencies = {
+ 'nvim-tree/nvim-web-devicons',
+ },
+ opts = {
+ options = {
+ diagnostics = "nvim_lsp",
+ always_show_bufferline = false,
+ },
+ },
+ config = function(_, opts)
+ require("bufferline").setup(opts)
+ end,
+ },
+ {
+ 'nvim-lualine/lualine.nvim',
+ event = 'VeryLazy',
+ opts = {
+ options = {
+ theme = 'onedark'
+ },
+ },
+ },
+ {
+ 'lukas-reineke/indent-blankline.nvim',
+ event = {
+ 'BufReadPost',
+ 'BufNewFile'
+ },
+ },
+ {
+ 'lewis6991/gitsigns.nvim',
+ event = {
+ 'BufReadPost',
+ 'BufNewFile'
+ },
+ config = function()
+ require('gitsigns').setup()
+ end,
+ },
+}
diff --git a/lua/plugins/latex.lua b/lua/plugins/latex.lua
new file mode 100644
index 0000000..f3ad09c
--- /dev/null
+++ b/lua/plugins/latex.lua
@@ -0,0 +1,6 @@
+return {
+ {
+ 'lervag/vimtex',
+ lazy = false,
+ },
+}
diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua
new file mode 100644
index 0000000..dd088e2
--- /dev/null
+++ b/lua/plugins/lsp.lua
@@ -0,0 +1,33 @@
+return {
+ {
+ 'neovim/nvim-lspconfig',
+ event = {
+ 'BufReadPre',
+ 'BufNewFile'
+ },
+ dependencies = {
+ 'williamboman/mason.nvim',
+ 'williamboman/mason-lspconfig.nvim',
+ 'hrsh7th/cmp-nvim-lsp',
+ },
+ config = function()
+ require('mason').setup()
+
+ require('mason-lspconfig').setup()
+
+ 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,
+ })
+ end,
+ },
+}
diff --git a/lua/plugins/mini.lua b/lua/plugins/mini.lua
new file mode 100644
index 0000000..18c4a23
--- /dev/null
+++ b/lua/plugins/mini.lua
@@ -0,0 +1,14 @@
+return {
+ {
+ 'echasnovski/mini.nvim',
+ event = 'VimEnter',
+ config = function()
+ require('mini.sessions').setup({
+ force = {read = false, write = true, delete = true}
+ })
+ require('mini.starter').setup({
+ evaluate_single = true
+ })
+ end,
+ },
+}
diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua
new file mode 100644
index 0000000..c09c5a6
--- /dev/null
+++ b/lua/plugins/telescope.lua
@@ -0,0 +1,46 @@
+return {
+ {
+ 'nvim-telescope/telescope.nvim',
+ keys = {
+ { '<leader>pf', '<cmd>Telescope find_files<cr>', desc = 'find files' },
+ { '<leader>pd', '<cmd>Telescope oldfiles<cr>', desc = 'oldfiles' },
+ { '<leader>pg', '<cmd>Telescope live_grep<cr>', desc = 'grep files' },
+ },
+ dependencies = { 'nvim-lua/plenary.nvim' },
+ opts = {
+ defaults = {
+ initial_mode = 'normal',
+ mappings = {
+ n = {
+ ['q'] = function(...)
+ return require('telescope.actions').close(...)
+ end,
+ }
+ }
+ },
+ extensions = {
+ file_browser ={
+ hijack_netrw = true,
+ },
+ sessions_picker = {
+ sessions_dir = vim.fn.stdpath('data') ..'/session/',
+ }
+ },
+ },
+ },
+
+ {
+ 'nvim-telescope/telescope-file-browser.nvim',
+ keys = {
+ { '<leader>pv', '<cmd>Telescope file_browser path=%:p:h select_buffer=true<cr>', desc = 'file tree' },
+ },
+ dependencies = {
+ 'nvim-telescope/telescope.nvim',
+ 'nvim-lua/plenary.nvim',
+ 'nvim-tree/nvim-web-devicons',
+ },
+ config = function()
+ require('telescope').load_extension 'file_browser'
+ end,
+ },
+}
diff --git a/lua/plugins/treesitter.lua b/lua/plugins/treesitter.lua
new file mode 100644
index 0000000..6f2fa4e
--- /dev/null
+++ b/lua/plugins/treesitter.lua
@@ -0,0 +1,26 @@
+return {
+ {
+ 'nvim-treesitter/nvim-treesitter',
+ build = ":TSUpdate",
+ event = { "BufReadPost", "BufNewFile" },
+ opts = {
+ auto_install = true,
+ ignore_install = { 'latex' },
+ highlight = { enable = true },
+ indent = { enable = true, disable = { "python" } },
+ ensure_installed = {
+ 'javascript',
+ 'python',
+ 'cpp',
+ 'c',
+ 'lua',
+ 'php',
+ 'html',
+ 'css',
+ },
+ },
+ config = function(_, opts)
+ require("nvim-treesitter.configs").setup(opts)
+ end,
+ }
+}