lsp-lens.nvim 项目教程
1. 项目的目录结构及介绍
lsp-lens.nvim/
├── LICENSE
├── README.md
├── lua/
│ └── lsp-lens/
│ ├── init.lua
│ └── ...
├── github/
│ └── workflows/
│ └── ...
├── stylua.toml
└── ...
- LICENSE: 项目的许可证文件。
- README.md: 项目的介绍和使用说明。
- lua/lsp-lens/: 包含项目的主要代码文件。
- init.lua: 项目的入口文件。
- github/workflows/: 包含GitHub Actions的工作流配置文件。
- stylua.toml: 代码格式化工具StyLua的配置文件。
2. 项目的启动文件介绍
项目的启动文件是 lua/lsp-lens/init.lua
。这个文件负责初始化和配置lsp-lens插件。以下是启动文件的主要内容:
require'lsp-lens'.setup({
enable = true,
include_declaration = false,
sections = {
definition = false,
references = true,
implements = true,
git_authors = true
},
ignore_filetype = { "prisma" },
target_symbol_kinds = {
SymbolKind.Function,
SymbolKind.Method,
SymbolKind.Interface
},
wrapper_symbol_kinds = {
SymbolKind.Class,
SymbolKind.Struct
}
})
3. 项目的配置文件介绍
项目的配置文件主要是 lua/lsp-lens/init.lua
中的 setup
函数。以下是默认配置的介绍:
require'lsp-lens'.setup({
enable = true,
include_declaration = false,
sections = {
definition = function(count) return "Definitions: " .. count end,
references = function(count) return "References: " .. count end,
implements = function(count) return "Implements: " .. count end,
git_authors = function(latest_author, count)
return " " .. latest_author .. (count - 1 == 0 and "" or (" + " .. count - 1))
end
},
ignore_filetype = { "prisma" },
target_symbol_kinds = {
SymbolKind.Function,
SymbolKind.Method,
SymbolKind.Interface
},
wrapper_symbol_kinds = {
SymbolKind.Class,
SymbolKind.Struct
}
})
- enable: 是否启用插件。
- include_declaration: 是否包含声明。
- sections: 定义各个部分的显示格式。
- ignore_filetype: 忽略的文件类型。
- target_symbol_kinds: 目标符号类型。
- wrapper_symbol_kinds: 包装符号类型。