]> git.r.bdr.sh - rbdr/dotfiles/blame - config/nvim/lua/plugins.lua
Use ts_ls
[rbdr/dotfiles] / config / nvim / lua / plugins.lua
CommitLineData
f1669e80 1local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim' if not vim.loop.fs_stat(lazypath) then
ce349909
RBR
2 vim.fn.system({
3 'git',
4 'clone',
5 '--filter=blob:none',
6 'https://github.com/folke/lazy.nvim.git',
7 '--branch=stable', -- latest stable release
8 lazypath,
9 })
10end
11vim.opt.rtp:prepend(lazypath)
12
13require('lazy').setup({
af913f93 14 {
f2b3146a 15 'ibhagwan/fzf-lua',
af913f93
RBR
16 config = function()
17 -- calling `setup` is optional for customization
f2b3146a 18 require('fzf-lua').setup({
af913f93
RBR
19 winopts={
20 width=1,
21 height=0.4,
22 row=1
23 },
24 fzf_opts={
25 ['--layout']='default'
26 },
27 fzf_colors = {
28 ['fg'] = {'fg', 'Normal'},
29 ['bg'] = {'bg', 'Normal'},
30 ['hl'] = {'fg', 'Comment'},
31 ['fg+'] = {'fg', 'CursorLine'},
32 ['bg+'] = {'bg', 'CursorLine'},
33 ['hl+'] = {'fg', 'Statement'},
34 ['info'] = {'fg', 'PreProc'},
35 ['prompt'] = {'fg', 'Conditional'},
36 ['pointer'] = {'fg', 'Exception'},
37 ['marker'] = {'fg', 'Keyword'},
38 ['spinner'] = {'fg', 'Label'},
39 ['header'] = {'fg', 'Comment'}
53d5c65e
RBR
40 },
41 previewers = {
42 builtin = {
43 extensions = {
f2b3146a
RBR
44 ['png'] = { 'chafa', '-f', 'symbols', '{file}' },
45 ['gif'] = { 'chafa', '-f', 'symbols', '{file}' },
46 ['svg'] = { 'chafa', '-f', 'symbols', '{file}' },
47 ['jpg'] = { 'chafa', '-f', 'symbols', '{file}' },
48 ['jpeg'] = { 'chafa', '-f', 'symbols', '{file}' }
53d5c65e
RBR
49 }
50 }
af913f93
RBR
51 }
52 })
53 end
54 },
ce349909
RBR
55
56 -- Syntaxes
ce349909 57 'ARM9/snes-syntax-vim',
ce349909 58 'https://git.sr.ht/~torresjrjr/gemini.vim',
f2b3146a 59 { 'folke/neodev.nvim', opts = {} },
ce349909 60
f2b3146a 61 --'Debugging
f1669e80
RBR
62 {
63 'mfussenegger/nvim-dap',
64 dependencies = {
65 'nvim-neotest/nvim-nio'
66 }
67 },
cf43e2c2 68 'rcarriga/nvim-dap-ui',
a51791d1 69 'mxsdev/nvim-dap-vscode-js',
cf43e2c2 70
ce349909 71 -- Editing
fd61b7b4 72 'ms-jpq/coq_nvim',
f2b3146a
RBR
73 'RRethy/nvim-treesitter-endwise',
74 {
75 'm4xshen/autoclose.nvim',
76 config = function()
77 require('autoclose').setup()
78 end
79 },
ce349909 80 'michaeljsmith/vim-indent-object',
6cb3a2cb 81 {
53d5c65e
RBR
82 'Pocco81/auto-save.nvim',
83 opts = {
84 condition = function(buf)
85 local fn = vim.fn
86 local utils = require('auto-save.utils.data')
87
88 if fn.getbufvar(buf, '&modifiable') == 1
89 and utils.not_in(fn.getbufvar(buf, '&filetype'), {'oil'}) then
90 return true
91 end
92 return false
93 end,
94 }
95 },
96 {
97 'danymat/neogen',
6cb3a2cb
RBR
98 config = true
99 },
ce349909 100
3c6ddc92
RBR
101 -- Treesitter
102 'nvim-treesitter/nvim-treesitter',
442118e6 103 'https://git.sr.ht/~rbdr/tree-sitter-api-notation',
3c6ddc92 104
73a2d994
RBR
105 -- LSP
106 'neovim/nvim-lspconfig',
107 'folke/neodev.nvim',
108
ce349909 109 -- Tools
f2b3146a 110 'mbbill/undotree',
ce349909
RBR
111 'vim-scripts/LargeFile',
112 'tpope/vim-fugitive',
6cb3a2cb 113 'milkypostman/vim-togglelist',
f2b3146a
RBR
114 {
115 'folke/which-key.nvim',
116 event = 'VeryLazy',
117 init = function()
118 vim.o.timeout = true
119 vim.o.timeoutlen = 300
120 end,
121 opts = {}
122 },
53d5c65e
RBR
123 { 'stevearc/oil.nvim', opts = {
124 keymaps = {
f2b3146a
RBR
125 ['<C-p>'] = false,
126 ['<C-S-p>'] = 'actions.preview'
53d5c65e
RBR
127 }
128 } },
6cb3a2cb 129
f1669e80
RBR
130 'https://git.sr.ht/~rbdr/nota.nvim',
131 'https://git.sr.ht/~rbdr/oleoboard.nvim',
ce349909 132})