25.01 版本更新说明:
功能
- Picker重构:进行了大规模重构,以改进Pickers的功能。
- 表格布局与列过滤:使用表格布局,并允许按列过滤。
- 动态查询全局搜索:重新实现
global_search
,允许动态更改查询。 - LSP诊断的替代“内联”显示:为LSP诊断添加了“内联”显示选项。
- 宏定义快捷键:支持将快捷键定义为宏。
- 自动续行注释:在插入模式下,在
o/O
和<ret>
时继续行注释。 - 运行时配置和切换剪贴板提供程序:允许在运行时配置和切换剪贴板提供程序。
- 路径补全支持:增加了对路径补全的支持。
- 超级键(Cmd/Win/Meta)修饰符支持:支持带有Super键修饰符的绑定。
- 片段补全中的跳转:支持渲染和在片段补全之间跳转。
- 目录补全的主题化:允许主题化目录补全。
命令
- 增加蛇形或驼峰单词内的移动命令:新增命令以便在正常和选择模式下使用
*
键移动,取代了原来的search_selection
,现在被移到A-*
。 - 搜索选择检测单词边界:新增
search_selection_detect_word_boundaries
命令。
可用性改进
- :edit 和 :e 别名:为
:open
添加了:edit
和:e
别名。 - 管道命令输出修剪:当输入没有尾随换行符时,从管道命令输出中修剪尾随换行符。
- :mv别名:为
:move
添加了:mv
别名。 - %特殊寄存器返回文档显示名称:从%特殊寄存器返回文档显示名称而不是绝对路径。
- 基于视图位置跟踪:根据视图而非文档来跟踪视图位置。
- 滚动偏移计算优化:改进了
scrolloff
计算,以在中间留出空白。 - 失败的:sh命令弹出stderr:对于失败的
:sh
命令,显示一个包含stderr的弹出窗口。 - 未选中时的状态栏错误提示:当使用
s
、K
、A-K
且未选择任何内容时,在状态栏显示错误。 - .svn作为工作区根标记:将
.svn
添加为工作区根标记。 - :sh输出修剪:修剪
:sh
命令输出的结尾。 - 状态栏显示LSP消息:在状态栏显示LSP窗口和
showMessage
消息。 - 通过.jj目录查找工作区目录:支持通过
.jj
目录查找工作区目录。 - 单行注释合并:使用
join_selections (J)
合并单行注释。 - 树状语法节点预览:在
:tree-sitter-subtree
中显示匿名语法树节点。 - 粘贴前保存撤销检查点:在插入模式下粘贴之前保存一个撤销检查点。
- 仅在ASCII空格处断行:在
:reflow
中仅在ASCII空格处断行。 - 默认粘贴寄存器配置选项:添加了
default-yank-register
配置选项。 - 格式化不可用时的状态栏错误:当没有可用的格式化程序时,在
:format
中显示状态栏错误。 - 无参数的:cd命令更改为家目录:在不带参数的情况下,
:cd
命令会更改到家目录。 - 默认注释符号设置为#:对于未识别的文件,默认注释符号设置为
#
。 - 插入新行时修剪所有尾随空白:在插入新行时修剪所有尾随空白。
- 使用:cd -返回上一目录:使用
:cd -
返回上一个目录。 - 解析-(无修饰符)为快捷键:允许将
-
(无修饰符)解析为快捷键。 - 打开重复文件或目录时的改进:改进了打开重复文件或目录时的状态栏和错误消息。
- 路径参数中的尾随冒号修剪:修剪传递给命令行参数的路径中的尾随冒号。
- hx --health <lang>显示Tree-sitter解析器可用性:在
hx --health <lang>
中显示Tree-sitter解析器的可用性。 - LSP补全菜单的颜色预览:在LSP补全菜单中为颜色显示预览块。
- 环绕操作的帮助信息框:为
surround_add
、surround_replace
和surround_delete
添加帮助信息框。
修复
- 尊重文档缩进设置:在
format_selections (=)
中尊重文档缩进设置。 - 避免在LSP工作区编辑期间切换文档模式:在LSP
workspace/applyEdit
操作期间,避免将当前文档切换到正常模式。 - 修复LSP补全范围的越界问题:修正了LSP
find_completion_range
中的越界问题。 - 优先使用文件系统mtime:为了检测外部修改,优先使用文件系统的mtime而不是本地系统时间。
- 修复硬链接写入问题:解决了硬链接写入的问题。
- 阻止语言服务器自动重启:防止语言服务器在使用
:lsp-stop
停止后自动重启。 - 稳定排序LSP文本编辑:确保LSP文本编辑是稳定排序的。
- 修复嵌套语言注入的当前语言层确定问题:修正了文档中具有嵌套语言注入时的当前语言层确定问题。
- 修复文件移动到新扩展引发的崩溃:解决了将文件移动到新扩展时启动语言服务器导致的崩溃。
- 修复差异边栏复制引发的崩溃:解决了复制差异边栏时引发的崩溃。
- 保持光标位置:在精确替换文本时保持光标位置。
- 修复新分割窗口中的向后跳转崩溃:解决了新打开的分割窗口中
jump_backward
引发的崩溃。 - 修复未知诊断严重性引发的崩溃:解决了语言服务器发送未知诊断严重性时引发的崩溃。
- 修复屏幕边缘绘制引发的崩溃:解决了在屏幕边缘绘制时引发的崩溃。
- 修复Git仓库检测问题:解决了符号链接上的Git仓库检测问题。
- 修复活动签名索引超出范围引发的崩溃:解决了语言服务器在
textDocument/signatureHelp
中发送超出范围的活动签名索引时引发的崩溃。 - 修复多字节字符结束的提示中使用C-k引发的崩溃:解决了在以多字节字符结束的提示中使用
C-k
时引发的崩溃。 - 展开读取命令中的路径波浪号:在
:read
命令中传递的路径中展开波浪号。 - 尊重每种语言的工作区LSP根配置:在打开新文档时尊重每种语言的工作区LSP根配置。
- 一致替换换行符:在粘贴/替换命令中一致地替换换行符。
- 修复DAP变量检查时的状态栏错误消息格式:修正了检查DAP变量时状态栏错误消息的格式。
- 修复浅色终端上的--health输出标题不可见问题:解决了浅色终端上
--health
输出的标题不可见问题。 - 接受JSONRPC id字段中的浮点数序列化的整数:接受JSONRPC
id
字段中序列化为浮点数的整数。
主题
- 调整kanagawa配色方案:使kanagawa配色方案更接近neovim版本。
- 新增ao主题。
- 更新dark_plus主题。
- 新增iceberg-light和iceberg-dark主题。
- 更新everforest主题。
- 更新gruvbox主题。
- 调整naysayer主题的主要选择光标颜色。
- 美化horizon-dark主题中的picker列名。
- 美化Darcula主题中的picker列名。
- 更新snazzy主题中的诊断颜色。
- 更新bogster主题。
- 美化onedark主题中的关键字存储。
- 为serika-dark添加ui.virtual.jump-label。
- 新增adwaita-light主题。
- 新增seoul256主题。
- 新增yo主题。
- 新增eiffel主题。
- 新增carbonfox主题。
- 设置monokai主题中的标签颜色。
- 提高spacebones picker选择的可读性。
- 更新modus主题。
- 在onedarker主题中加粗状态栏模式指示器。
- 更新hex主题,并新增一个hex主题。
- 新增sunset主题。
- 为flexoki主题添加缓冲区行高亮。
- 为catppuccin主题中的已检查和未检查列表项添加颜色。
- 更新voxed主题。
- 新增vintage主题。
- 为everforest主题添加目录样式。
- 为dark_plus主题添加非活动文本和更新跳转标签高亮。
- 同步catppuccin主题的变化。
- 为nightfox添加ui.text.directory。
- 为sunset添加ui.text.directory。
- 为Catppuccin主题添加diagnostic.unnecessary。
新增语言
- jjdescription
- i3wm和Sway配置
- TypeSpec
- jq
- Thrift
- Gherkin
- Circom
- Dune
- Snakemake
- Cylc
- textproto
- Spade
- NestedText
- Quint
- Amber-lang
- Vento
- Teal
- Koto
- NGINX
更新语言和查询
- Hare评论注入:为Hare添加评论注入。
- blade.php文件高亮改进:改进了blade.php文件的高亮。
- 更新tree-sitter-slint。
- 识别just文件为Just。
- 识别mdx文件为Markdown。
- 更新Just语法和查询。
- 识别tclsh文件为TCL。
- 更新Godot语法和查询。
- 更新Gleam语法和查询。
- 为Meson添加mesonlsp。
- 更新HTML高亮。
- 为Verilog添加评论文本对象。
- 切换tree-sitter-just语法。
- 更新tree-sitter-fsharp。
- 为Nix添加nixd。
- 高亮Rust标准库中的类型和枚举成员。
- 改进HCL和Nix的文本对象。
- 为docker-compose、dockerfile、env、git-config、hcl、hocon、prisma、SQL和YAML添加文本对象查询。
- 识别cshtml文件为HTML。
- 为Lean语言服务器设置内存限制。
- 为jedi和ruff语言服务器添加配置。
- 更新Vue高亮。
- 切换tree-sitter-hcl语法。
- 修复odinfmt格式化程序配置。
- 识别rbs文件为Ruby。
- 更新tree-sitter-nickel。
- 识别ldtk和ldtkl文件为JSON。
- 修复Fish内置函数的高亮。
- 为HTML添加superhtml。
- 为Vale语言服务器添加配置。
- 为Erlang添加Erlang Language Platform (elp)。
- 更新Odin高亮。
- 移除SML中单引号的自动成对。
- 为GLSL添加glsl_analyzer。
- 识别.prettierrc文件为YAML。
- 修复swift-format格式化程序配置。
- 将package.json和tsconfig.json识别为JS/TS工作区根。
- 在注释错误高亮中添加"INVARIANT"。
- 更新Rescript语法和查询。
- 更新tree-sitter-nasm。
- 更新LLVM语法。
- 更新Perl和Pod语法。
- 在Nix中添加Nim注入。
- 识别livemd文件为Markdown。
- 更新Unison语法和查询。
- 关闭Swift自动格式化。
- 识别.swift-format文件为JSON。
- 识别.clangd和.clang-format文件为YAML。
- 识别ssh_config.d/*.conf文件为sshclientconfig。
- 更新Zig注释令牌配置。
- 更新tree-sitter-bicep。
- 为Hyperlang添加hyperls。
- 为Solidity添加高亮查询。
- 识别WORKSPACE.bzlmod文件为Starlark。
- 更新Ada语法和查询。
- 限制Hocon文件类型的通配符模式。
- 将Mojo语言服务器更新为Magic。
- 切换tree-sitter-v语法。
- 在注释错误高亮中添加"COMPLIANCE"。
- 为ltex-ls-plus添加语言服务器配置。
- 更新tree-sitter-dockerfile。
- 为PHP外缩进添加]符号。
- 为Odin添加文本对象。
- 更新tree-sitter-heex和查询。
- 更新protobuf高亮。
- 切换tree-sitter-query (TSQ)语法。
- 为jinja和nunjucks添加块注释配置。
- 为Python添加uv shebang。
- 更新tree-sitter-vento。
- 切换Protobuf tree-sitter语法。
- 识别hypr/*.conf文件为Hyprland。
打包
- 为Nushell添加补全。
- 修复Bash补全中的标志补全。
- 在Nix输出中包含shell补全。