diff --git a/hls-plugin-api/src/Ide/Plugin/ConfigUtils.hs b/hls-plugin-api/src/Ide/Plugin/ConfigUtils.hs index 8ee6110d29..bc3b1831a1 100644 --- a/hls-plugin-api/src/Ide/Plugin/ConfigUtils.hs +++ b/hls-plugin-api/src/Ide/Plugin/ConfigUtils.hs @@ -15,8 +15,15 @@ import qualified Data.Dependent.Sum as DSum import Data.List.Extra (nubOrd) import Data.String (IsString (fromString)) import qualified Data.Text as T +import GHC.TypeLits (symbolVal) import Ide.Plugin.Config -import Ide.Plugin.Properties (toDefaultJSON, +import Ide.Plugin.Properties (KeyNameProxy, MetaData (..), + PluginCustomConfig (..), + PluginCustomConfigParam (..), + Properties (..), + SPropertyKey (..), + SomePropertyKeyWithMetaData (..), + toDefaultJSON, toVSCodeExtensionSchema) import Ide.Types import Language.LSP.Protocol.Message @@ -139,3 +146,92 @@ pluginsToVSCodeExtensionSchema IdePlugins {..} = A.object $ mconcat $ singlePlug ] withIdPrefix x = "haskell.plugin." <> pId <> "." <> x toKey' = fromString . T.unpack . withIdPrefix + + +-- | Generates markdown tables for custom config +pluginsCustomConfigToMarkdownTables :: IdePlugins a -> T.Text +pluginsCustomConfigToMarkdownTables IdePlugins {..} = T.unlines + $ map renderCfg + $ filter (\(PluginCustomConfig _ params) -> not $ null params) + $ map toPluginCustomConfig ipMap + where + toPluginCustomConfig :: PluginDescriptor ideState -> PluginCustomConfig + toPluginCustomConfig PluginDescriptor {pluginConfigDescriptor = ConfigDescriptor {configCustomConfig = c}, pluginId = PluginId pId} = + PluginCustomConfig { pcc'Name = pId, pcc'Params = toPluginCustomConfigParams c} + toPluginCustomConfigParams :: CustomConfig -> [PluginCustomConfigParam] + toPluginCustomConfigParams (CustomConfig p) = toPluginCustomConfigParams' p + toPluginCustomConfigParams' :: Properties r -> [PluginCustomConfigParam] + toPluginCustomConfigParams' EmptyProperties = [] + toPluginCustomConfigParams' (ConsProperties (keyNameProxy :: KeyNameProxy s) (k :: SPropertyKey k) (m :: MetaData t) xs) = + toEntry (SomePropertyKeyWithMetaData k m) : toPluginCustomConfigParams' xs + where + toEntry :: SomePropertyKeyWithMetaData -> PluginCustomConfigParam + toEntry (SomePropertyKeyWithMetaData SNumber MetaData {..}) = + PluginCustomConfigParam { + pccp'Name = T.pack $ symbolVal keyNameProxy, + pccp'Description = description, + pccp'Default = T.pack $ show defaultValue, + pccp'EnumValues = [] + } + toEntry (SomePropertyKeyWithMetaData SInteger MetaData {..}) = + PluginCustomConfigParam { + pccp'Name = T.pack $ symbolVal keyNameProxy, + pccp'Description = description, + pccp'Default = T.pack $ show defaultValue, + pccp'EnumValues = [] + } + toEntry (SomePropertyKeyWithMetaData SString MetaData {..}) = + PluginCustomConfigParam { + pccp'Name = T.pack $ symbolVal keyNameProxy, + pccp'Description = description, + pccp'Default = T.pack $ show defaultValue, + pccp'EnumValues = [] + } + toEntry (SomePropertyKeyWithMetaData SBoolean MetaData {..}) = + PluginCustomConfigParam { + pccp'Name = T.pack $ symbolVal keyNameProxy, + pccp'Description = description, + pccp'Default = T.pack $ show defaultValue, + pccp'EnumValues = [] + } + toEntry (SomePropertyKeyWithMetaData (SObject _) MetaData {..}) = + PluginCustomConfigParam { + pccp'Name = T.pack $ symbolVal keyNameProxy, + pccp'Description = description, + pccp'Default = "TODO: nested object", -- T.pack $ show defaultValue, + pccp'EnumValues = [] + } + toEntry (SomePropertyKeyWithMetaData (SArray _) MetaData {..}) = + PluginCustomConfigParam { + pccp'Name = T.pack $ symbolVal keyNameProxy, + pccp'Description = description, + pccp'Default = "TODO: Array values", -- T.pack $ show defaultValue, + pccp'EnumValues = [] + } + toEntry (SomePropertyKeyWithMetaData (SEnum _) EnumMetaData {..}) = + PluginCustomConfigParam { + pccp'Name = T.pack $ symbolVal keyNameProxy, + pccp'Description = description, + pccp'Default = T.pack $ show defaultValue, + pccp'EnumValues = map (T.pack . show) enumValues + } + toEntry (SomePropertyKeyWithMetaData SProperties PropertiesMetaData {..}) = + PluginCustomConfigParam { + pccp'Name = T.pack $ symbolVal keyNameProxy, + pccp'Description = description, + pccp'Default = T.pack $ show defaultValue, + pccp'EnumValues = [] + } + renderCfg :: PluginCustomConfig -> T.Text + renderCfg (PluginCustomConfig pId pccParams) = + T.unlines (pluginHeader : tableHeader : rows pccParams) + where + pluginHeader = "## " <> pId + tableHeader = + "| Property | Description | Default | Allowed values |" <> "\n" <> + "| --- | --- | --- | --- |" + rows = map renderRow + renderRow PluginCustomConfigParam {..} = + "| `" <> pccp'Name <> "` | " <> pccp'Description <> " | `" <> pccp'Default <> "` | " <> renderEnum pccp'EnumValues <> " |" + renderEnum [] = " " -- Placeholder to prevent missing cells + renderEnum vs = "
" <> x <> "
Always
Exported
Diagnostics
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
Always
Exported
Diagnostics
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
Always
Exported
Diagnostics
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator
SemanticTokenTypes_Namespace
SemanticTokenTypes_Type
SemanticTokenTypes_Class
SemanticTokenTypes_Enum
SemanticTokenTypes_Interface
SemanticTokenTypes_Struct
SemanticTokenTypes_TypeParameter
SemanticTokenTypes_Parameter
SemanticTokenTypes_Variable
SemanticTokenTypes_Property
SemanticTokenTypes_EnumMember
SemanticTokenTypes_Event
SemanticTokenTypes_Function
SemanticTokenTypes_Method
SemanticTokenTypes_Macro
SemanticTokenTypes_Keyword
SemanticTokenTypes_Modifier
SemanticTokenTypes_Comment
SemanticTokenTypes_String
SemanticTokenTypes_Number
SemanticTokenTypes_Regexp
SemanticTokenTypes_Operator
SemanticTokenTypes_Decorator