Blink.cmp v0.13.0 发布:纯 Lua 模式与多项优化
Blink.cmp 是一款基于 Neovim 的高性能补全插件,它通过 Rust 和 Lua 的混合实现提供了流畅的代码补全体验。最新发布的 v0.13.0 版本带来了多项重要改进,包括纯 Lua 模式支持、性能优化以及用户体验提升。
纯 Lua 模式支持
v0.13.0 版本最引人注目的特性是新增了纯 Lua 实现模式。这一特性允许用户在不需要 Rust 依赖的情况下使用 Blink.cmp,当 Rust 实现不可用时,插件会自动回退到 Lua 实现并发出警告。这种设计既保留了 Rust 实现的高性能优势,又提高了插件的兼容性和易用性。
纯 Lua 模式特别适合以下场景:
- 在不支持 Rust 的环境中部署
- 需要快速测试或评估插件功能
- 对性能要求不高但需要稳定性的场景
命令行补全行为优化
新版本对命令行补全的默认行为进行了调整,使其更符合 Neovim 内置命令行补全的预期。具体改进包括:
- 默认启用了与 noice.nvim 兼容的幽灵文本功能
- 优化了补全菜单的显示逻辑
- 改进了补全项的选择行为
这些改进使得命令行补全体验更加自然流畅,减少了用户需要手动配置的工作量。
性能优化与兼容性提升
v0.13.0 版本在多方面进行了性能优化:
-
多 LSP 性能优化:解决了当同时使用多个 LSP(特别是 tailwind 和 emmet)时补全速度变慢的问题。通过引入 LSP isIncomplete 缓存机制,显著提升了多语言服务器协同工作时的响应速度。
-
预构建二进制文件兼容性:现在预构建的二进制文件可以支持更老的系统,最低可兼容到 Ubuntu 14.04。这通过以下技术实现:
- 设置 glibc 最低版本为 2.21
- 使用 zig 工具链构建 glibc 2.27 版本
-
加载指示器:当获取补全内容耗时较长时,现在会显示加载指示器,改善了用户体验。
开发者体验改进
新版本为插件开发者提供了更多便利:
-
源开发支持:现在源可以定义 kind_icon、kind_hl 和 kind_name,为补全项提供更丰富的元数据。同时新增了编写自定义源的指南文档,降低了开发门槛。
-
API 扩展:新增了 get_selected_item_idx 和 get_items API,使开发者能够更灵活地获取当前选中的补全项和所有补全项信息。
-
幽灵文本配置:增加了 show_with_menu 和 show_without_menu 配置项,提供了对幽灵文本显示行为的更精细控制。
其他重要改进
- 跨平台支持:新增了对 Android 平台的支持,扩展了插件的使用场景。
- 文档优化:解决了文档生成过程中的问题,提高了文档质量。
- bug修复:修复了包括补全项缓存、命令行参数处理、插入文本编辑等多个问题。
总结
Blink.cmp v0.13.0 通过引入纯 Lua 模式、优化多 LSP 性能、改进命令行补全行为等多项改进,进一步提升了插件的稳定性、兼容性和用户体验。对于开发者而言,新增的 API 和源开发支持使得扩展插件功能更加便捷。这些改进使得 Blink.cmp 成为 Neovim 生态中更加强大和易用的代码补全解决方案。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0216- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
AntSK基于.Net9 + AntBlazor + SemanticKernel 和KernelMemory 打造的AI知识库/智能体,支持本地离线AI大模型。可以不联网离线运行。支持aspire观测应用数据CSS00