local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not vim.loop.fs_stat(lazypath) then vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", -- latest stable release lazypath, }) end vim.opt.rtp:prepend(lazypath) return require('lazy').setup({ { 'nvim-telescope/telescope.nvim', version = '0.1.0', -- or , branch = '0.1.x', dependencies = { { 'nvim-lua/plenary.nvim' } } }, { 'navarasu/onedark.nvim', name = 'onedark', config = function() vim.cmd('colorscheme onedark') end }, { "folke/trouble.nvim", dependencies = { "nvim-tree/nvim-web-devicons" }, opts = {}, }, { 'nvim-tree/nvim-tree.lua', dependencies = { 'nvim-tree/nvim-web-devicons', -- optional }, }, { "nvim-treesitter/nvim-treesitter", build = ":TSUpdate", dependencies = { 'JoosepAlviste/nvim-ts-context-commentstring', "nvim-treesitter/playground", }, config = function() local configs = require("nvim-treesitter.configs") configs.setup({ ensure_installed = { "c", "lua", "vim", "vimdoc", "query", "javascript", "html", "go", "yaml", "bash" }, sync_install = false, highlight = { enable = true }, indent = { enable = true }, playground = { enable = true }, }) local parser_config = require "nvim-treesitter.parsers".get_parser_configs() parser_config.logstash = { install_info = { url = "https://git.preston-baxter.com/Preston_PLB/tree-sitter-logstash.git", -- local path or git repo files = { "src/parser.c" }, -- note that some parsers also require src/scanner.c or src/scanner.cc -- optional entries: branch = "master", -- default branch in case of git repo if different from master generate_requires_npm = false, -- if stand-alone parser without npm dependencies requires_generate_from_grammar = false, -- if folder contains pre-generated src/parser.c }, } vim.filetype.add({ extension = { logstash = "logstash" } }) vim.treesitter.language.register("logstash", "logstash") require('ts_context_commentstring').setup { enable_autocmd = false } end }, "nvim-pack/nvim-spectre", "nvim-treesitter/nvim-treesitter-context", { 'VonHeikemen/lsp-zero.nvim', branch = 'v1.x', dependencies = { -- LSP Support { 'neovim/nvim-lspconfig' }, { 'williamboman/mason.nvim' }, { 'williamboman/mason-lspconfig.nvim' }, -- Autocompletion { 'hrsh7th/nvim-cmp' }, { 'hrsh7th/cmp-buffer' }, { 'hrsh7th/cmp-path' }, { 'saadparwaiz1/cmp_luasnip' }, { 'hrsh7th/cmp-nvim-lsp' }, { 'hrsh7th/cmp-nvim-lua' }, -- Snippets { 'L3MON4D3/LuaSnip' }, { 'rafamadriz/friendly-snippets' }, } }, { "vrischmann/tree-sitter-templ", config = function() local treesitter_parser_config = require("nvim-treesitter.parsers").get_parser_configs() treesitter_parser_config.templ = { install_info = { url = "https://github.com/vrischmann/tree-sitter-templ.git", files = { "src/parser.c", "src/scanner.c" }, branch = "master", }, } --[[ vim.api.nvim_create_autocmd( { -- 'BufWritePre' event triggers just before a buffer is written to file. "BufWritePre" }, { pattern = { "*.templ" }, callback = function() -- Format the current buffer using Neovim's built-in LSP (Language Server Protocol). vim.lsp.buf.format() end, } ) ]] vim.treesitter.language.register('templ', 'templ') end, dependencies = { { "nvim-treesitter/nvim-treesitter" }, }, }, { "ray-x/lsp_signature.nvim", event = "VeryLazy", opts = {}, config = function(_, opts) require 'lsp_signature'.setup(opts) end }, { 'akinsho/bufferline.nvim', version = "*", dependencies = 'nvim-tree/nvim-web-devicons' }, { "kdheepak/lazygit.nvim", -- optional for floating window border decoration dependencies = { "nvim-lua/plenary.nvim", }, }, { 'numToStr/Comment.nvim', opts = { toggler = { ---Line-comment toggle keymap line = '/', ---Block-comment toggle keymap block = 'b', }, ---LHS of operator-pending mappings in NORMAL and VISUAL mode opleader = { ---Line-comment keymap line = '/', ---Block-comment keymap block = 'B', }, ---LHS of extra mappings extra = { ---Add comment on the line above above = 'CO', ---Add comment on the line below below = 'Co', ---Add comment at the end of line eol = 'CA', }, ---Enable keybindings ---NOTE: If given `false` then the plugin won't create any mappings mappings = { ---Operator-pending mapping; `gcc` `gbc` `gc[count]{motion}` `gb[count]{motion}` basic = true, ---Extra mapping; `gco`, `gcO`, `gcA` extra = true, }, }, lazy = false, }, { 'nvim-lualine/lualine.nvim', dependencies = { 'nvim-tree/nvim-web-devicons' } }, { 'f-person/git-blame.nvim' }, { 'simrat39/symbols-outline.nvim' }, { 'leoluz/nvim-dap-go', dependencies = { 'mfussenegger/nvim-dap', "nvim-neotest/nvim-nio" } }, { 'rcarriga/nvim-dap-ui', dependencies = { 'mfussenegger/nvim-dap' } }, { 'github/copilot.vim' } })