Neovim 代码分析与导航插件——navigator.lua
1. 项目基础介绍及主要编程语言
navigator.lua
是一个为 Neovim 编辑器设计的代码分析与导航插件,旨在帮助开发者更高效地浏览和理解代码。该插件主要使用 Lua 编程语言开发,与 Neovim 的集成度高,能够提供流畅的代码导航体验。
2. 项目的核心功能
- 代码分析与导航:结合 LSP (Language Server Protocol) 和 Treesitter,提供强大的代码导航功能,包括查看诊断错误、函数和变量的关系分析等。
- 诊断错误管理:在 Neovim 中直接查看和管理诊断错误,提高代码质量。
- 异步请求:使用 LSP 的异步请求功能,提升性能,特别是对于大型文件。
- ** Treesitter 符号搜索**: Treesitter 提供的符号搜索功能,在大型文件中尤为有用。
- ** FZY 搜索**:支持使用 FZY 搜索,提供更快的搜索体验。
- 多符号高亮与跳转:在文档中高亮多个符号,并轻松跳转。
- 代码预览窗口:在预览窗口中编辑代码,提供更直观的代码修改体验。
3. 项目最近更新的功能
- 优化显示:移除尾随的括号和空格,改善代码显示效果。
- 显示调用者:在引用中显示调用者信息,增强代码理解。
- 去重 LSP 结果:对 LSP 结果进行去重,避免重复显示同一行的引用。
- 支持 Ccls 调用层次结构:添加对 Ccls 特定的调用层次结构的支持。
- 高级折叠功能:基于 Treesitter 和 LSP_fold 的自定义折叠算法,提供类似于 Visual Studio Code 的折叠体验。
- 可视闭合括号:确保闭合括号在代码折叠时仍然可见。
- 可折叠注释:允许折叠和展开注释部分。
- 折叠指示器:为折叠行显示指示器。
- 高亮折叠行:对折叠行应用语法高亮(支持 Neovim v0.10.x 及以上版本)。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考