diff --git a/org.eclipse.lsp4j/src/main/java/org/eclipse/lsp4j/SymbolTag.java b/org.eclipse.lsp4j/src/main/java/org/eclipse/lsp4j/SymbolTag.java index ef2012ef1..ad7639ed2 100644 --- a/org.eclipse.lsp4j/src/main/java/org/eclipse/lsp4j/SymbolTag.java +++ b/org.eclipse.lsp4j/src/main/java/org/eclipse/lsp4j/SymbolTag.java @@ -12,17 +12,172 @@ package org.eclipse.lsp4j; +import com.google.common.annotations.Beta; + /** * Symbol tags are extra annotations that tweak the rendering of a symbol. - *
* Since 3.16 */ public enum SymbolTag { /** * Render a symbol as obsolete, usually using a strike-out. + * Since 3.16 + */ + Deprecated(1), + + /** + * Render a symbol with visibility / access modifier "private". + * + * This is an LSP proposal. See PR + */ + @Beta + Private(2), + + /** + * Render a symbol with visibility "package private", e.g. in Java. + * + * This is an LSP proposal. See PR + */ + @Beta + Package(3), + + /** + * Render a symbol with visibility / access modifier "protected". + * The modifier could be combined e.g. with "internal" or "private" in languages like C#. + * + * This is an LSP proposal. See PR + */ + @Beta + Protected(4), + + /** + * Render a symbol with visibility / access modifier "public". + * + * This is an LSP proposal. See PR + */ + @Beta + Public(5), + + /** + * Render a symbol with visibility / access modifier "internal", e.g. in C# or Kotlin. + * + * This is an LSP proposal. See PR + */ + @Beta + Internal(6), + + /** + * Render a symbol with visibility / access modifier "file", e.g. in C#. + * + * This is an LSP proposal. See PR + */ + @Beta + File(7), + + /** + * Render a symbol as "static". + * + * This is an LSP proposal. See PR + */ + @Beta + Static(8), + + /** + * Render a symbol as "abstract". + * + * This is an LSP proposal. See PR + */ + @Beta + Abstract(9), + + /** + * Render a symbol as "final". + * + * This is an LSP proposal. See PR + */ + @Beta + Final(10), + + /** + * Render a symbol as "sealed", e.g. classes and interfaces in Kotlin. + * + * This is an LSP proposal. See PR + */ + @Beta + Sealed(11), + + /** + * Render a symbol as "transient", e.g. in Java. + * + * This is an LSP proposal. See PR + */ + @Beta + Transient(12), + + /** + * Render a symbol as "volatile", e.g. in Java. + * + * This is an LSP proposal. See PR + */ + @Beta + Volatile(13), + + /** + * Render a symbol as "synchronized", e.g. in Java. + * + * This is an LSP proposal. See PR + */ + @Beta + Synchronized(14), + + /** + * Render a symbol as "virtual", e.g. in C++. + * + * This is an LSP proposal. See PR + */ + @Beta + Virtual(15), + + /** + * Render a symbol as "nullable", e.g. types with '?' in Kotlin. + * + * This is an LSP proposal. See PR + */ + @Beta + Nullable(16), + + /** + * Render a symbol as "never null", e.g. types without '?' in Kotlin. + * + * This is an LSP proposal. See PR + */ + @Beta + NonNull(17), + + /** + * Render a symbol as declaration. + * + * This is an LSP proposal. See PR + */ + @Beta + Declaration(18), + + /** + * Render a symbol as definition (in contrast to declaration), e.g. in header files in C++. + * + * This is an LSP proposal. See PR + */ + @Beta + Definition(19), + + /** + * Render a symbol as "read-only", i.e. variables / properties that cannot be changed. + * + * This is an LSP proposal. See PR */ - Deprecated(1); + @Beta + ReadOnly(20); private final int value;