h$&!      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None/tNone #$/8:<>Bhls-plugin-apiA PluginConfig is a generic configuration for a given HLS plugin. It provides a "big switch" to turn it on or off as a whole, as well as small switches per feature, and a slot for custom config. This provides a regular naming scheme for all plugin config.hls-plugin-apiWe (initially anyway) mirror the hie configuration, so that existing clients can simply switch executable and not have any nasty surprises. There will be surprises relating to config options being ignored, initially though.hls-plugin-apiGiven a DidChangeConfigurationNotification message, this function returns the parsed Config object if possible.  None #$'(-/>?.hls-plugin-apiIn row r , there is a : k, which has name s and carries haskell type t/hls-plugin-apiA proxy type in order to allow overloaded labels as properties' names at the call site1hls-plugin-api1 is a partial implementation of json schema, without supporting union types and validation. In hls, it defines a set of properties which used in dedicated configuration of a plugin. A property is an immediate child of the json object in each plugin's "config" section. It was designed to be compatible with vscode's settings UI. Use L and N to create and consume 1.2hls-plugin-apiSingleton type of ::hls-plugin-api,Used at type level for name-type mapping in 1<hls-plugin-apiMetadata of a propertyDhls-plugin-apiTypes properties may haveLhls-plugin-api Creates a 1 that defines no property3Useful to start a definitions chain, for example:  properties = emptyProperties & defineStringProperty #exampleString "Description of exampleString" Foo & defineNumberProperty #exampleNumber "Description of exampleNumber" 233 Mhls-plugin-apiGiven the name of a defined property, generates a JSON parser of  plcConfigNhls-plugin-apiLike M but returns ? on parse errorOhls-plugin-apiDefines a number propertyPhls-plugin-apiDefines an integer propertyQhls-plugin-apiDefines a string propertyRhls-plugin-apiDefines a boolean propertyShls-plugin-apiDefines an object propertyThls-plugin-apiDefines an array propertyUhls-plugin-apiDefines an enum propertyVhls-plugin-apiConverts a properties definition into kv pairs with default values from @?ABCDJEFGHIKLMNOPQRSTUVW+DJEFGHIKC<=>@?AB:;23456789/01.LOPQRSTUVWMNNone #$%&'(-./89:<>?ahls-plugin-api+Format the given Text as a whole or only a Range of it. Range must be relative to the text to format. To format the whole document, read the Text from the file and use b as the FormattingType.vhls-plugin-apiCombine handlers for thexhls-plugin-api*Methods which have a PluginMethod instancezhls-plugin-api*Methods which have a PluginMethod instance|hls-plugin-api)Methods that can be handled by plugins.  ExtraParams captures any extra data the IDE passes to the handlers for this method Only methods for which we know how to combine responses can be instances of |}hls-plugin-api:Parse the configuration to check if this plugin is enabled~hls-plugin-api/How to combine responses from different pluginshls-plugin-apiDescribes the configuration a plugin. A plugin may be configurable in such form:  { "plugin-id": { "globalOn": true, "codeActionsOn": true, "codeLensOn": true, "config": { "property1": "foo" } } }  globalOn,  codeActionsOn, and  codeLensOn etc. are called generic configs, which can be inferred from handlers registered by the plugin. config1 is called custom config, which is defined using 1.hls-plugin-api+Whether or not to generate generic configs.hls-plugin-apiWhether or not to generate  diagnosticsOn config. Diagnostics emit in arbitrary shake rules, so we can't know statically if the plugin produces diagnosticshls-plugin-apiCustom config.hls-plugin-apiAn existential wrapper of 1hls-plugin-apiHooks for modifying the  at different times of the compilation process. Plugins can install a  via  in their .hls-plugin-api9Invoked immediately at the package level. Changes to the  made in  are guaranteed to be seen everywhere in the compilation pipeline.hls-plugin-apiInvoked just before the parsing step, and reset immediately afterwards.  allows plugins to enable language extensions only during parsing. for example, to let them enable certain pieces of syntax.hls-plugin-api-Make a handler for plugins with no extra datahls-plugin-api-Make a handler for plugins with no extra datahls-plugin-apiChecks that a given plugin is both enabled and the specific feature is enabledhls-plugin-apiGet the operating system process id for the running server instance. This should be the same for the lifetime of the instance, and different from that of any other currently running instance.~hls-plugin-apiIDE ConfigurationYZ[\^]_`acbdefghkjilmnopqrstuvwxyz{|~}|~}z{xyvwturspqonlmghkjifdeacb`_[\^]YZNone /? hls-plugin-apiExtend to the line below and above to replace newline character.hls-plugin-api Generate a ! value from a pair of source Texthls-plugin-apiA pure version of  for testinghls-plugin-apiReturns the current client configuration. It is not wise to permanently cache the returned value of this function, as clients can at runitime change their configuration.hls-plugin-apiReturns the current plugin configuration. It is not wise to permanently cache the returned value of this function, as clients can change their configuration at runtime.hls-plugin-api>Returns the value of a property defined by the current plugin.hls-plugin-api*Gets the range that covers the entire text}}None  #$&'(/!hls-plugin-apiGenerates a default ", but remains only effective itemshls-plugin-apiGenerates json schema used in haskell vscode extension Similar to 2 but simpler, since schema has a flatten structure      !"#$%&'()*+,-./01234566789:;<=>?@@AABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^__`abcdefgghiijklmmnoppqqrrssttuuvwxyyz{|}}~~-hls-plugin-api-1.3.0.0-EZV3DGaqJ3z4pXtLt3jYt1Ide.Plugin.Properties Ide.LoggerIde.Plugin.Config Ide.TypesIde.PluginUtilsIde.Plugin.ConfigUtilsbase Data.Function&logmdebugmwarningmerrorm PluginConfig plcGlobalOnplcCallHierarchyOnplcCodeActionsOn plcCodeLensOnplcDiagnosticsOn plcHoverOn plcSymbolsOnplcCompletionOn plcRenameOnplcSelectionRangeOn plcConfigConfig checkParents checkProjectformattingProvidermaxCompletionsplugins CheckParents NeverCheck CheckOnSave AlwaysCheckgetConfigFromNotification parseConfig$fFromJSONPluginConfig$fToJSONPluginConfig$fDefaultPluginConfig$fToJSONConfig$fDefaultConfig $fShowConfig $fEqConfig$fShowPluginConfig$fEqPluginConfig$fEqCheckParents$fOrdCheckParents$fShowCheckParents$fGenericCheckParents$fFromJSONCheckParents$fToJSONCheckParents HasProperty KeyNameProxy Properties SPropertyKeySNumberSIntegerSStringSBooleanSObjectSArraySEnum PropertyKeyMetaData EnumMetaData defaultValue description enumValuesenumDescriptionsToHsType PropertyTypeTNumberTIntegerTStringTBooleanTObjectTArrayTEnumemptyPropertiesusePropertyEither usePropertydefineNumberPropertydefineIntegerPropertydefineStringPropertydefineBooleanPropertydefineObjectPropertydefineArrayPropertydefineEnumProperty toDefaultJSONtoVSCodeExtensionSchema$fIsLabelsKeyNameProxy HasTracing traceWithSpanFallbackCodeActionParamsfallbackWorkspaceEditfallbackCommandFormattingHandlerFormattingMethodFormattingType FormatText FormatRangePluginIdCommandFunction PluginCommand commandId commandDesc commandFunc CommandIdPluginNotificationMethodHandlerPluginMethodHandlerPluginNotificationHandlersPluginHandlersPluginNotificationHandler PluginHandlerIdeNotification IdeMethod PluginMethod pluginEnabledcombineResponsesConfigDescriptorconfigEnableGenericConfigconfigHasDiagnosticsconfigCustomConfig CustomConfigPluginDescriptorpluginId pluginRulespluginCommandspluginHandlerspluginConfigDescriptorpluginNotificationHandlerspluginModifyDynflags pluginCli IdeCommandDynFlagsModificationsdynFlagsModifyGlobaldynFlagsModifyParser IdePluginsipMapmkCustomConfigdefaultConfigDescriptormkPluginHandlermkPluginNotificationHandlerdefaultPluginDescriptorconfigForPluginpluginEnabledConfigmkFormattingHandlers responseErrorotSetUri pROCESS_ID mkLspCommand mkLspCmdIdgetPid getProcessIDinstallSigUsr1Handler$fMonoidDynFlagsModifications $fSemigroupDynFlagsModifications$fShowIdeCommand$fIsStringCommandId$fIsStringPluginId,$fHasTracingCallHierarchyOutgoingCallsParams,$fHasTracingCallHierarchyIncomingCallsParams!$fHasTracingWorkspaceSymbolParams$fHasTracingMaybe$fHasTracingInitializeParams($fHasTracingDidChangeConfigurationParams+$fHasTracingDidChangeWorkspaceFoldersParams'$fHasTracingDidChangeWatchedFilesParams $fHasTracingExecuteCommandParams$fHasTracingValue $fHasTracinga$fGCompareMethodIdeNotification$fGEqMethodIdeNotification"$fMonoidPluginNotificationHandlers%$fSemigroupPluginNotificationHandlers$fPluginMethodfCustomMethod2$fPluginMethodFromClientCallHierarchyOutgoingCalls2$fPluginMethodFromClientCallHierarchyIncomingCalls2$fPluginMethodFromClientTextDocumentSelectionRange8$fPluginMethodFromClientTextDocumentPrepareCallHierarchy3$fPluginMethodFromClientTextDocumentRangeFormatting.$fPluginMethodFromClientTextDocumentFormatting.$fPluginMethodFromClientTextDocumentCompletion2$fPluginMethodFromClientTextDocumentDocumentSymbol)$fPluginMethodFromClientTextDocumentHover*$fPluginMethodFromClientTextDocumentRename,$fPluginMethodFromClientTextDocumentCodeLens.$fPluginMethodFromClientTextDocumentCodeAction$fGCompareMethodIdeMethod$fGEqMethodIdeMethod$fMonoidPluginHandlers$fSemigroupPluginHandlers$fMonoidIdePlugins$fSemigroupIdePlugins!$fGenericFallbackCodeActionParams $fToJSONFallbackCodeActionParams"$fFromJSONFallbackCodeActionParams$fShowPluginId$fReadPluginId $fEqPluginId $fOrdPluginId$fShowCommandId$fReadCommandId $fEqCommandId$fOrdCommandId WithDeletionsIncludeDeletions SkipDeletions normalizediffTextmakeDiffTextEditmakeDiffTextEditAdditive diffText'pluginDescToIdePluginsidePluginsToPluginDescgetClientConfiggetPluginConfigusePropertyLsp extractRange fullRangesubRangepositionInRange allLspCmdIds' allLspCmdIds handleMaybe handleMaybeMresponse$fEqWithDeletionspluginsToDefaultConfigpluginsToVSCodeExtensionSchemaghcDynFlags(lsp-types-1.4.0.1-86ehSMsexED91xL8ZapyDe Language.LSP.Types.WorkspaceEdit WorkspaceEdit