Skip to content

Commit 91b187f

Browse files
committed
Add symbol tags as proposed for LSP specification
See microsoft/language-server-protocol#2003
1 parent f235e91 commit 91b187f

File tree

1 file changed

+118
-3
lines changed

1 file changed

+118
-3
lines changed

org.eclipse.lsp4j/src/main/java/org/eclipse/lsp4j/SymbolTag.java

+118-3
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,130 @@
1414

1515
/**
1616
* Symbol tags are extra annotations that tweak the rendering of a symbol.
17-
* <p>
18-
* Since 3.16
17+
* Since 3.18
1918
*/
2019
public enum SymbolTag {
2120

2221
/**
2322
* Render a symbol as obsolete, usually using a strike-out.
23+
* Since 3.16
2424
*/
25-
Deprecated(1);
25+
Deprecated(1),
26+
27+
/**
28+
* Render a symbol with visibility / access modifier "private".
29+
* @since 3.18
30+
*/
31+
Private(2),
32+
33+
/**
34+
* Render a symbol with visibility "package private", e.g. in Java.
35+
* @since 3.18
36+
*/
37+
Package(3),
38+
39+
/**
40+
* Render a symbol with visibility / access modifier "protected".
41+
* The modifier could be combined e.g. with "internal" or "private" in languages like C#.
42+
* @since 3.18
43+
*/
44+
Protected(4),
45+
46+
/**
47+
* Render a symbol with visibility / access modifier "public".
48+
* @since 3.18
49+
*/
50+
Public(5),
51+
52+
/**
53+
* Render a symbol with visibility / access modifier "internal", e.g. in C# or Kotlin.
54+
* @since 3.18
55+
*/
56+
Internal(6),
57+
58+
/**
59+
* Render a symbol with visibility / access modifier "file", e.g. in C#.
60+
* @since 3.18
61+
*/
62+
File(7),
63+
64+
/**
65+
* Render a symbol as "static".
66+
* @since 3.18
67+
*/
68+
Static(8),
69+
70+
/**
71+
* Render a symbol as "abstract".
72+
* @since 3.18
73+
*/
74+
Abstract(9),
75+
76+
/**
77+
* Render a symbol as "final".
78+
* @since 3.18
79+
*/
80+
Final(10),
81+
82+
/**
83+
* Render a symbol as "sealed", e.g. classes and interfaces in Kotlin.
84+
* @since 3.18
85+
*/
86+
Sealed(11),
87+
88+
/**
89+
* Render a symbol as "transient", e.g. in Java.
90+
* @since 3.18
91+
*/
92+
Transient(12),
93+
94+
/**
95+
* Render a symbol as "volatile", e.g. in Java.
96+
* @since 3.18
97+
*/
98+
Volatile(13),
99+
100+
/**
101+
* Render a symbol as "synchronized", e.g. in Java.
102+
* @since 3.18
103+
*/
104+
Synchronized(14),
105+
106+
/**
107+
* Render a symbol as "virtual", e.g. in C++.
108+
* @since 3.18
109+
*/
110+
Virtual(15),
111+
112+
/**
113+
* Render a symbol as "nullable", e.g. types with '?' in Kotlin.
114+
* @since 3.18
115+
*/
116+
Nullable(16),
117+
118+
/**
119+
* Render a symbol as "never null", e.g. types without '?' in Kotlin.
120+
* @since 3.18
121+
*/
122+
NonNull(17),
123+
124+
/**
125+
* Render a symbol as declaration.
126+
* @since 3.18
127+
*/
128+
Declaration(18),
129+
130+
/**
131+
* Render a symbol as definition (in contrast to declaration), e.g. in header files in C++.
132+
* @since 3.18
133+
*/
134+
Definition(19),
135+
136+
/**
137+
* Render a symbol as "read-only", i.e. variables / properties that cannot be changed.
138+
* @since 3.18
139+
*/
140+
ReadOnly(20);
26141

27142
private final int value;
28143

0 commit comments

Comments
 (0)