Files
dotfiles/nvim/.config/nvim/fnl/dotfiles/plugins.fnl
2022-10-03 11:24:13 -05:00

125 lines
5.1 KiB
Fennel

(module dotfiles.plugins
{autoload {nvim aniseed.nvim
a aniseed.core
;; util dotfiles.util
packer packer}
;; require {minpac minpac}
})
(defn safe-require-plugin-config [name]
(let [(ok? val-or-err) (pcall require (.. :dotfiles.plugin. name))]
(when (not ok?)
(print (.. "dotfiles error: " val-or-err)))))
(defn- use [pkgs]
"Iterates through the arguments as pairs and calls packer's use function for
each of them. Works around Fennel not liking mixed associative and sequential
tables as well."
(packer.startup
(fn [use]
(each [name opts (pairs pkgs)]
(-?> (. opts :mod) (safe-require-plugin-config))
(use (a.assoc opts 1 name))
))))
(def- packages
{
:Olical/aniseed {}
:Olical/conjure { :mod :conjure } ; Clojure
:Olical/fennel.vim {} ; Fennel
:airblade/vim-gitgutter {} ; Git
:airblade/vim-gitgutter {} ; Git
:clojure-vim/vim-jack-in {} ; Conjure support - jack-in with nrepl dependencies
:dhruvasagar/vim-table-mode {} ; table creation and formatting
:folke/lsp-colors.nvim {}
:hashivim/vim-terraform {} ; Terraform
:hrsh7th/nvim-cmp {:requires [:hrsh7th/cmp-buffer
:hrsh7th/cmp-emoji
:hrsh7th/cmp-nvim-lsp
:hrsh7th/cmp-nvim-lua
:hrsh7th/cmp-vsnip
:hrsh7th/vim-vsnip-integ
:PaterJason/cmp-conjure]
:mod :cmp} ; autocomplete
:hrsh7th/vim-vsnip {}
:hrsh7th/vim-vsnip-integ {}
:Iron-E/nvim-soluarized {}
:jiangmiao/auto-pairs {} ; backets, parens, and quotes in pairs
:junegunn/vim-easy-align {:mod :easyalign}
:kovisoft/paredit {}
:kristijanhusak/vim-dadbod-completion {}
:kristijanhusak/vim-dadbod-ui {}
:neovim/nvim-lspconfig {:mod :lspconfig} ; NeoVim lsp config
:norcalli/nvim-colorizer.lua {:mod :colorizer}
:nvim-orgmode/orgmode { :mod :orgmode }
:nvim-telescope/telescope.nvim {:requires [[:nvim-lua/popup.nvim] [:nvim-lua/plenary.nvim]] :mod :telescope}
:nvim-treesitter/nvim-treesitter {:run ":TSUpdate" :mod :treesitter}
:p00f/nvim-ts-rainbow {}
:radenling/vim-dispatch-neovim {} ; Clojure
:skywind3000/asyncrun.vim {} ; :AsyncRun
:tpope/vim-classpath {}
:tpope/vim-dadbod {}
:tpope/vim-dispatch {} ; Conjure support - jack-in with nrepl dependencies
:tpope/vim-fugitive {} ; Git
:tpope/vim-git {} ; Git Commit Message
:tpope/vim-pathogen {}
:tpope/vim-rails {}
:tpope/vim-repeat {}
:tpope/vim-surround {}
:tpope/vim-unimpaired {}
:tpope/vim-vinegar {}
:wbthomason/packer.nvim {:mod :packer}
:williamboman/nvim-lsp-installer {} ; NeoVim lsp server installs
; :luochen1990/rainbow {}
; :thecontinium/asyncomplete-conjure.vim {}
}
; :tpope/vim-fireplace {} ; Clojure
; :tpope/vim-sexp-mappings-for-regular-people {}
)
(use packages)
;; call minpac#add('dense-analysis/ale') " Linting
;; call minpac#add('editorconfig/editorconfig-vim')
;; call minpac#add('elixir-lang/vim-elixir') " Elixir
;; call minpac#add('ElmCast/elm-vim') " Elm
;; call minpac#add('jgdavey/tslime.vim', {'branch': 'main'}) " Send to Tmux
;; call minpac#add('leafgarland/typescript-vim') " TypeScript
;; call minpac#add('idris-hackers/idris-vim') " Idris
;; call minpac#add('mxw/vim-jsx') " React JSX support
;; call minpac#add('neomake/neomake') " Linting/Make
;; call minpac#add('nvie/vim-flake8') " Python
;; call minpac#add('pangloss/vim-javascript') " JavaScript
;; call minpac#add('prabirshrestha/async.vim') " Vim/NeoVim async normalization
;; call minpac#add('prabirshrestha/asyncomplete.vim') " Language Server Protocol
;; call minpac#add('raichoo/purescript-vim') " PureScript
;; call minpac#add('reasonml-editor/vim-reason') " ReasonML
;; call minpac#add('thoughtbot/vim-rspec')
;; call minpac#add('vim-erlang/erlang-motions.vim') " Erlang
;; call minpac#add('vim-erlang/vim-erlang-runtime') " Erlang
;; call minpac#add('vim-erlang/vim-erlang-compiler') " Erlang
;; call minpac#add('vim-erlang/vim-erlang-omnicomplete') " Erlang
;; call minpac#add('vim-erlang/vim-erlang-tags') " Erlang
;; call minpac#add('vim-erlang/vim-erlang-skeletons') " Erlang
;; call minpac#add('vim-ruby/vim-ruby') " Ruby
;; call minpac#add('vim-syntastic/syntastic')
;; call minpac#add('vim-jp/syntax-vim-ex')
;; call minpac#add('tsandall/vim-rego') " Rego
;;
;; " call minpac#add('guns/vim-clojure-static') " Clojure
;; "" call minpac#add('guns/vim-sexp') " Lisps
;; " call minpac#add('ncm2/float-preview.nvim') " autocomplete with preview
;; " call minpac#add('Shougo/deoplete.nvim') " async completion
;; " call minpac#add('prabirshrestha/vim-lsp') " Language Server Protocol
;; " call minpac#add('rhysd/vim-lsp-ale') " vim-lsp + ALE
;; " call minpac#add('mattn/vim-lsp-settings') " Generic LSP Server install and settings for all languages
;; " call minpac#add('prabirshrestha/asyncomplete-lsp.vim') " Language Server Protocol
;; " call minpac#add('prabirshrestha/vim-lsp') " Language Server Protocol
;; " call minpac#add('rhysd/vim-lsp-ale') " vim-lsp + ALE