dots-of-war/nvim/.config/nvim/fnl/dots/plugins.fnl
2021-10-08 14:20:26 +02:00

239 lines
8.4 KiB
Fennel

(module dots.plugins
{autoload {a aniseed.core
packer packer}
require-macros [macros]})
(defn [use stuff rest]
(use (a.assoc rest 1 stuff)))
(defn- safe-require-plugin-config [name]
(let [(ok? val-or-err) (pcall require (.. "dots.plugins." name))]
(when (not ok?)
(print (.. "Plugin config error: " val-or-err)))))
(defn use [...]
(let [pkgs [...]]
(packer.startup
(fn [use]
(for [i 1 (a.count pkgs) 2]
(let [name (. pkgs i)
opts (. pkgs (+ i 1))]
(-?> (. opts :mod) (safe-require-plugin-config))
(use (a.assoc opts 1 name))))))))
(use
:elkowar/yuck.vim {}
:nvim-lua/plenary.nvim {}
:elkowar/antifennel-nvim {:opt false :config #(set vim.g.antifennel_executable "/home/leon/tmp/antifennel/antifennel")}
:elkowar/kmonad.vim {}
:ruanyl/vim-gh-line {}
:rhysd/conflict-marker.vim {}
:wellle/visual-split.vim {}
:sindrets/diffview.nvim {}
:folke/persistence.nvim {:opt false :config #(require "dots.plugins.persistence")}
:folke/zen-mode.nvim {:cmd ["ZenMode"]
:opt false :config #(require "dots.plugins.zen-mode")}
:folke/twilight.nvim {:opt false :config #(require "dots.plugins.twilight")}
:TimUntersberger/neogit {:opt false :config #(require "dots.plugins.neogit")
:cmd ["Neogit"]}
:lifepillar/vim-gruvbox8 {:opt false
:config
#(do (set vim.g.gruvbox_italics 0)
(set vim.g.gruvbox_italicise_strings 0)
(set vim.g.gruvbox_filetype_hi_groups 1)
(set vim.g.gruvbox_plugin_hi_groups 1)
(vim.cmd "colorscheme gruvbox8")
((. (require :dots.utils) :highlight) :SignColumn {:bg (. (require :dots.colors) :dark0)}))}
;(req dots.utils.highlight :SignColumn {:bg (. (require :dots.colors) :dark0)}))}
;(req dots.utils.highlight :LspDiagnosticsUnderlineError {:gui "underline"}))}
:nvim-telescope/telescope.nvim {:opt false :config #(require "dots.plugins.telescope")
:cmd ["Telescope"]
:requires [:nvim-lua/popup.nvim
:nvim-lua/plenary.nvim]}
:nvim-telescope/telescope-packer.nvim {}
:nvim-telescope/telescope-frecency.nvim {:requires [:tami5/sql.nvim]
:opt false}
;:opt false :config #((. (require :telescope) :load_extension) "frecency")}
:kyazdani42/nvim-web-devicons {}
:nvim-treesitter/nvim-treesitter {:opt false :config #(require "dots.plugins.treesitter")
:event ["BufEnter"]
:run ":TSUpdate"}
:JoosepAlviste/nvim-ts-context-commentstring {:event ["BufEnter"]
:requires [:nvim-treesitter/nvim-treesitter]}
:nvim-treesitter/playground {:event ["BufEnter"]
:requires [:nvim-treesitter/nvim-treesitter]}
:jiangmiao/auto-pairs {}
:folke/which-key.nvim {}
:Olical/aniseed {:branch "develop"}
:norcalli/nvim.lua {}
:Famiu/feline.nvim {:opt false :config #(require "dots.plugins.feline")}
:akinsho/nvim-bufferline.lua {:opt false :config #(require "dots.plugins.bufferline")}
:sindrets/diffview.nvim {:cmd ["DiffviewOpen" "DiffviewToggleFiles"]
:opt false :config #(require "dots.plugins.diffview")}
:tweekmonster/startuptime.vim {:cmd ["StartupTime"]}
:tpope/vim-repeat {}
:lewis6991/gitsigns.nvim {:after ["vim-gruvbox8"]
:opt false :config #(require "dots.plugins.gitsigns")}
:tpope/vim-fugitive {}
:preservim/nerdcommenter {}
:godlygeek/tabular {:cmd ["Tabularize"]} ; :Tab /regex can align code on occurrences of the given regex. I.e. :Tab /= aligns all = signs in a block.
:tpope/vim-surround {}
:nathanaelkane/vim-indent-guides {} ; Can be toggled using <leader>ig (intent-guides)
; <C-n> to select current word. <C-n> to select next occurrence.
; with multiple lines selected in Visual mode, <C-n> to insert cursor in each line. I not i to insert in Visual-mode.
:terryma/vim-multiple-cursors {}
:mg979/vim-visual-multi {}
:hauleth/sad.vim {} ; Use siw instead of ciw. when using . afterwards, will find the next occurrence of the changed word and change it too
:wellle/targets.vim {} ; more text objects. IE: cin (change in next parens). generally better handling of surrounding objects.
; ( use :iamcco/markdown-preview.nvim {:run vim.fn.mkdp#util#install})
:rcarriga/nvim-dap-ui {:opt false
:opt false :config #((. (require :dapui) :setup))
;:opt false :config #(req dapui.setup)
:requires [:mfussenegger/nvim-dap]}
:mfussenegger/nvim-dap {:opt false}
;:opt false :config #(require "dots.plugins.nvim-dap")}
:nvim-telescope/telescope-dap.nvim {:opt false
:requires [:mfussenegger/nvim-dap
:nvim-telescope/telescope.nvim]}
; code-related ----------------------------------------- <<<
:ray-x/lsp_signature.nvim {:events [:BufEnter]}
"/home/leon/coding/prs/trouble.nvim" {:opt false :config #(require "dots.plugins.trouble")
:cmd ["Trouble" "TroubleClose" "TroubleRefresh" "TroubleToggle"]}
;:folke/lsp-trouble.nvim {:opt false :config #(require "dots.plugins.trouble")
;:cmd ["Trouble" "TroubleClose" "TroubleRefresh" "TroubleToggle"]}
:simrat39/symbols-outline.nvim {:opt false :config #(require "dots.plugins.symbols-outline")}
:neovim/nvim-lspconfig {}
;:ms-jpq/coq_nvim {:opt false :config #(require "dots.plugins.coq-nvim")
;:branch "coq"
;:ms-jpq/coq.artifacts {:branch "artifacts"}
:hrsh7th/vim-vsnip {}
:hrsh7th/cmp-vsnip {}
:hrsh7th/cmp-nvim-lsp {}
:hrsh7th/cmp-buffer {}
:hrsh7th/nvim-cmp {:opt false
:requires [:hrsh7th/cmp-nvim-lsp
:hrsh7th/cmp-buffer
:hrsh7th/cmp-vsnip]
:config #(require "dots.plugins.cmp")}
:tami5/lspsaga.nvim {:after "vim-gruvbox8"
:opt false
:commit "373bc031b39730cbfe492533c3acfac36007899a"
:config #(require "dots.plugins.lspsaga")}
:sbdchd/neoformat {}
;; --------------------
:Olical/conjure {}
:ciaranm/detectindent {:opt false :config #(require "dots.plugins.detect-indent")}
:pechorin/any-jump.vim {}
:justinmk/vim-sneak {:opt false :config #(require "dots.plugins.sneak")}
:psliwka/vim-smoothie {}
:editorconfig/editorconfig-vim {}
:tommcdo/vim-exchange {}
:eraserhd/parinfer-rust {:run "cargo build --release"}
:bduggan/vim-raku {:ft ["raku"]}
:LnL7/vim-nix {:ft ["nix"]}
:kevinoid/vim-jsonc {}
:norcalli/nvim-colorizer.lua {:opt false :config #(require "dots.plugins.nvim-colorizer")}
:pangloss/vim-javascript {} ; syntax highlighting JS
:ianks/vim-tsx {}
:leafgarland/typescript-vim {}
:HerringtonDarkholme/yats.vim {} ; typescript syntax highlighting
:mxw/vim-jsx {}
:mattn/emmet-vim {:opt false :config #(require "dots.plugins.emmet")}
:purescript-contrib/purescript-vim {}
:derekelkins/agda-vim {:ft ["agda"]}
:neovimhaskell/haskell-vim { :ft ["haskell"]}
:rust-lang/rust.vim {:ft ["rust"]
:requires ["mattn/webapi-vim"]
:opt false :config #(do (set vim.g.rustfmt_fail_silently 1))}
:simrat39/rust-tools.nvim {:requires ["nvim-lua/popup.nvim" "nvim-lua/plenary.nvim"]}
:Saecki/crates.nvim {:requires ["nvim-lua/plenary.nvim"]
:event ["BufRead Cargo.toml"]
:opt false :config #((. (require "crates") :setup))}
:qnighy/lalrpop.vim {}
:edwinb/idris2-vim {:ft ["idris2"]}
:vmchale/ats-vim {:ft ["ats" "dats" "sats"]}
:google/vim-jsonnet {}
:bakpakin/fennel.vim {}
:evanleck/vim-svelte {})
; >>>
; vim:foldmarker=<<<,>>>