106 lines
5.4 KiB
Lua
106 lines
5.4 KiB
Lua
return require("packer").startup {
|
|
function(use)
|
|
use "wbthomason/packer.nvim"
|
|
|
|
-- Tpope general improvements
|
|
use "tpope/vim-sensible" -- Sane defaults
|
|
use "tpope/vim-endwise" -- Add closing statements automatically for if, function etc
|
|
use "tpope/vim-surround" -- Surround with ', ", etc
|
|
use "tpope/vim-fugitive" -- Git integration
|
|
use "tpope/vim-vinegar" -- Netrw improvements
|
|
use "tpope/vim-obsession" -- Session.vim management
|
|
use "tpope/vim-dadbod" -- Database access
|
|
use "kristijanhusak/vim-dadbod-ui" -- UI For Dadbod
|
|
use "tpope/vim-speeddating" -- <C-A> and <C-X> for dates
|
|
use "tpope/vim-dispatch" -- Dispatch command
|
|
use "tpope/vim-projectionist" -- Project config file!
|
|
use "tpope/vim-unimpaired" -- Additional [ and ] mappings
|
|
use "tpope/vim-repeat" -- Better . repeat
|
|
use "tpope/vim-commentary" -- Commenting motion
|
|
use "tpope/vim-sleuth" -- Intendation heuristics
|
|
|
|
-- General improvements
|
|
use "airblade/vim-gitgutter" -- Git signs
|
|
use "godlygeek/tabular" -- Tabular command for alignment
|
|
use "vim-scripts/utl.vim" -- Universal text linking
|
|
use {
|
|
"mbbill/undotree",
|
|
cmd = "UndotreeToggle"
|
|
} -- Undos in a tree for easy access
|
|
use "mhinz/vim-grepper" -- Grepper command - improved grepping throughout project
|
|
use "radenling/vim-dispatch-neovim" -- vim-dispatch for neovim - uses terminal
|
|
use "wellle/targets.vim" -- Additional targets for inside and around motions
|
|
use "flazz/vim-colorschemes" -- All popular colorschemes
|
|
use "romainl/vim-qf" -- Quickfix list upgrades
|
|
use "romainl/vim-devdocs" -- Quick DevDocs.io search using :DD
|
|
use "gpanders/editorconfig.nvim" -- .editorconfig support
|
|
use "lewis6991/impatient.nvim" -- Caching lua modules for faster startup
|
|
|
|
-- Tools
|
|
use "direnv/direnv.vim" -- Integration with Direnv
|
|
use "vim-test/vim-test" -- Running tests from vim
|
|
use "dense-analysis/ale" -- Asynchronous Lint Engine - used for linting, not for LSP
|
|
use "nathunsmitty/nvim-ale-diagnostic" -- Neovim LSP + ALE integration
|
|
use "mfussenegger/nvim-dap" -- Debug Adapter Protocol
|
|
use "rcarriga/nvim-dap-ui" -- UI components for DAP
|
|
use "theHamsta/nvim-dap-virtual-text" -- Virtual text display for DAP
|
|
use "diepm/vim-rest-console" -- REST console for vim
|
|
use "Pocco81/DAPInstall.nvim" -- Easy DAP configuration
|
|
use "jamestthompson3/nvim-remote-containers" -- devcontainer.json support
|
|
use "jbyuki/one-small-step-for-vimkind" -- Debugger for Nvim-Lua
|
|
|
|
-- Snippets
|
|
if vim.g.loaded_python3_provider ~= 0 then
|
|
use "SirVer/ultisnips" -- Snippets in python format
|
|
use "honza/vim-snippets" -- Collection of snippets for UltiSnips
|
|
end
|
|
|
|
-- Language support
|
|
use "tpope/vim-rails" -- Enables all rails command through vim and integrates with projectionist
|
|
use "c-brenn/phoenix.vim" -- Similar to vim-rails, but for phoenix
|
|
use "tpope/vim-salve" -- Clojure integration with projectionist
|
|
use "tpope/vim-fireplace" -- Clojure REPL and integration
|
|
use "vimwiki/vimwiki" -- Vimwiki - personal wiki in vim
|
|
use "esensar/vimwiki-reviews-lua" -- Vimwiki extension for periodic reviews
|
|
use "ledger/vim-ledger" -- Support for ledger-cli format
|
|
use "tandrewnichols/vim-docile" -- Support for vim doc.txt format
|
|
use "habamax/vim-godot" -- Godot engine (and script) support
|
|
use "guns/vim-sexp" -- Precision editing for S-expressions
|
|
use("tpope/vim-sexp-mappings-for-regular-people") -- Simpler keymaps for vim-sexp
|
|
use "tridactyl/vim-tridactyl" -- Tridactyl config file support
|
|
use "aklt/plantuml-syntax" -- PlantUML support
|
|
|
|
-- Treesitter
|
|
use {
|
|
"nvim-treesitter/nvim-treesitter",
|
|
run = ":TSUpdate"
|
|
} -- Treesitter integration
|
|
use "nvim-treesitter/playground" -- TSPlaygroundToggle - access treesitter data
|
|
|
|
-- LSP
|
|
use "neovim/nvim-lspconfig" -- Easy LSP Config
|
|
use "alexaandru/nvim-lspupdate" -- Easy install and update for many LSP servers
|
|
use "hrsh7th/cmp-nvim-lsp" -- LSP source for cmp
|
|
use "hrsh7th/cmp-buffer" -- Buffer source for nvim-cmp
|
|
use "hrsh7th/cmp-path" -- Path source for nvim-cmp
|
|
use "hrsh7th/cmp-nvim-lua" -- Nvim-Lua source for nvim-cmp
|
|
use "quangnguyen30192/cmp-nvim-ultisnips" -- Ultisnips source for nvim-cmp
|
|
use "hrsh7th/nvim-cmp" -- completion integration
|
|
use "nvim-lua/lsp_extensions.nvim" -- LSP extensions (like closing labels for Dart)
|
|
|
|
-- LSP language specific
|
|
use "tjdevries/nlua.nvim" -- Built-in Lua integration with LSP
|
|
use "akinsho/flutter-tools.nvim" -- Additional flutter integrations
|
|
use "mfussenegger/nvim-jdtls" -- Additional java integrations
|
|
|
|
-- Lua support
|
|
use "tjdevries/astronauta.nvim" -- Support for lua ftplugins and plugins
|
|
use "nvim-lua/popup.nvim" -- Popup API integration - needed for some plugins
|
|
use "nvim-lua/plenary.nvim" -- Lua helpers
|
|
|
|
-- Telescope
|
|
use "nvim-telescope/telescope.nvim" -- Fuzzy searcher
|
|
use "nvim-telescope/telescope-dap.nvim" -- DAP integration for Telescope
|
|
end
|
|
}
|