问题标签 [kakoune]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
language-server-protocol - kak-lsp 日志显示“语言服务器未初始化”
我已经成功安装了 kak-lsp plug.kak
。我已将kak-lsp.toml
. ~/.config/kak-lsp/kak-lsp.toml
对于 rustlang 部分,它看起来像这样:
但是,当我启动 kakoune 时,它不会自动完成或任何东西,除了它只显示未使用变量的警告(以及类似这样的东西)。所以我打开了日志,它给了我这个输出:
完整的日志在这里
我错过了什么?
formatting - 管道并替换为上下文
我正在使用 kakoune|
的管道(
(在这种情况下,!Output
假定标记的标量是 ReST,前一个“程序”“hello world”的输出连接到该标量)。
这些标量/文档中的每一个都有不同的格式需求,具体取决于标签和/或配置。我通常做的是选择整个缓冲区,通过管道进入理解每个文档的程序,通过相应的“子格式化程序”格式化每个文档并重新组合它们。当我进行部分选择时,格式可能会出错,因为我无法轻易检测到要使用的格式化程序,除非选择以文字标量的标记开头。
我可以直接调用适当的子格式化程序,但这既麻烦又有时不合适(尝试从类中间方法开始格式化 Python)或不适用,例如在来自不同文档类型的多选中(因此需要不同的子格式化程序)。
我想要的是管道命令的功能,但是调用的外部格式化程序将完整的缓冲区作为标准输入,并将缓冲区中的(多个)选择作为开始,结束字节索引作为参数。好像我会从上面的示例中选择 Python 行和单词this results
并调用格式化程序,如下所示:
myfmt -s 13,32 -s45,60
当myfmt
有完整的缓冲区时,它可以从头开始扫描并选择如何处理每个选择。扩展选择(到完整的行、完整的类定义或完整的程序)可能是有意义的,因此需要返回完整的结果,但并非所有文件都必须重新格式化,这就是我现在必须基于选择整个缓冲区(使用%
)
有没有办法可以在 kakoune 中实现这一目标?