Closed zijianyue closed 1 month ago
@zijianyue 我推送了 https://github.com/manateelazycat/lsp-bridge/commit/2f961febfc87ad5e2140ecfc1b2686b552080018
你更新测试, 看看是不是你想要的效果?
感谢反馈,测试结果不符合预期
期望的效果
我的配置如下
(defface lsp-bridge-semantic-tokens-global-scope-face
'((t :weight bold))
"Face used for globalScope token."
:group 'lsp-bridge-semantic-tokens)
(defface lsp-bridge-semantic-tokens-enum-member-face
'((t (:inherit font-lock-constant-face)))
"Face used for enum name."
:group 'lsp-bridge-semantic-tokens)
(setq-default lsp-bridge-semantic-tokens-type-modifier-faces
[("globalScope" . lsp-bridge-semantic-tokens-global-scope-face)
("readonly" . lsp-bridge-semantic-tokens-enum-member-face)])
现在是按照有 foreground 的就用 override 策略, 没有的就按照 combine 策略的。
请详细说明一下哪里不符合? 我平常用这个功能很少。
不符合是指上面的begin()函数是一个readonly函数,期望走override,显示为紫色(函数的基础颜色是黄色);OLLess函数是一个global scope的函数,期望走combine,显示为加粗的黄色。 我debug了一把,发现readonly的时候并没有进入override分支,而是走了最下面的默认分支,使用了函数的基础颜色,这跟实际现象也是能对的上的。
我上一个补丁没有写好, 我又推送了 https://github.com/manateelazycat/lsp-bridge/commit/72b02ecec0449335fefda56054251a35d834e26b
麻烦再更新测试一下吧, 谢谢
完美解决
完美解决
盲修的, 感谢耐心反馈。
我有个疑问,比如我想将readonly的函数变成const的颜色(添加以下配置),就不适用combine(最新的默认值)了,这时候期望用override(原默认值)
期望的效果,以C++为例,来自lsp-mode,readonly的函数打了const标记![image](https://github.com/manateelazycat/lsp-bridge/assets/6119928/583d052d-94e0-4f60-bcb8-b064a6591912)
是不是可以这样:如果modifier的face中有Foreground就按override,否则就是combine,比如粗体,斜体这些辅助型配置