谁能具体解释下lsp-interface 这个macro是干嘛用的

这个宏太长了,我要读懂太麻烦了。 大概知道可以生成一些lsp:*** 的代码。但是具体生成的代码是干嘛用的就。。。

1 个赞

这个宏有时候生成代码3000多行,期待有大佬能详细解释一下

我感觉可能是生成一些直接获取协议字段的函数,还有一些判断协议里面有没有某个字段的断言。但是我没看懂,也不确定。

确实跟我想的差不多,这个macro应该是为了生成一些语义更明确的代码

试试 macroexpand ?

这个宏对每个backend生成了一堆 dash-expand:xxx 函数,还有一堆辅助函数 lsp-xxx, lsp:xxx, lsp-make;xxx 。搜搜就看就明白了。

大概看懂了,lsp-mode简直是elisp工程的典范。

把宏用到了极致 :joy: 只有不断重构优化才能写出这样的东东

而且跟dash这个库的结合也很紧密