这个宏太长了,我要读懂太麻烦了。 大概知道可以生成一些lsp:*** 的代码。但是具体生成的代码是干嘛用的就。。。
1 个赞
这个宏有时候生成代码3000多行,期待有大佬能详细解释一下
我感觉可能是生成一些直接获取协议字段的函数,还有一些判断协议里面有没有某个字段的断言。但是我没看懂,也不确定。
确实跟我想的差不多,这个macro应该是为了生成一些语义更明确的代码
试试 macroexpand
?
这个宏对每个backend生成了一堆 dash-expand:xxx
函数,还有一堆辅助函数 lsp-xxx
, lsp:xxx
, lsp-make;xxx
。搜搜就看就明白了。
大概看懂了,lsp-mode简直是elisp工程的典范。
把宏用到了极致 只有不断重构优化才能写出这样的东东
而且跟dash这个库的结合也很紧密