]> git.r.bdr.sh - rbdr/dotfiles/blob - config/nvim/lua/plugins.lua
Use ts_ls
[rbdr/dotfiles] / config / nvim / lua / plugins.lua
1 local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim' if not vim.loop.fs_stat(lazypath) then
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 })
10 end
11 vim.opt.rtp:prepend(lazypath)
12
13 require('lazy').setup({
14 {
15 'ibhagwan/fzf-lua',
16 config = function()
17 -- calling `setup` is optional for customization
18 require('fzf-lua').setup({
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'}
40 },
41 previewers = {
42 builtin = {
43 extensions = {
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}' }
49 }
50 }
51 }
52 })
53 end
54 },
55
56 -- Syntaxes
57 'ARM9/snes-syntax-vim',
58 'https://git.sr.ht/~torresjrjr/gemini.vim',
59 { 'folke/neodev.nvim', opts = {} },
60
61 --'Debugging
62 {
63 'mfussenegger/nvim-dap',
64 dependencies = {
65 'nvim-neotest/nvim-nio'
66 }
67 },
68 'rcarriga/nvim-dap-ui',
69 'mxsdev/nvim-dap-vscode-js',
70
71 -- Editing
72 'ms-jpq/coq_nvim',
73 'RRethy/nvim-treesitter-endwise',
74 {
75 'm4xshen/autoclose.nvim',
76 config = function()
77 require('autoclose').setup()
78 end
79 },
80 'michaeljsmith/vim-indent-object',
81 {
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',
98 config = true
99 },
100
101 -- Treesitter
102 'nvim-treesitter/nvim-treesitter',
103 'https://git.sr.ht/~rbdr/tree-sitter-api-notation',
104
105 -- LSP
106 'neovim/nvim-lspconfig',
107 'folke/neodev.nvim',
108
109 -- Tools
110 'mbbill/undotree',
111 'vim-scripts/LargeFile',
112 'tpope/vim-fugitive',
113 'milkypostman/vim-togglelist',
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 },
123 { 'stevearc/oil.nvim', opts = {
124 keymaps = {
125 ['<C-p>'] = false,
126 ['<C-S-p>'] = 'actions.preview'
127 }
128 } },
129
130 'https://git.sr.ht/~rbdr/nota.nvim',
131 'https://git.sr.ht/~rbdr/oleoboard.nvim',
132 })