h$&!h      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None #$/8:<>hls-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 6 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 site-hls-plugin-api- 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 H and J to create and consume -..hls-plugin-apiSingleton type of 66hls-plugin-api,Used at type level for name-type mapping in -8hls-plugin-apiMetadata of a property@hls-plugin-apiTypes properties may haveHhls-plugin-api Creates a - 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 Ihls-plugin-apiGiven the name of a defined property, generates a JSON parser of  plcConfigJhls-plugin-apiLike I but returns ; on parse errorKhls-plugin-apiDefines a number propertyLhls-plugin-apiDefines an integer propertyMhls-plugin-apiDefines a string propertyNhls-plugin-apiDefines a boolean propertyOhls-plugin-apiDefines an object propertyPhls-plugin-apiDefines an array propertyQhls-plugin-apiDefines an enum propertyRhls-plugin-apiConverts a properties definition into kv pairs with default values from 8Shls-plugin-api?Converts a properties definition into kv pairs as vscode schemaKhls-plugin-api descriptionhls-plugin-api default valueLhls-plugin-api descriptionhls-plugin-api default valueMhls-plugin-api descriptionhls-plugin-api default valueNhls-plugin-api descriptionhls-plugin-api default valueOhls-plugin-api descriptionhls-plugin-api default valuePhls-plugin-api descriptionhls-plugin-api default valueQhls-plugin-api descriptionhls-plugin-api+valid enum members with each of description+*+,-./0123456789:<;=>?@FABCDEGHIJKLMNOPQRS+@FABCDEG?89:<;=>67./012345+,-*HKLMNOPQRSIJNone #$%&'(-./89:<>?]hls-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 ^ as the FormattingType.rhls-plugin-apiCombine handlers for thethls-plugin-api*Methods which have a PluginMethod instancevhls-plugin-api*Methods which have a PluginMethod instancexhls-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 xyhls-plugin-api:Parse the configuration to check if this plugin is enabledzhls-plugin-api/How to combine responses from different plugins{hls-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 -.}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 -hls-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.zhls-plugin-apiIDE ConfigurationUVWXZY[\]_^`abcdgfehijklmnopqrstuvwxzy{|~}{|~}xzyvwturspqnolmkjhicdgfeb`a]_^\[WXZYUVNone /?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 textyyNone  #$&'(/!\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       !"#$%&'()*+,-./01123456789:;;<<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZZ[\]^_`abbcddefghhijkkllmmnnooppqrsttuvwxxyyz{|}~-hls-plugin-api-1.4.0.0-D4lE1R4ksV3HdBQp6Opb7QIde.Plugin.PropertiesIde.Plugin.Config Ide.TypesIde.PluginUtilsIde.Plugin.ConfigUtilsbase Data.Function& 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' allLspCmdIdsgetNormalizedFilePath handleMaybe handleMaybeMresponse$fEqWithDeletionspluginsToDefaultConfigpluginsToVSCodeExtensionSchemaghcDynFlags(lsp-types-1.4.0.1-9tdZ0Zzj9mxDcDlA9wn8mB Language.LSP.Types.WorkspaceEdit WorkspaceEdit