Skip to content

Commit 4a66f49

Browse files
committed
Adjust color
1 parent e4c7b69 commit 4a66f49

File tree

2 files changed

+12
-15
lines changed

2 files changed

+12
-15
lines changed

src/main/java/com/tang/intellij/lua/annotator/LuaLspExternalAnnotator.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.tang.intellij.lua.annotator
22

33
import com.cppcxy.ide.lsp.AnnotatorParams
4-
import com.cppcxy.ide.lsp.AnnotatorType.*
54
import com.cppcxy.ide.lsp.EmmyLuaCustomApi
65
import com.intellij.lang.annotation.AnnotationHolder
76
import com.intellij.lang.annotation.ExternalAnnotator
@@ -17,7 +16,8 @@ import java.util.concurrent.CompletableFuture
1716
import java.util.concurrent.TimeUnit
1817

1918
/**
20-
* LSP 外部注解器,优先级比普通 Annotator 更高
19+
* LSP 外部注解器,使用最高优先级确保渲染效果
20+
* 解决多个高亮系统冲突时只有背景色高亮显示的问题
2121
*/
2222
class LuaLspExternalAnnotator : ExternalAnnotator<LuaLspExternalAnnotator.CollectedInfo, LuaLspExternalAnnotator.AnnotationResult>() {
2323

@@ -92,9 +92,11 @@ class LuaLspExternalAnnotator : ExternalAnnotator<LuaLspExternalAnnotator.Collec
9292
if (textRange != null) {
9393
val textAttributesKey = LuaHighlightingData.getLspHighlightKey(annotator.type)
9494

95-
holder.newSilentAnnotation(HighlightSeverity.INFORMATION)
95+
// 使用WEAK_WARNING级别,并强制使用textAttributes确保显示优先级
96+
holder.newSilentAnnotation(HighlightSeverity.WEAK_WARNING)
9697
.range(textRange)
9798
.textAttributes(textAttributesKey)
99+
.needsUpdateOnTyping(false)
98100
.create()
99101
}
100102
}

src/main/java/com/tang/intellij/lua/highlighting/LuaHighlightingData.kt

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ object LuaHighlightingData {
6767
"LUA_LSP_READ_ONLY_PARAM",
6868
TextAttributes().apply {
6969
foregroundColor = JBColor(Color(0x0070C0), Color(0x6CB4EE)) // 蓝色
70-
backgroundColor = JBColor(Color(0xE6F2FF), Color(0x1A2332)) // 浅蓝背景
7170
fontType = Font.ITALIC
7271
}
7372
)
@@ -79,32 +78,31 @@ object LuaHighlightingData {
7978
"LUA_LSP_GLOBAL_VAR",
8079
TextAttributes().apply {
8180
foregroundColor = JBColor(Color(0xFF6699), Color(0xFF88AA)) // 粉红色
82-
backgroundColor = JBColor(Color(0xFFF0F5), Color(0x2A1A22)) // 浅粉背景
8381
fontType = Font.BOLD
8482
}
8583
)
8684

8785
/**
88-
* LSP 只读局部变 - 使用柔和的绿色系,表示安全的只读变量
86+
* LSP 只读局部变量 - 使用浅蓝色,表示不可变的安全变量
8987
*/
9088
val LSP_READ_ONLY_LOCAL = TextAttributesKey.createTextAttributesKey(
9189
"LUA_LSP_READ_ONLY_LOCAL",
9290
TextAttributes().apply {
93-
foregroundColor = JBColor(Color(0x2D5A2D), Color(0x6B9F6B)) // 更柔和的深绿色
94-
backgroundColor = JBColor(Color(0xF5F8F5), Color(0x1A2A1A)) // 更淡的绿色背景
91+
foregroundColor = JBColor(Color(0x4A90E2), Color(0x6BB6FF)) // 浅蓝色,清爽的色调
9592
fontType = Font.ITALIC
9693
}
9794
)
9895

9996
/**
100-
* LSP 可变局部变量 - 使用蓝色系,类似Java的局部变量
97+
* LSP 可变局部变量 - 使用深绿色带下划线,强调可变性
10198
*/
10299
val LSP_MUT_LOCAL = TextAttributesKey.createTextAttributesKey(
103100
"LUA_LSP_MUT_LOCAL",
104101
TextAttributes().apply {
105-
foregroundColor = JBColor(Color(0x0000FF), Color(0x589DF6)) // 蓝色,类似Java变量
106-
backgroundColor = JBColor(Color(0xF0F5FF), Color(0x1A1F2A)) // 淡蓝背景
107-
fontType = Font.PLAIN // 普通字体,表示可变
102+
foregroundColor = JBColor(Color(0x2B8C2B), Color(0x4CAF50)) // 更好看的绿色
103+
fontType = Font.PLAIN
104+
effectType = com.intellij.openapi.editor.markup.EffectType.LINE_UNDERSCORE
105+
effectColor = JBColor(Color(0x2B8C2B), Color(0x4CAF50)) // 下划线颜色与文字颜色一致
108106
}
109107
)
110108

@@ -115,7 +113,6 @@ object LuaHighlightingData {
115113
"LUA_LSP_MUT_PARAM",
116114
TextAttributes().apply {
117115
foregroundColor = JBColor(Color(0x871094), Color(0xB381C5)) // 紫色,类似Java参数
118-
backgroundColor = JBColor(Color(0xF8F0FF), Color(0x2A1A2A)) // 浅紫背景
119116
fontType = Font.BOLD
120117
effectType = com.intellij.openapi.editor.markup.EffectType.LINE_UNDERSCORE
121118
effectColor = JBColor(Color(0x871094), Color(0xB381C5))
@@ -129,7 +126,6 @@ object LuaHighlightingData {
129126
"LUA_LSP_DOC_EM",
130127
TextAttributes().apply {
131128
foregroundColor = JBColor(Color(0xB8860B), Color(0xFFD700)) // 金色
132-
backgroundColor = JBColor(Color(0xFFFBF0), Color(0x2D2A1A)) // 浅金背景
133129
fontType = Font.ITALIC
134130
}
135131
)
@@ -141,7 +137,6 @@ object LuaHighlightingData {
141137
"LUA_LSP_DOC_STRONG",
142138
TextAttributes().apply {
143139
foregroundColor = JBColor(Color(0x8B0000), Color(0xFF6B6B)) // 深红色
144-
backgroundColor = JBColor(Color(0xFFF0F0), Color(0x2D1A1A)) // 浅红背景
145140
fontType = Font.BOLD
146141
}
147142
)

0 commit comments

Comments
 (0)