hover.nvim 项目教程
hover.nvimHover plugin framework for Neovim项目地址:https://gitcode.com/gh_mirrors/ho/hover.nvim
1. 项目的目录结构及介绍
hover.nvim 项目的目录结构如下:
hover.nvim/
├── lua/
│ └── hover/
│ ├── providers/
│ │ ├── lsp.lua
│ │ ├── gh.lua
│ │ ├── gh_user.lua
│ │ ├── jira.lua
│ │ ├── dap.lua
│ │ ├── fold_preview.lua
│ │ ├── diagnostic.lua
│ │ ├── man.lua
│ │ └── dictionary.lua
│ └── init.lua
├── LICENSE
├── README.md
目录结构介绍
lua/
: 包含项目的核心 Lua 脚本。hover/
: hover.nvim 的主要功能实现。providers/
: 包含各种提供者的实现,如 LSP、GitHub、Jira 等。init.lua
: 项目的初始化文件。
LICENSE
: 项目的许可证文件。README.md
: 项目的说明文档。
2. 项目的启动文件介绍
项目的启动文件是 lua/hover/init.lua
。这个文件负责初始化 hover.nvim 插件,并加载所需的提供者。
启动文件内容
require("hover").setup {
init = function()
-- Require providers
require("hover.providers.lsp")
-- require('hover.providers.gh')
-- require('hover.providers.gh_user')
-- require('hover.providers.jira')
-- require('hover.providers.dap')
-- require('hover.providers.fold_preview')
-- require('hover.providers.diagnostic')
-- require('hover.providers.man')
-- require('hover.providers.dictionary')
end,
preview_opts = {
border = 'single'
},
preview_window = false,
title = true,
mouse_providers = { 'LSP' },
mouse_delay = 1000
}
-- Setup keymaps
vim.keymap.set("n", "K", require("hover").hover, {desc = "hover.nvim"})
vim.keymap.set("n", "gK", require("hover").hover_select, {desc = "hover.nvim (select)"})
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>', require("hover").hover, {desc = "hover.nvim"})
3. 项目的配置文件介绍
hover.nvim 的配置通过 setup
函数进行。配置项包括:
init
: 初始化函数,用于加载所需的提供者。preview_opts
: 预览窗口的选项,如边框样式。preview_window
: 是否将当前打开的悬浮窗口内容移动到预览窗口。title
: 是否显示标题。mouse_providers
: 支持的鼠标悬浮提供者。mouse_delay
: 鼠标悬浮延迟时间。
配置示例
require("hover").setup {
init = function()
require("hover.providers.lsp")
end,
preview_opts = {
border = 'single'
},
preview_window = false,
title = true,
mouse_providers = { 'LSP' },
mouse_delay = 1000
}
通过以上配置,可以自定义 hover.nvim 的行为和外观。
hover.nvimHover plugin framework for Neovim项目地址:https://gitcode.com/gh_mirrors/ho/hover.nvim