summaryrefslogtreecommitdiff
path: root/.config/nvim/lua/plugins/hover.lua
blob: 936804125c1d0770279188a0f0c90c1495f0e25d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
return {
  "lewis6991/hover.nvim",
  config = function()
    local hover = require "hover"
    hover.config({
      --- List of modules names to load as providers.
      --- @type (string|Hover.Config.Provider)[]
      providers = {
        'hover.providers.diagnostic',
        'hover.providers.lsp',
        'hover.providers.dap',
        'hover.providers.man',
        'hover.providers.dictionary',
        -- Optional, disabled by default:
        -- 'hover.providers.gh',
        -- 'hover.providers.gh_user',
        -- 'hover.providers.jira',
        -- 'hover.providers.fold_preview',
        -- 'hover.providers.highlight',
      },
      preview_opts = {
        border = 'single'
      },
      -- Whether the contents of a currently open hover window should be moved
      -- to a :h preview-window when pressing the hover keymap.
      preview_window = false,
      title = true,
      mouse_providers = {
        'hover.providers.lsp',
      },
      mouse_delay = 1000
    })

    -- Setup keymaps
    vim.keymap.set('n', 'K', function()
      require('hover').open()
    end, { desc = 'hover.nvim (open)' })

    vim.keymap.set('n', 'gK', function()
      require('hover').enter()
    end, { desc = 'hover.nvim (enter)' })

    --vim.keymap.set('n', '<C-p>', function()
    --  require('hover').hover_switch('previous')
    --end, { desc = 'hover.nvim (previous source)' })

    --vim.keymap.set('n', '<C-n>', function()
    --  require('hover').hover_switch('next')
    --end, { desc = 'hover.nvim (next source)' })

    -- Mouse support
    --vim.keymap.set('n', '<MouseMove>', function()
    --  require('hover').mouse()
    --end, { desc = 'hover.nvim (mouse)' })

    vim.o.mousemoveevent = true
  end,
}