Skip to content

Commit 6664fab

Browse files
committed
Use more fine-grained completion item kinds for classes
Fixes #265
1 parent eb1a418 commit 6664fab

File tree

1 file changed

+21
-17
lines changed

1 file changed

+21
-17
lines changed

server/src/main/kotlin/org/javacs/kt/completion/RenderCompletionItem.kt

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package org.javacs.kt.completion
22

33
import org.eclipse.lsp4j.CompletionItem
4-
import org.eclipse.lsp4j.CompletionItemKind.*
5-
import org.eclipse.lsp4j.CompletionItemKind.Function
4+
import org.eclipse.lsp4j.CompletionItemKind
65
import org.eclipse.lsp4j.InsertTextFormat.PlainText
76
import org.eclipse.lsp4j.InsertTextFormat.Snippet
87
import org.jetbrains.kotlin.descriptors.*
@@ -49,15 +48,15 @@ class RenderCompletionItem(val snippetsEnabled: Boolean) : DeclarationDescriptor
4948
override fun visitPropertySetterDescriptor(desc: PropertySetterDescriptor, nothing: Unit?): CompletionItem {
5049
setDefaults(desc)
5150

52-
result.kind = Field
51+
result.kind = CompletionItemKind.Field
5352

5453
return result
5554
}
5655

5756
override fun visitConstructorDescriptor(desc: ConstructorDescriptor, nothing: Unit?): CompletionItem {
5857
setDefaults(desc)
5958

60-
result.kind = Constructor
59+
result.kind = CompletionItemKind.Constructor
6160
result.insertText = functionInsertText(desc)
6261
result.insertTextFormat = functionInsertFormat
6362

@@ -67,23 +66,23 @@ class RenderCompletionItem(val snippetsEnabled: Boolean) : DeclarationDescriptor
6766
override fun visitReceiverParameterDescriptor(desc: ReceiverParameterDescriptor, nothing: Unit?): CompletionItem {
6867
setDefaults(desc)
6968

70-
result.kind = Variable
69+
result.kind = CompletionItemKind.Variable
7170

7271
return result
7372
}
7473

7574
override fun visitPackageViewDescriptor(desc: PackageViewDescriptor, nothing: Unit?): CompletionItem {
7675
setDefaults(desc)
7776

78-
result.kind = Module
77+
result.kind = CompletionItemKind.Module
7978

8079
return result
8180
}
8281

8382
override fun visitFunctionDescriptor(desc: FunctionDescriptor, nothing: Unit?): CompletionItem {
8483
setDefaults(desc)
8584

86-
result.kind = Function
85+
result.kind = CompletionItemKind.Function
8786
result.insertText = functionInsertText(desc)
8887
result.insertTextFormat = functionInsertFormat
8988

@@ -117,79 +116,84 @@ class RenderCompletionItem(val snippetsEnabled: Boolean) : DeclarationDescriptor
117116
override fun visitModuleDeclaration(desc: ModuleDescriptor, nothing: Unit?): CompletionItem {
118117
setDefaults(desc)
119118

120-
result.kind = Module
119+
result.kind = CompletionItemKind.Module
121120

122121
return result
123122
}
124123

125124
override fun visitClassDescriptor(desc: ClassDescriptor, nothing: Unit?): CompletionItem {
126125
setDefaults(desc)
127126

128-
result.kind = Class
127+
result.kind = when (desc.kind) {
128+
ClassKind.INTERFACE -> CompletionItemKind.Interface
129+
ClassKind.ENUM_CLASS -> CompletionItemKind.Enum
130+
ClassKind.ENUM_ENTRY -> CompletionItemKind.EnumMember
131+
else -> CompletionItemKind.Class
132+
}
129133

130134
return result
131135
}
132136

133137
override fun visitPackageFragmentDescriptor(desc: PackageFragmentDescriptor, nothing: Unit?): CompletionItem {
134138
setDefaults(desc)
135139

136-
result.kind = Module
140+
result.kind = CompletionItemKind.Module
137141

138142
return result
139143
}
140144

141145
override fun visitValueParameterDescriptor(desc: ValueParameterDescriptor, nothing: Unit?): CompletionItem {
142146
setDefaults(desc)
143147

144-
result.kind = Variable
148+
result.kind = CompletionItemKind.Variable
145149

146150
return result
147151
}
148152

149153
override fun visitTypeParameterDescriptor(desc: TypeParameterDescriptor, nothing: Unit?): CompletionItem {
150154
setDefaults(desc)
151155

152-
result.kind = Variable
156+
result.kind = CompletionItemKind.Variable
153157

154158
return result
155159
}
156160

157161
override fun visitScriptDescriptor(desc: ScriptDescriptor, nothing: Unit?): CompletionItem {
158162
setDefaults(desc)
159163

160-
result.kind = Module
164+
result.kind = CompletionItemKind.Module
161165

162166
return result
163167
}
164168

165169
override fun visitTypeAliasDescriptor(desc: TypeAliasDescriptor, nothing: Unit?): CompletionItem {
166170
setDefaults(desc)
167171

168-
result.kind = Variable
172+
result.kind = CompletionItemKind.Variable
169173

170174
return result
171175
}
172176

173177
override fun visitPropertyGetterDescriptor(desc: PropertyGetterDescriptor, nothing: Unit?): CompletionItem {
174178
setDefaults(desc)
175179

176-
result.kind = Field
180+
result.kind = CompletionItemKind.Field
177181

178182
return result
179183
}
180184

181185
override fun visitVariableDescriptor(desc: VariableDescriptor, nothing: Unit?): CompletionItem {
182186
setDefaults(desc)
183187

184-
result.kind = Variable
188+
result.kind = CompletionItemKind.Variable
185189

186190
return result
187191
}
188192

189193
override fun visitPropertyDescriptor(desc: PropertyDescriptor, nothing: Unit?): CompletionItem {
190194
setDefaults(desc)
191195

192-
result.kind = Field
196+
result.kind = CompletionItemKind.Field
193197

194198
return result
195199
}

0 commit comments

Comments
 (0)