summary refs log tree commit diff
path: root/.config/nvim/lua/plugins
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--.config/nvim/lua/plugins/blink.lua (renamed from .vim/lua/internal/plugins/blink.lua)31
-rw-r--r--.config/nvim/lua/plugins/calcium.lua15
-rw-r--r--.config/nvim/lua/plugins/colorizer.lua (renamed from .vim/lua/internal/plugins/colorizer.lua)3
-rw-r--r--.config/nvim/lua/plugins/fzf.lua (renamed from .vim/lua/internal/plugins/fzf.lua)16
-rw-r--r--.config/nvim/lua/plugins/gentoo.lua15
-rw-r--r--.config/nvim/lua/plugins/git.lua (renamed from .vim/lua/internal/plugins/git.lua)11
-rw-r--r--.config/nvim/lua/plugins/icons.lua (renamed from .vim/lua/internal/plugins/icons.lua)0
-rw-r--r--.config/nvim/lua/plugins/indent.lua (renamed from .vim/lua/internal/plugins/indent.lua)2
-rw-r--r--.config/nvim/lua/plugins/lsp.lua6
-rw-r--r--.config/nvim/lua/plugins/markdown.lua82
-rw-r--r--.config/nvim/lua/plugins/mini.lua (renamed from .vim/lua/internal/plugins/mini.lua)0
-rw-r--r--.config/nvim/lua/plugins/oil.lua (renamed from .vim/lua/internal/plugins/oil.lua)0
-rw-r--r--.config/nvim/lua/plugins/snippets.lua13
-rw-r--r--.config/nvim/lua/plugins/treesitter.lua (renamed from .vim/lua/internal/plugins/treesitter.lua)43
-rw-r--r--.config/nvim/lua/plugins/whichkey.lua (renamed from .vim/lua/internal/plugins/whichkey.lua)0
15 files changed, 180 insertions, 57 deletions
diff --git a/.vim/lua/internal/plugins/blink.lua b/.config/nvim/lua/plugins/blink.lua
index 1d0e0ae..1122bcc 100644
--- a/.vim/lua/internal/plugins/blink.lua
+++ b/.config/nvim/lua/plugins/blink.lua
@@ -6,14 +6,7 @@ return {
     lazy = false,
 
     dependencies = {
-      {
-        'L3MON4D3/LuaSnip',
-        version = 'v2.*',
-        build = 'make install_jsregexp',
-        config = function()
-          require('internal.snippets')
-        end,
-      },
+      { 'L3MON4D3/LuaSnip' },
     },
 
     init = function()
@@ -26,11 +19,29 @@ return {
       hl(0, 'BlinkCmpLabelDescription', { link = 'Comment', force = true })
     end,
 
+    opts_extend = { 'sources.default' },
+
     opts = {
       -- TODO:
       -- 'prefer_rust_with_warning', requires nightly rust, due to:
       -- https://github.com/rust-lang/rust/issues/86656
-      fuzzy = { implementation = 'lua' },
+      fuzzy = { 
+        implementation = 'lua',
+        sorts = {
+          function(a, b)
+            local prio = {
+              snippets = 99,
+              -- everyting else 0
+            }
+            local a_priority = prio[a.source_id] or 0
+            local b_priority = prio[b.source_id] or 0
+            if a_priority ~= b_priority then return a_priority > b_priority end
+          end,
+          -- defaults
+          'score',
+          'sort_text'
+        },
+      },
 
       appearance = {
         -- fallback to cmp highlight names
@@ -42,7 +53,6 @@ return {
       sources = {
         providers = {
           buffer = { min_keyword_length = 3 },
-          snippets = { min_keyword_length = 3 },
         },
       },
 
@@ -80,6 +90,5 @@ return {
 
       snippets = { preset = 'luasnip' },
     },
-    opts_extend = { 'sources.default' },
   },
 }
diff --git a/.config/nvim/lua/plugins/calcium.lua b/.config/nvim/lua/plugins/calcium.lua
new file mode 100644
index 0000000..f0ab78c
--- /dev/null
+++ b/.config/nvim/lua/plugins/calcium.lua
@@ -0,0 +1,15 @@
+return {
+  {
+    'necrom4/calcium.nvim',
+    cmd = {'Calcium'},
+    opts = {
+      notifications = false,
+      default_mode = 'replace',
+    },
+    keys = {
+      { mode = {'n', 'v'}, 'gl', '<nop>', desc = 'Calcium' },
+      { mode = {'n', 'v'}, 'glr', ':Calcium replace<cr>', desc = 'Calcium replace', silent = true },
+      { mode = {'n', 'v'}, 'gla', ':Calcium append<cr>', desc = 'Calcium append', silent = true },
+    },
+  }
+}
diff --git a/.vim/lua/internal/plugins/colorizer.lua b/.config/nvim/lua/plugins/colorizer.lua
index cf55336..2608ae6 100644
--- a/.vim/lua/internal/plugins/colorizer.lua
+++ b/.config/nvim/lua/plugins/colorizer.lua
@@ -2,12 +2,11 @@ return {
   {
     'NvChad/nvim-colorizer.lua',
     -- 'norcalli/nvim-colorizer.lua',
-    -- events = { 'VeryLazy' },
     lazy = false,
     opts = {
       name = true,
       RRGGBB = true,
-      RRGGBBAA = false,
+      RRGGBBAA = true,
       rgb_fn = true,
       hsl_fn = true,
       mode = 'background',
diff --git a/.vim/lua/internal/plugins/fzf.lua b/.config/nvim/lua/plugins/fzf.lua
index e8c0a9c..efee6ef 100644
--- a/.vim/lua/internal/plugins/fzf.lua
+++ b/.config/nvim/lua/plugins/fzf.lua
@@ -28,11 +28,19 @@ return {
             ['ctrl-p'] = 'up',
           },
         },
+        -- actions = {
+        --   files = {
+        --     ['ctrl-q'] = { fn = fzf.actions.file_sel_to_qf },
+        --   },
+        -- },
         fzf_colors = true,
         -- PICKER CONFIG
         files = {
           file_icons = true,
         },
+        marks = {
+          marks = '[a-zA-Z]',
+        }
       })
     end,
     keys = {
@@ -41,8 +49,12 @@ return {
       { mode = 'n', ';b', '<cmd>FzfLua buffers<cr>', desc = 'fzf: buffers' },
       { mode = 'n', ';f', '<cmd>FzfLua files<cr>', desc = 'fzf: find_files' },
       { mode = 'n', ';g', '<cmd>FzfLua live_grep<cr>', desc = 'fzf: live_grep' },
-      { mode = 'n', ';d', '<cmd>FzfLua diagnostics_workspace<cr>', desc = 'fzf: diagnostics' },
-      { mode = 'n', ';h', '<cmd>FzfLua helptags<cr>', desc = 'fzf: diagnostics' },
+      { mode = 'n', ';d', '<cmd>FzfLua diagnostics_workspace<cr>', desc = 'fzf: workspace diagnostics' },
+      { mode = 'n', ';D', '<cmd>FzfLua diagnostics_document<cr>', desc = 'fzf: document diagnostics' },
+      { mode = 'n', ';h', '<cmd>FzfLua helptags<cr>', desc = 'fzf: help' },
+      { mode = 'n', ';s', '<cmd>FzfLua lsp_document_symbols<cr>', desc = 'fzf: document symbols' },
+      { mode = 'n', ';w', '<cmd>FzfLua lsp_live_workspace_symbols<cr>', desc = 'fzf: workspace symbols' },
+      { mode = 'n', ';m', '<cmd>FzfLua marks<cr>', desc = 'fzf: marks' },
       {
         mode = 'n',
         ';v',
diff --git a/.config/nvim/lua/plugins/gentoo.lua b/.config/nvim/lua/plugins/gentoo.lua
new file mode 100644
index 0000000..470e6de
--- /dev/null
+++ b/.config/nvim/lua/plugins/gentoo.lua
@@ -0,0 +1,15 @@
+return {
+  {
+    'gentoo/gentoo-syntax',
+    -- ft = { 'ebuild' },
+    -- init = function()
+    --   vim.api.nvim_create_autocmd('LspAttach', {
+    --     callback = function(args)
+    --       if vim.opt.filetype == 'ebuild' then
+    --         vim.lsp.stop_client(vim.lsp.get_clients({ bufnr = args.bufnr }))
+    --       end
+    --     end,
+    --   })
+    -- end,
+  },
+}
diff --git a/.vim/lua/internal/plugins/git.lua b/.config/nvim/lua/plugins/git.lua
index 056cc14..2561ad9 100644
--- a/.vim/lua/internal/plugins/git.lua
+++ b/.config/nvim/lua/plugins/git.lua
@@ -3,10 +3,7 @@ return {
     'lewis6991/gitsigns.nvim',
     lazy = false,
     opts = {
-      signs = {
-        change = { text = '▋' },
-        add = { text = '▋' },
-      },
+      debug_mode = false,
     },
     keys = {
       {
@@ -31,8 +28,12 @@ return {
         end,
         desc = 'Gitsigns: prev hunk',
       },
+      { '<leader>g', '<nop>', desc = 'git' },
+      { '<leader>g<space>', '<cmd>Gitsigns<cr>', desc = 'Gitsigns: select action' },
       { '<leader>gb', '<cmd>Gitsigns blame<cr>', desc = 'Gitsigns: blame' },
-      { '<leader>gs', '<cmd>Gitsigns<cr>', desc = 'Gitsigns: select action' },
+      { '<leader>ga', '<cmd>Gitsigns stage_hunk<cr>', desc = 'Gitsigns: stage hunk' },
+      { '<leader>ga', ':Gitsigns stage_hunk<cr>', desc = 'Gitsigns: stage hunk', mode = 'x' },
+      { '<leader>gd', ':Gitsigns diffthis<cr>', desc = 'Gitsigns: diff' },
       {
         ';c',
         function()
diff --git a/.vim/lua/internal/plugins/icons.lua b/.config/nvim/lua/plugins/icons.lua
index 9a597ab..9a597ab 100644
--- a/.vim/lua/internal/plugins/icons.lua
+++ b/.config/nvim/lua/plugins/icons.lua
diff --git a/.vim/lua/internal/plugins/indent.lua b/.config/nvim/lua/plugins/indent.lua
index a27a328..e247c5a 100644
--- a/.vim/lua/internal/plugins/indent.lua
+++ b/.config/nvim/lua/plugins/indent.lua
@@ -12,11 +12,13 @@ return {
         enabled = true,
         show_start = false,
         show_end = false,
+        char = '▌',
       },
     },
   },
   -- detect indent from the buffer contents
   {
+    enabled = false,
     'NMAC427/guess-indent.nvim',
     lazy = false,
     opts = {
diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua
new file mode 100644
index 0000000..aebf3c4
--- /dev/null
+++ b/.config/nvim/lua/plugins/lsp.lua
@@ -0,0 +1,6 @@
+return {
+  {
+    'neovim/nvim-lspconfig',
+    version = '^2.0',
+  }
+}
diff --git a/.config/nvim/lua/plugins/markdown.lua b/.config/nvim/lua/plugins/markdown.lua
new file mode 100644
index 0000000..b21255e
--- /dev/null
+++ b/.config/nvim/lua/plugins/markdown.lua
@@ -0,0 +1,82 @@
+return {
+  {
+    -- handy markdown commands
+    'tadmccorkle/markdown.nvim',
+    ft = { 'markdown' },
+    opts = {
+      mappings = false,
+      on_attach = function(buf)
+        local set = function(mode, lhs, rhs, desc)
+          vim.keymap.set(mode, lhs, rhs, { buffer = buf, desc = 'Markdown: ' .. desc })
+        end
+        set('n', 'nio', '<cmd>MDListItemBelow<cr>', 'Insert list item below')
+        set('n', 'niO', '<cmd>MDListItemAbove<cr>', 'Insert list item above')
+        set({ 'n', 'v', 'x', 'i' }, '<m-x>', '<cmd>MDTaskToggle<cr>', 'Toggle task')
+        set('x', '<m-l>', '<esc>gv<plug>(markdown_add_link_visual)', 'Make link')
+      end,
+    },
+  },
+  {
+    -- pretty markdown
+    'MeanderingProgrammer/markdown.nvim',
+    name = 'render-markdown', -- needed if used together with markdown.nvim above
+    main = 'render-markdown',
+    dependencies = {
+      'nvim-treesitter/nvim-treesitter',
+      'echasnovski/mini.icons',
+    },
+    ft = { 'markdown' },
+    opts = {
+      completions = { blink = { enabled = true } },
+      sign = { enabled = true },
+      indent = { enabled = false },
+      heading = {
+        width = 'block',
+        icons = {
+          '▒ ',
+          '▒▒ ',
+          '▒▒▒ ',
+          '▒▒▒▒ ',
+          '▒▒▒▒▒ ',
+          '▒▒▒▒▒▒ ',
+        },
+        signs = { 'ⅰ', 'ⅱ', 'ⅲ', 'ⅳ', 'ⅴ', 'ⅵ' },
+        backgrounds = {},
+        foregrounds = {},
+      },
+      bullet = {
+        icons = { '* ', '-', '>' },
+      },
+      checkbox = {
+        checked = { icon = '  󰄲 ' },
+        unchecked = { icon = '  󰄱 ' },
+        custom = {
+          todo = { raw = '[-]', rendered = '  󰔟 ', highlight = 'RenderMarkdownTodo' },
+        },
+      },
+      code = {
+        width = 'block',
+        border = 'thin',
+        disable_background = true,
+      },
+    },
+    init = vim.schedule_wrap(function()
+      local hl = vim.api.nvim_set_hl
+      hl(0, '@markup.bold', { link = 'markdownBold', force = true })
+      hl(0, '@markup.italic', { link = 'markdownItalic', force = true })
+
+      -- hl(0, 'RenderMarkdownH1', { fg = 'NvimLightCyan' })
+      -- hl(0, 'RenderMarkdownH1Bg', { bg = 'NvimDarkCyan' })
+      -- hl(0, 'RenderMarkdownH2', { fg = 'NvimLightMagenta' })
+      -- hl(0, 'RenderMarkdownH2Bg', { bg = 'NvimDarkMagenta' })
+      -- hl(0, 'RenderMarkdownH3', { fg = 'NvimLightYellow' })
+      -- hl(0, 'RenderMarkdownH3Bg', { bg = 'NvimDarkYellow' })
+      -- hl(0, 'RenderMarkdownH4', { fg = 'NvimLightBlue' })
+      -- hl(0, 'RenderMarkdownH4Bg', { bg = 'NvimDarkBlue' })
+      -- hl(0, 'RenderMarkdownH5', { fg = 'NvimLightRed' })
+      -- hl(0, 'RenderMarkdownH5Bg', { bg = 'NvimDarkRed' })
+
+      hl(0, 'RenderMarkdownBullet', { link = '@markup.list', force = true })
+    end),
+  },
+}
diff --git a/.vim/lua/internal/plugins/mini.lua b/.config/nvim/lua/plugins/mini.lua
index fb4c9a6..fb4c9a6 100644
--- a/.vim/lua/internal/plugins/mini.lua
+++ b/.config/nvim/lua/plugins/mini.lua
diff --git a/.vim/lua/internal/plugins/oil.lua b/.config/nvim/lua/plugins/oil.lua
index 401fe8b..401fe8b 100644
--- a/.vim/lua/internal/plugins/oil.lua
+++ b/.config/nvim/lua/plugins/oil.lua
diff --git a/.config/nvim/lua/plugins/snippets.lua b/.config/nvim/lua/plugins/snippets.lua
new file mode 100644
index 0000000..97a4455
--- /dev/null
+++ b/.config/nvim/lua/plugins/snippets.lua
@@ -0,0 +1,13 @@
+return {
+  {
+    'L3MON4D3/LuaSnip',
+    version = 'v2.*',
+    build = 'make install_jsregexp',
+    config = function()
+      require('config.snippets')
+    end,
+    dependencies = {
+      "rafamadriz/friendly-snippets",
+    },
+  }
+}
diff --git a/.vim/lua/internal/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua
index b8b1d56..93f396d 100644
--- a/.vim/lua/internal/plugins/treesitter.lua
+++ b/.config/nvim/lua/plugins/treesitter.lua
@@ -1,41 +1,24 @@
 return {
   {
     'nvim-treesitter/nvim-treesitter',
+    branch = 'master',
     dependencies = {
-      -- TODO: https://github.com/nvim-treesitter/nvim-treesitter-context
       { 'nvim-treesitter/nvim-treesitter-refactor', lazy = false },
       { 'nvim-treesitter/nvim-treesitter-textobjects', lazy = false },
-      { 'nvim-treesitter/playground', cmd = { 'TSPlayground' } },
+      -- { 'nvim-treesitter/playground', cmd = { 'TSPlayground' } },
     },
     lazy = false,
     build = ':TSUpdate',
     config = function(_, opts)
-      -- TODO: overwrite parser configs, insert gotmpl
-
       require('nvim-treesitter.configs').setup(opts)
 
       -- use bash parser for gentoo ebuilds
       vim.treesitter.language.register('bash', 'ebuild')
-
-      -- register mediawiki parser
-      -- local parser_configs = require('nvim-treesitter.parsers').get_parser_configs()
-      -- parser_configs.mediawiki = {
-      --   install_info = {
-      --     url = 'github.com/Ordoviz/tree-sitter-mediawiki',
-      --     files = { 'src/parser.c' },
-      --     branch = 'main',
-      --     generate_requires_npm = false,
-      --     requires_generate_from_grammar = false,
-      --   },
-      --   filetype = 'mediawiki',
-      -- }
     end,
     opts = {
       ensure_installed = {
         'bash',
-        'bibtex',
         'c',
-        'c_sharp',
         'cmake',
         'comment',
         'cpp',
@@ -45,37 +28,28 @@ return {
         'gomod',
         'gotmpl',
         'gowork',
-        'hare',
-        'hcl',
         'html',
-        'java',
         'javascript',
         'json',
         'jsonc',
-        'kotlin',
-        'latex',
-        'ledger',
         'lua',
         'make',
         'markdown',
         'markdown_inline',
         'ninja',
-        'norg',
         'python',
-        'query',
         'regex',
         'rust',
         'scss',
         'sql',
+        'todotxt',
         'toml',
         'typescript',
+        'typst',
         'vim',
         'vimdoc',
         'yaml',
         'zig',
-
-        -- external parsers
-        -- 'mediawiki', -- TODO: missing queries
       },
       highlight = {
         enable = true,
@@ -87,15 +61,9 @@ return {
       refactor = {
         navigation = {
           enable = true,
-          keymaps = {
-            goto_definition = 'gd',
-          },
         },
         smart_rename = {
           enable = true,
-          keymaps = {
-            smart_rename = 'grr',
-          },
         },
       },
       textobjects = {
@@ -112,7 +80,8 @@ return {
             ['al'] = '@loop.outer',
             ['is'] = '@scopename.inner',
             ['as'] = '@scopename.outer',
-            ['ic'] = '@comment.outer',
+            ['ic'] = '@comment.inner',
+            ['ac'] = '@comment.outer',
           },
           selection_mode = {
             ['@comment.outer'] = 'V',
diff --git a/.vim/lua/internal/plugins/whichkey.lua b/.config/nvim/lua/plugins/whichkey.lua
index dc21eda..dc21eda 100644
--- a/.vim/lua/internal/plugins/whichkey.lua
+++ b/.config/nvim/lua/plugins/whichkey.lua