]> git.r.bdr.sh - rbdr/dotfiles/blobdiff - config/nvim/lua/plugins.lua
Use ts_ls
[rbdr/dotfiles] / config / nvim / lua / plugins.lua
index 0a43a3e7caaf48ff891bf4a853490034a6ea7621..8ac276663c86184ca6cb06ffe8e5b19566dfd817 100644 (file)
@@ -1,5 +1,4 @@
-local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim'
-if not vim.loop.fs_stat(lazypath) then
+local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim' if not vim.loop.fs_stat(lazypath) then
   vim.fn.system({
     'git',
     'clone',
@@ -13,10 +12,10 @@ vim.opt.rtp:prepend(lazypath)
 
 require('lazy').setup({
   {
-    "ibhagwan/fzf-lua",
+    'ibhagwan/fzf-lua',
     config = function()
       -- calling `setup` is optional for customization
-      require("fzf-lua").setup({
+      require('fzf-lua').setup({
         winopts={
           width=1,
           height=0.4,
@@ -38,34 +37,96 @@ require('lazy').setup({
           ['marker'] = {'fg', 'Keyword'},
           ['spinner'] = {'fg', 'Label'},
           ['header'] = {'fg', 'Comment'}
+        },
+        previewers = {
+          builtin = {
+            extensions = {
+              ['png'] = { 'chafa', '-f', 'symbols', '{file}' },
+              ['gif'] = { 'chafa', '-f', 'symbols', '{file}' },
+              ['svg'] = { 'chafa', '-f', 'symbols', '{file}' },
+              ['jpg'] = { 'chafa', '-f', 'symbols', '{file}' },
+              ['jpeg'] = { 'chafa', '-f', 'symbols', '{file}' }
+            }
+          }
         }
       })
     end
   },
 
   -- Syntaxes
-  'https://git.sr.ht/~rbdr/api-notation.vim',
   'ARM9/snes-syntax-vim',
   'https://git.sr.ht/~torresjrjr/gemini.vim',
+  { 'folke/neodev.nvim', opts = {} },
 
-  -- Debugging
-  'mfussenegger/nvim-dap',
+  --'Debugging
+  {
+    'mfussenegger/nvim-dap',
+    dependencies = {
+      'nvim-neotest/nvim-nio'
+    }
+  },
   'rcarriga/nvim-dap-ui',
+  'mxsdev/nvim-dap-vscode-js',
 
   -- Editing
-  'tpope/vim-endwise',
-  'rstacruz/vim-closer',
+  'ms-jpq/coq_nvim',
+  'RRethy/nvim-treesitter-endwise',
+  {
+    'm4xshen/autoclose.nvim',
+    config = function()
+      require('autoclose').setup()
+    end
+  },
   'michaeljsmith/vim-indent-object',
+  {
+    'Pocco81/auto-save.nvim',
+    opts = {
+      condition = function(buf)
+        local fn = vim.fn
+        local utils = require('auto-save.utils.data')
+
+        if fn.getbufvar(buf, '&modifiable') == 1
+          and utils.not_in(fn.getbufvar(buf, '&filetype'), {'oil'}) then
+          return true
+        end
+        return false
+      end,
+    }
+  },
+  {
+    'danymat/neogen',
+    config = true
+  },
 
   -- Treesitter
   'nvim-treesitter/nvim-treesitter',
+  'https://git.sr.ht/~rbdr/tree-sitter-api-notation',
 
   -- LSP
   'neovim/nvim-lspconfig',
   'folke/neodev.nvim',
 
   -- Tools
+  'mbbill/undotree',
   'vim-scripts/LargeFile',
   'tpope/vim-fugitive',
-  'milkypostman/vim-togglelist'
+  'milkypostman/vim-togglelist',
+  {
+    'folke/which-key.nvim',
+    event = 'VeryLazy',
+    init = function()
+      vim.o.timeout = true
+      vim.o.timeoutlen = 300
+    end,
+    opts = {}
+  },
+  { 'stevearc/oil.nvim', opts = {
+    keymaps = {
+      ['<C-p>'] = false,
+      ['<C-S-p>'] = 'actions.preview'
+    }
+  } },
+
+  'https://git.sr.ht/~rbdr/nota.nvim',
+  'https://git.sr.ht/~rbdr/oleoboard.nvim',
 })