diff options
author | hjk <hjk@qt.io> | 2022-08-03 13:00:54 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2022-08-04 13:07:33 +0000 |
commit | 0a1edae9de2adf1ad41ad52ad2bc7f3b3a602733 (patch) | |
tree | 22372922f8bd407a7cf6ea6ed9489b5a85b28b53 | |
parent | c68f901aa893f0a7254251e0fb940e74b76fc0f7 (diff) |
LSP: Use char16_t literals for keys into json objects
Allows use of QStringView based QJson* functions.
Change-Id: I6f39306652bea3abecdcf9e1d4ae494a6b9101c7
Reviewed-by: David Schulz <david.schulz@qt.io>
-rw-r--r-- | src/libs/languageserverprotocol/basemessage.cpp | 7 | ||||
-rw-r--r-- | src/libs/languageserverprotocol/clientcapabilities.h | 2 | ||||
-rw-r--r-- | src/libs/languageserverprotocol/jsonkeys.h | 422 | ||||
-rw-r--r-- | src/libs/languageserverprotocol/jsonobject.cpp | 4 | ||||
-rw-r--r-- | src/libs/languageserverprotocol/jsonobject.h | 62 | ||||
-rw-r--r-- | src/libs/languageserverprotocol/workspace.h | 2 | ||||
-rw-r--r-- | src/plugins/clangcodemodel/clangdast.cpp | 4 | ||||
-rw-r--r-- | src/plugins/clangcodemodel/clangdclient.cpp | 14 | ||||
-rw-r--r-- | src/plugins/coco/cocolanguageclient.cpp | 2 | ||||
-rw-r--r-- | src/plugins/languageclient/lspinspector.cpp | 2 |
10 files changed, 261 insertions, 260 deletions
diff --git a/src/libs/languageserverprotocol/basemessage.cpp b/src/libs/languageserverprotocol/basemessage.cpp index 4e5f621ca01..ee0450010a3 100644 --- a/src/libs/languageserverprotocol/basemessage.cpp +++ b/src/libs/languageserverprotocol/basemessage.cpp @@ -37,6 +37,13 @@ namespace LanguageServerProtocol { Q_LOGGING_CATEGORY(parseLog, "qtc.languageserverprotocol.parse", QtWarningMsg) +constexpr char headerFieldSeparator[] = ": "; +constexpr char contentCharsetName[] = "charset"; +constexpr char defaultCharset[] = "utf-8"; +constexpr char contentLengthFieldName[] = "Content-Length"; +constexpr char headerSeparator[] = "\r\n"; +constexpr char contentTypeFieldName[] = "Content-Type"; + BaseMessage::BaseMessage() : mimeType(JsonRpcMessage::jsonRpcMimeType()) { } diff --git a/src/libs/languageserverprotocol/clientcapabilities.h b/src/libs/languageserverprotocol/clientcapabilities.h index bc6151a1740..93a7181de76 100644 --- a/src/libs/languageserverprotocol/clientcapabilities.h +++ b/src/libs/languageserverprotocol/clientcapabilities.h @@ -626,7 +626,7 @@ public: void clearWorkDoneProgress() { remove(workDoneProgressKey); } private: - constexpr static const char workDoneProgressKey[] = "workDoneProgress"; + constexpr static const char16_t workDoneProgressKey[] = u"workDoneProgress"; }; class LANGUAGESERVERPROTOCOL_EXPORT ClientCapabilities : public JsonObject diff --git a/src/libs/languageserverprotocol/jsonkeys.h b/src/libs/languageserverprotocol/jsonkeys.h index 3c520ebad93..a8e33ae0575 100644 --- a/src/libs/languageserverprotocol/jsonkeys.h +++ b/src/libs/languageserverprotocol/jsonkeys.h @@ -27,219 +27,213 @@ namespace LanguageServerProtocol { -constexpr char actionsKey[] = "actions"; -constexpr char activeParameterKey[] = "activeParameter"; -constexpr char activeParameterSupportKey[] = "activeParameterSupport"; -constexpr char activeSignatureKey[] = "activeSignature"; -constexpr char addedKey[] = "added"; -constexpr char additionalTextEditsKey[] = "additionalTextEdits"; -constexpr char alphaKey[] = "alpha"; -constexpr char appliedKey[] = "applied"; -constexpr char applyEditKey[] = "applyEdit"; -constexpr char argumentsKey[] = "arguments"; -constexpr char blueKey[] = "blue"; -constexpr char cancellableKey[] = "cancellable"; -constexpr char capabilitiesKey[] = "capabilities"; -constexpr char chKey[] = "ch"; -constexpr char changeKey[] = "change"; -constexpr char changeNotificationsKey[] = "changeNotifications"; -constexpr char changesKey[] = "changes"; -constexpr char characterKey[] = "character"; -constexpr char childrenKey[] = "children"; -constexpr char clientInfoKey[] = "clientInfo"; -constexpr char codeActionKey[] = "codeAction"; -constexpr char codeActionKindKey[] = "codeActionKind"; -constexpr char codeActionKindsKey[] = "codeActionKinds"; -constexpr char codeActionLiteralSupportKey[] = "codeActionLiteralSupport"; -constexpr char codeActionProviderKey[] = "codeActionProvider"; -constexpr char codeKey[] = "code"; -constexpr char codeLensKey[] = "codeLens"; -constexpr char codeLensProviderKey[] = "codeLensProvider"; -constexpr char colorInfoKey[] = "colorInfo"; -constexpr char colorKey[] = "color"; -constexpr char colorProviderKey[] = "colorProvider"; -constexpr char commandKey[] = "command"; -constexpr char commandsKey[] = "commands"; -constexpr char commitCharacterSupportKey[] = "commitCharacterSupport"; -constexpr char commitCharactersKey[] = "commitCharacters"; -constexpr char completionItemKey[] = "completionItem"; -constexpr char completionItemKindKey[] = "completionItemKind"; -constexpr char completionKey[] = "completion"; -constexpr char completionProviderKey[] = "completionProvider"; -constexpr char configurationKey[] = "configuration"; -constexpr char containerNameKey[] = "containerName"; -constexpr char contentChangesKey[] = "contentChanges"; -constexpr char contentCharsetName[] = "charset"; -constexpr char contentFormatKey[] = "contentFormat"; -constexpr char contentKey[] = "value"; -constexpr char contentLengthFieldName[] = "Content-Length"; -constexpr char contentTypeFieldName[] = "Content-Type"; -constexpr char contentsKey[] = "contents"; -constexpr char contextKey[] = "context"; -constexpr char contextSupportKey[] = "contextSupport"; -constexpr char dataKey[] = "data"; -constexpr char defaultCharset[] = "utf-8"; -constexpr char definitionKey[] = "definition"; -constexpr char definitionProviderKey[] = "definitionProvider"; -constexpr char deleteCountKey[] = "deleteCount"; -constexpr char deltaKey[] = "delta"; -constexpr char deprecatedKey[] = "deprecated"; -constexpr char detailKey[] = "detail"; -constexpr char diagnosticsKey[] = "diagnostics"; -constexpr char didChangeConfigurationKey[] = "didChangeConfiguration"; -constexpr char didChangeWatchedFilesKey[] = "didChangeWatchedFiles"; -constexpr char didSaveKey[] = "didSave"; -constexpr char documentChangesKey[] = "documentChanges"; -constexpr char documentFormattingProviderKey[] = "documentFormattingProvider"; -constexpr char documentHighlightKey[] = "documentHighlight"; -constexpr char documentHighlightProviderKey[] = "documentHighlightProvider"; -constexpr char documentLinkKey[] = "documentLink"; -constexpr char documentLinkProviderKey[] = "documentLinkProvider"; -constexpr char documentRangeFormattingProviderKey[] = "documentRangeFormattingProvider"; -constexpr char documentSelectorKey[] = "documentSelector"; -constexpr char documentSymbolKey[] = "documentSymbol"; -constexpr char documentSymbolProviderKey[] = "documentSymbolProvider"; -constexpr char documentationFormatKey[] = "documentationFormat"; -constexpr char documentationKey[] = "documentation"; -constexpr char dynamicRegistrationKey[] = "dynamicRegistration"; -constexpr char editKey[] = "edit"; -constexpr char editsKey[] = "edits"; -constexpr char endKey[] = "end"; -constexpr char errorKey[] = "error"; -constexpr char eventKey[] = "event"; -constexpr char executeCommandKey[] = "executeCommand"; -constexpr char executeCommandProviderKey[] = "executeCommandProvider"; -constexpr char experimentalKey[] = "experimental"; -constexpr char filterTextKey[] = "filterText"; -constexpr char firstTriggerCharacterKey[] = "firstTriggerCharacter"; -constexpr char formatsKey[] = "formats"; -constexpr char formattingKey[] = "formatting"; -constexpr char fullKey[] = "full"; -constexpr char greenKey[] = "green"; -constexpr char headerFieldSeparator[] = ": "; -constexpr char headerSeparator[] = "\r\n"; -constexpr char hierarchicalDocumentSymbolSupportKey[] = "hierarchicalDocumentSymbolSupport"; -constexpr char hoverKey[] = "hover"; -constexpr char hoverProviderKey[] = "hoverProvider"; -constexpr char idKey[] = "id"; -constexpr char implementationKey[] = "implementation"; -constexpr char implementationProviderKey[] = "implementationProvider"; -constexpr char includeDeclarationKey[] = "includeDeclaration"; -constexpr char includeTextKey[] = "includeText"; -constexpr char initializationOptionsKey[] = "initializationOptions"; -constexpr char insertFinalNewlineKey[] = "insertFinalNewline"; -constexpr char insertSpaceKey[] = "insertSpace"; -constexpr char insertTextFormatKey[] = "insertTextFormat"; -constexpr char insertTextKey[] = "insertText"; -constexpr char isIncompleteKey[] = "isIncomplete"; -constexpr char itemsKey[] = "items"; -constexpr char jsonRpcVersionKey[] = "jsonrpc"; -constexpr char kindKey[] = "kind"; -constexpr char labelKey[] = "label"; -constexpr char languageIdKey[] = "languageId"; -constexpr char languageKey[] = "language"; -constexpr char legendKey[] = "legend"; -constexpr char lineKey[] = "line"; -constexpr char linesKey[] = "lines"; -constexpr char locationKey[] = "location"; -constexpr char messageKey[] = "message"; -constexpr char methodKey[] = "method"; -constexpr char moreTriggerCharacterKey[] = "moreTriggerCharacter"; -constexpr char multiLineTokenSupportKey[] = "multiLineTokenSupport"; -constexpr char nameKey[] = "name"; -constexpr char newNameKey[] = "newName"; -constexpr char newTextKey[] = "newText"; -constexpr char onTypeFormattingKey[] = "onTypeFormatting"; -constexpr char onlyKey[] = "only"; -constexpr char openCloseKey[] = "openClose"; -constexpr char optionsKey[] = "options"; -constexpr char overlappingTokenSupportKey[] = "overlappingTokenSupport"; -constexpr char parametersKey[] = "parameters"; -constexpr char paramsKey[] = "params"; -constexpr char patternKey[] = "pattern"; -constexpr char percentageKey[] = "percentage"; -constexpr char placeHolderKey[] = "placeHolder"; -constexpr char positionKey[] = "position"; -constexpr char prepareProviderKey[] = "prepareProvider"; -constexpr char prepareSupportKey[] = "prepareSupport"; -constexpr char previousResultIdKey[] = "previousResultId"; -constexpr char processIdKey[] = "processId"; -constexpr char queryKey[] = "query"; -constexpr char rangeFormattingKey[] = "rangeFormatting"; -constexpr char rangeKey[] = "range"; -constexpr char rangeLengthKey[] = "rangeLength"; -constexpr char reasonKey[] = "reason"; -constexpr char redKey[] = "red"; -constexpr char referencesKey[] = "references"; -constexpr char referencesProviderKey[] = "referencesProvider"; -constexpr char refreshSupportKey[] = "refreshSupport"; -constexpr char registerOptionsKey[] = "registerOptions"; -constexpr char registrationsKey[] = "registrations"; -constexpr char removedKey[] = "removed"; -constexpr char renameKey[] = "rename"; -constexpr char renameProviderKey[] = "renameProvider"; -constexpr char requestsKey[] = "requests"; -constexpr char resolveProviderKey[] = "resolveProvider"; -constexpr char resultIdKey[] = "resultId"; -constexpr char resultKey[] = "result"; -constexpr char retryKey[] = "retry"; -constexpr char rootPathKey[] = "rootPath"; -constexpr char rootUriKey[] = "rootUri"; -constexpr char saveKey[] = "save"; -constexpr char schemeKey[] = "scheme"; -constexpr char scopeUriKey[] = "scopeUri"; -constexpr char sectionKey[] = "section"; -constexpr char selectionRangeKey[] = "selectionRange"; -constexpr char semanticTokensKey[] = "semanticTokens"; -constexpr char semanticTokensProviderKey[] = "semanticTokensProvider"; -constexpr char serverInfoKey[] = "serverInfo"; -constexpr char settingsKey[] = "settings"; -constexpr char severityKey[] = "severity"; -constexpr char signatureHelpKey[] = "signatureHelp"; -constexpr char signatureHelpProviderKey[] = "signatureHelpProvider"; -constexpr char signatureInformationKey[] = "signatureInformation"; -constexpr char signaturesKey[] = "signatures"; -constexpr char snippetSupportKey[] = "snippetSupport"; -constexpr char sortTextKey[] = "sortText"; -constexpr char sourceKey[] = "source"; -constexpr char startKey[] = "start"; -constexpr char supportedKey[] = "supported"; -constexpr char symbolKey[] = "symbol"; -constexpr char symbolKindKey[] = "symbolKind"; -constexpr char syncKindKey[] = "syncKind"; -constexpr char synchronizationKey[] = "synchronization"; -constexpr char tabSizeKey[] = "tabSize"; -constexpr char tagsKey[] = "tags"; -constexpr char targetKey[] = "target"; -constexpr char textDocumentKey[] = "textDocument"; -constexpr char textDocumentSyncKey[] = "textDocumentSync"; -constexpr char textEditKey[] = "textEdit"; -constexpr char textKey[] = "text"; -constexpr char titleKey[] = "title"; -constexpr char tokenKey[] = "token"; -constexpr char tokenModifiersKey[] = "tokenModifiers"; -constexpr char tokenTypesKey[] = "tokenTypes"; -constexpr char traceKey[] = "trace"; -constexpr char triggerCharacterKey[] = "triggerCharacter"; -constexpr char triggerCharactersKey[] = "triggerCharacters"; -constexpr char triggerKindKey[] = "triggerKind"; -constexpr char trimFinalNewlinesKey[] = "trimFinalNewlines"; -constexpr char trimTrailingWhitespaceKey[] = "trimTrailingWhitespace"; -constexpr char typeDefinitionKey[] = "typeDefinition"; -constexpr char typeDefinitionProviderKey[] = "typeDefinitionProvider"; -constexpr char typeKey[] = "type"; -constexpr char unregistrationsKey[] = "unregistrations"; -constexpr char uriKey[] = "uri"; -constexpr char valueKey[] = "value"; -constexpr char valueSetKey[] = "valueSet"; -constexpr char versionKey[] = "version"; -constexpr char willSaveKey[] = "willSave"; -constexpr char willSaveWaitUntilKey[] = "willSaveWaitUntil"; -constexpr char windowKey[] = "window"; -constexpr char workDoneProgressKey[] = "workDoneProgress"; -constexpr char workspaceEditKey[] = "workspaceEdit"; -constexpr char workspaceFoldersKey[] = "workspaceFolders"; -constexpr char workspaceKey[] = "workspace"; -constexpr char workspaceSymbolProviderKey[] = "workspaceSymbolProvider"; +constexpr char16_t actionsKey[] = u"actions"; +constexpr char16_t activeParameterKey[] = u"activeParameter"; +constexpr char16_t activeParameterSupportKey[] = u"activeParameterSupport"; +constexpr char16_t activeSignatureKey[] = u"activeSignature"; +constexpr char16_t addedKey[] = u"added"; +constexpr char16_t additionalTextEditsKey[] = u"additionalTextEdits"; +constexpr char16_t alphaKey[] = u"alpha"; +constexpr char16_t appliedKey[] = u"applied"; +constexpr char16_t applyEditKey[] = u"applyEdit"; +constexpr char16_t argumentsKey[] = u"arguments"; +constexpr char16_t blueKey[] = u"blue"; +constexpr char16_t cancellableKey[] = u"cancellable"; +constexpr char16_t capabilitiesKey[] = u"capabilities"; +constexpr char16_t chKey[] = u"ch"; +constexpr char16_t changeKey[] = u"change"; +constexpr char16_t changeNotificationsKey[] = u"changeNotifications"; +constexpr char16_t changesKey[] = u"changes"; +constexpr char16_t characterKey[] = u"character"; +constexpr char16_t childrenKey[] = u"children"; +constexpr char16_t clientInfoKey[] = u"clientInfo"; +constexpr char16_t codeActionKey[] = u"codeAction"; +constexpr char16_t codeActionKindKey[] = u"codeActionKind"; +constexpr char16_t codeActionKindsKey[] = u"codeActionKinds"; +constexpr char16_t codeActionLiteralSupportKey[] = u"codeActionLiteralSupport"; +constexpr char16_t codeActionProviderKey[] = u"codeActionProvider"; +constexpr char16_t codeKey[] = u"code"; +constexpr char16_t codeLensKey[] = u"codeLens"; +constexpr char16_t codeLensProviderKey[] = u"codeLensProvider"; +constexpr char16_t colorInfoKey[] = u"colorInfo"; +constexpr char16_t colorKey[] = u"color"; +constexpr char16_t colorProviderKey[] = u"colorProvider"; +constexpr char16_t commandKey[] = u"command"; +constexpr char16_t commandsKey[] = u"commands"; +constexpr char16_t commitCharacterSupportKey[] = u"commitCharacterSupport"; +constexpr char16_t commitCharactersKey[] = u"commitCharacters"; +constexpr char16_t completionItemKey[] = u"completionItem"; +constexpr char16_t completionItemKindKey[] = u"completionItemKind"; +constexpr char16_t completionKey[] = u"completion"; +constexpr char16_t completionProviderKey[] = u"completionProvider"; +constexpr char16_t configurationKey[] = u"configuration"; +constexpr char16_t containerNameKey[] = u"containerName"; +constexpr char16_t contentChangesKey[] = u"contentChanges"; +constexpr char16_t contentFormatKey[] = u"contentFormat"; +constexpr char16_t contentKey[] = u"value"; +constexpr char16_t contentsKey[] = u"contents"; +constexpr char16_t contextKey[] = u"context"; +constexpr char16_t contextSupportKey[] = u"contextSupport"; +constexpr char16_t dataKey[] = u"data"; +constexpr char16_t definitionKey[] = u"definition"; +constexpr char16_t definitionProviderKey[] = u"definitionProvider"; +constexpr char16_t deleteCountKey[] = u"deleteCount"; +constexpr char16_t deltaKey[] = u"delta"; +constexpr char16_t deprecatedKey[] = u"deprecated"; +constexpr char16_t detailKey[] = u"detail"; +constexpr char16_t diagnosticsKey[] = u"diagnostics"; +constexpr char16_t didChangeConfigurationKey[] = u"didChangeConfiguration"; +constexpr char16_t didChangeWatchedFilesKey[] = u"didChangeWatchedFiles"; +constexpr char16_t didSaveKey[] = u"didSave"; +constexpr char16_t documentChangesKey[] = u"documentChanges"; +constexpr char16_t documentFormattingProviderKey[] = u"documentFormattingProvider"; +constexpr char16_t documentHighlightKey[] = u"documentHighlight"; +constexpr char16_t documentHighlightProviderKey[] = u"documentHighlightProvider"; +constexpr char16_t documentLinkKey[] = u"documentLink"; +constexpr char16_t documentLinkProviderKey[] = u"documentLinkProvider"; +constexpr char16_t documentRangeFormattingProviderKey[] = u"documentRangeFormattingProvider"; +constexpr char16_t documentSelectorKey[] = u"documentSelector"; +constexpr char16_t documentSymbolKey[] = u"documentSymbol"; +constexpr char16_t documentSymbolProviderKey[] = u"documentSymbolProvider"; +constexpr char16_t documentationFormatKey[] = u"documentationFormat"; +constexpr char16_t documentationKey[] = u"documentation"; +constexpr char16_t dynamicRegistrationKey[] = u"dynamicRegistration"; +constexpr char16_t editKey[] = u"edit"; +constexpr char16_t editsKey[] = u"edits"; +constexpr char16_t endKey[] = u"end"; +constexpr char16_t errorKey[] = u"error"; +constexpr char16_t eventKey[] = u"event"; +constexpr char16_t executeCommandKey[] = u"executeCommand"; +constexpr char16_t executeCommandProviderKey[] = u"executeCommandProvider"; +constexpr char16_t experimentalKey[] = u"experimental"; +constexpr char16_t filterTextKey[] = u"filterText"; +constexpr char16_t firstTriggerCharacterKey[] = u"firstTriggerCharacter"; +constexpr char16_t formatsKey[] = u"formats"; +constexpr char16_t formattingKey[] = u"formatting"; +constexpr char16_t fullKey[] = u"full"; +constexpr char16_t greenKey[] = u"green"; +constexpr char16_t hierarchicalDocumentSymbolSupportKey[] = u"hierarchicalDocumentSymbolSupport"; +constexpr char16_t hoverKey[] = u"hover"; +constexpr char16_t hoverProviderKey[] = u"hoverProvider"; +constexpr char16_t idKey[] = u"id"; +constexpr char16_t implementationKey[] = u"implementation"; +constexpr char16_t implementationProviderKey[] = u"implementationProvider"; +constexpr char16_t includeDeclarationKey[] = u"includeDeclaration"; +constexpr char16_t includeTextKey[] = u"includeText"; +constexpr char16_t initializationOptionsKey[] = u"initializationOptions"; +constexpr char16_t insertFinalNewlineKey[] = u"insertFinalNewline"; +constexpr char16_t insertSpaceKey[] = u"insertSpace"; +constexpr char16_t insertTextFormatKey[] = u"insertTextFormat"; +constexpr char16_t insertTextKey[] = u"insertText"; +constexpr char16_t isIncompleteKey[] = u"isIncomplete"; +constexpr char16_t itemsKey[] = u"items"; +constexpr char16_t jsonRpcVersionKey[] = u"jsonrpc"; +constexpr char16_t kindKey[] = u"kind"; +constexpr char16_t labelKey[] = u"label"; +constexpr char16_t languageIdKey[] = u"languageId"; +constexpr char16_t languageKey[] = u"language"; +constexpr char16_t legendKey[] = u"legend"; +constexpr char16_t lineKey[] = u"line"; +constexpr char16_t linesKey[] = u"lines"; +constexpr char16_t locationKey[] = u"location"; +constexpr char16_t messageKey[] = u"message"; +constexpr char16_t methodKey[] = u"method"; +constexpr char16_t moreTriggerCharacterKey[] = u"moreTriggerCharacter"; +constexpr char16_t multiLineTokenSupportKey[] = u"multiLineTokenSupport"; +constexpr char16_t nameKey[] = u"name"; +constexpr char16_t newNameKey[] = u"newName"; +constexpr char16_t newTextKey[] = u"newText"; +constexpr char16_t onTypeFormattingKey[] = u"onTypeFormatting"; +constexpr char16_t onlyKey[] = u"only"; +constexpr char16_t openCloseKey[] = u"openClose"; +constexpr char16_t optionsKey[] = u"options"; +constexpr char16_t overlappingTokenSupportKey[] = u"overlappingTokenSupport"; +constexpr char16_t parametersKey[] = u"parameters"; +constexpr char16_t paramsKey[] = u"params"; +constexpr char16_t patternKey[] = u"pattern"; +constexpr char16_t percentageKey[] = u"percentage"; +constexpr char16_t placeHolderKey[] = u"placeHolder"; +constexpr char16_t positionKey[] = u"position"; +constexpr char16_t prepareProviderKey[] = u"prepareProvider"; +constexpr char16_t prepareSupportKey[] = u"prepareSupport"; +constexpr char16_t previousResultIdKey[] = u"previousResultId"; +constexpr char16_t processIdKey[] = u"processId"; +constexpr char16_t queryKey[] = u"query"; +constexpr char16_t rangeFormattingKey[] = u"rangeFormatting"; +constexpr char16_t rangeKey[] = u"range"; +constexpr char16_t rangeLengthKey[] = u"rangeLength"; +constexpr char16_t reasonKey[] = u"reason"; +constexpr char16_t redKey[] = u"red"; +constexpr char16_t referencesKey[] = u"references"; +constexpr char16_t referencesProviderKey[] = u"referencesProvider"; +constexpr char16_t refreshSupportKey[] = u"refreshSupport"; +constexpr char16_t registerOptionsKey[] = u"registerOptions"; +constexpr char16_t registrationsKey[] = u"registrations"; +constexpr char16_t removedKey[] = u"removed"; +constexpr char16_t renameKey[] = u"rename"; +constexpr char16_t renameProviderKey[] = u"renameProvider"; +constexpr char16_t requestsKey[] = u"requests"; +constexpr char16_t resolveProviderKey[] = u"resolveProvider"; +constexpr char16_t resultIdKey[] = u"resultId"; +constexpr char16_t resultKey[] = u"result"; +constexpr char16_t retryKey[] = u"retry"; +constexpr char16_t rootPathKey[] = u"rootPath"; +constexpr char16_t rootUriKey[] = u"rootUri"; +constexpr char16_t saveKey[] = u"save"; +constexpr char16_t schemeKey[] = u"scheme"; +constexpr char16_t scopeUriKey[] = u"scopeUri"; +constexpr char16_t sectionKey[] = u"section"; +constexpr char16_t selectionRangeKey[] = u"selectionRange"; +constexpr char16_t semanticTokensKey[] = u"semanticTokens"; +constexpr char16_t semanticTokensProviderKey[] = u"semanticTokensProvider"; +constexpr char16_t serverInfoKey[] = u"serverInfo"; +constexpr char16_t settingsKey[] = u"settings"; +constexpr char16_t severityKey[] = u"severity"; +constexpr char16_t signatureHelpKey[] = u"signatureHelp"; +constexpr char16_t signatureHelpProviderKey[] = u"signatureHelpProvider"; +constexpr char16_t signatureInformationKey[] = u"signatureInformation"; +constexpr char16_t signaturesKey[] = u"signatures"; +constexpr char16_t snippetSupportKey[] = u"snippetSupport"; +constexpr char16_t sortTextKey[] = u"sortText"; +constexpr char16_t sourceKey[] = u"source"; +constexpr char16_t startKey[] = u"start"; +constexpr char16_t supportedKey[] = u"supported"; +constexpr char16_t symbolKey[] = u"symbol"; +constexpr char16_t symbolKindKey[] = u"symbolKind"; +constexpr char16_t syncKindKey[] = u"syncKind"; +constexpr char16_t synchronizationKey[] = u"synchronization"; +constexpr char16_t tabSizeKey[] = u"tabSize"; +constexpr char16_t tagsKey[] = u"tags"; +constexpr char16_t targetKey[] = u"target"; +constexpr char16_t textDocumentKey[] = u"textDocument"; +constexpr char16_t textDocumentSyncKey[] = u"textDocumentSync"; +constexpr char16_t textEditKey[] = u"textEdit"; +constexpr char16_t textKey[] = u"text"; +constexpr char16_t titleKey[] = u"title"; +constexpr char16_t tokenKey[] = u"token"; +constexpr char16_t tokenModifiersKey[] = u"tokenModifiers"; +constexpr char16_t tokenTypesKey[] = u"tokenTypes"; +constexpr char16_t traceKey[] = u"trace"; +constexpr char16_t triggerCharacterKey[] = u"triggerCharacter"; +constexpr char16_t triggerCharactersKey[] = u"triggerCharacters"; +constexpr char16_t triggerKindKey[] = u"triggerKind"; +constexpr char16_t trimFinalNewlinesKey[] = u"trimFinalNewlines"; +constexpr char16_t trimTrailingWhitespaceKey[] = u"trimTrailingWhitespace"; +constexpr char16_t typeDefinitionKey[] = u"typeDefinition"; +constexpr char16_t typeDefinitionProviderKey[] = u"typeDefinitionProvider"; +constexpr char16_t typeKey[] = u"type"; +constexpr char16_t unregistrationsKey[] = u"unregistrations"; +constexpr char16_t uriKey[] = u"uri"; +constexpr char16_t valueKey[] = u"value"; +constexpr char16_t valueSetKey[] = u"valueSet"; +constexpr char16_t versionKey[] = u"version"; +constexpr char16_t willSaveKey[] = u"willSave"; +constexpr char16_t willSaveWaitUntilKey[] = u"willSaveWaitUntil"; +constexpr char16_t windowKey[] = u"window"; +constexpr char16_t workDoneProgressKey[] = u"workDoneProgress"; +constexpr char16_t workspaceEditKey[] = u"workspaceEdit"; +constexpr char16_t workspaceFoldersKey[] = u"workspaceFolders"; +constexpr char16_t workspaceKey[] = u"workspace"; +constexpr char16_t workspaceSymbolProviderKey[] = u"workspaceSymbolProvider"; } // namespace LanguageServerProtocol diff --git a/src/libs/languageserverprotocol/jsonobject.cpp b/src/libs/languageserverprotocol/jsonobject.cpp index 75edb76de3b..47d2bb7824c 100644 --- a/src/libs/languageserverprotocol/jsonobject.cpp +++ b/src/libs/languageserverprotocol/jsonobject.cpp @@ -37,12 +37,12 @@ JsonObject &JsonObject::operator=(JsonObject &&other) return *this; } -QJsonObject::iterator JsonObject::insert(const QString &key, const JsonObject &object) +QJsonObject::iterator JsonObject::insert(const QStringView key, const JsonObject &object) { return m_jsonObject.insert(key, object.m_jsonObject); } -QJsonObject::iterator JsonObject::insert(const QString &key, const QJsonValue &value) +QJsonObject::iterator JsonObject::insert(const QStringView key, const QJsonValue &value) { return m_jsonObject.insert(key, value); } diff --git a/src/libs/languageserverprotocol/jsonobject.h b/src/libs/languageserverprotocol/jsonobject.h index 9f27b478cd1..9dd172bbeff 100644 --- a/src/libs/languageserverprotocol/jsonobject.h +++ b/src/libs/languageserverprotocol/jsonobject.h @@ -67,88 +67,88 @@ public: const_iterator end() const { return m_jsonObject.end(); } protected: - iterator insert(const QString &key, const JsonObject &value); - iterator insert(const QString &key, const QJsonValue &value); + iterator insert(const QStringView key, const JsonObject &value); + iterator insert(const QStringView key, const QJsonValue &value); template <typename T, typename V> - iterator insertVariant(const QString &key, const V &variant); + iterator insertVariant(const QStringView key, const V &variant); template <typename T1, typename T2, typename... Args, typename V> - iterator insertVariant(const QString &key, const V &variant); + iterator insertVariant(const QStringView key, const V &variant); // QJSonObject redirections - QJsonValue value(const QString &key) const { return m_jsonObject.value(key); } - bool contains(const QString &key) const { return m_jsonObject.contains(key); } - iterator find(const QString &key) { return m_jsonObject.find(key); } - const_iterator find(const QString &key) const { return m_jsonObject.find(key); } - void remove(const QString &key) { m_jsonObject.remove(key); } + QJsonValue value(const QStringView key) const { return m_jsonObject.value(key); } + bool contains(const QStringView key) const { return m_jsonObject.contains(key); } + iterator find(const QStringView key) { return m_jsonObject.find(key); } + const_iterator find(const QStringView key) const { return m_jsonObject.find(key); } + void remove(const QStringView key) { m_jsonObject.remove(key); } QStringList keys() const { return m_jsonObject.keys(); } // convenience value access template<typename T> - T typedValue(const QString &key) const; + T typedValue(const QStringView key) const; template<typename T> - Utils::optional<T> optionalValue(const QString &key) const; + Utils::optional<T> optionalValue(const QStringView key) const; template<typename T> - LanguageClientValue<T> clientValue(const QString &key) const; + LanguageClientValue<T> clientValue(const QStringView key) const; template<typename T> - Utils::optional<LanguageClientValue<T>> optionalClientValue(const QString &key) const; + Utils::optional<LanguageClientValue<T>> optionalClientValue(const QStringView key) const; template<typename T> - QList<T> array(const QString &key) const; + QList<T> array(const QStringView key) const; template<typename T> - Utils::optional<QList<T>> optionalArray(const QString &key) const; + Utils::optional<QList<T>> optionalArray(const QStringView key) const; template<typename T> - LanguageClientArray<T> clientArray(const QString &key) const; + LanguageClientArray<T> clientArray(const QStringView key) const; template<typename T> - Utils::optional<LanguageClientArray<T>> optionalClientArray(const QString &key) const; + Utils::optional<LanguageClientArray<T>> optionalClientArray(const QStringView key) const; template<typename T> - void insertArray(const QString &key, const QList<T> &array); + void insertArray(const QStringView key, const QList<T> &array); template<typename> - void insertArray(const QString &key, const QList<JsonObject> &array); + void insertArray(const QStringView key, const QList<JsonObject> &array); private: QJsonObject m_jsonObject; }; template<typename T, typename V> -JsonObject::iterator JsonObject::insertVariant(const QString &key, const V &variant) +JsonObject::iterator JsonObject::insertVariant(const QStringView key, const V &variant) { return Utils::holds_alternative<T>(variant) ? insert(key, Utils::get<T>(variant)) : end(); } template<typename T1, typename T2, typename... Args, typename V> -JsonObject::iterator JsonObject::insertVariant(const QString &key, const V &variant) +JsonObject::iterator JsonObject::insertVariant(const QStringView key, const V &variant) { auto result = insertVariant<T1>(key, variant); return result != end() ? result : insertVariant<T2, Args...>(key, variant); } template<typename T> -T JsonObject::typedValue(const QString &key) const +T JsonObject::typedValue(const QStringView key) const { return fromJsonValue<T>(value(key)); } template<typename T> -Utils::optional<T> JsonObject::optionalValue(const QString &key) const +Utils::optional<T> JsonObject::optionalValue(const QStringView key) const { const QJsonValue &val = value(key); return val.isUndefined() ? Utils::nullopt : Utils::make_optional(fromJsonValue<T>(val)); } template<typename T> -LanguageClientValue<T> JsonObject::clientValue(const QString &key) const +LanguageClientValue<T> JsonObject::clientValue(const QStringView key) const { return LanguageClientValue<T>(value(key)); } template<typename T> -Utils::optional<LanguageClientValue<T>> JsonObject::optionalClientValue(const QString &key) const +Utils::optional<LanguageClientValue<T>> JsonObject::optionalClientValue(const QStringView key) const { return contains(key) ? Utils::make_optional(clientValue<T>(key)) : Utils::nullopt; } template<typename T> -QList<T> JsonObject::array(const QString &key) const +QList<T> JsonObject::array(const QStringView key) const { if (const Utils::optional<QList<T>> &array = optionalArray<T>(key)) return *array; @@ -157,7 +157,7 @@ QList<T> JsonObject::array(const QString &key) const } template<typename T> -Utils::optional<QList<T>> JsonObject::optionalArray(const QString &key) const +Utils::optional<QList<T>> JsonObject::optionalArray(const QStringView key) const { const QJsonValue &jsonValue = value(key); if (jsonValue.isUndefined()) @@ -166,13 +166,13 @@ Utils::optional<QList<T>> JsonObject::optionalArray(const QString &key) const } template<typename T> -LanguageClientArray<T> JsonObject::clientArray(const QString &key) const +LanguageClientArray<T> JsonObject::clientArray(const QStringView key) const { return LanguageClientArray<T>(value(key)); } template<typename T> -Utils::optional<LanguageClientArray<T>> JsonObject::optionalClientArray(const QString &key) const +Utils::optional<LanguageClientArray<T>> JsonObject::optionalClientArray(const QStringView key) const { const QJsonValue &val = value(key); return !val.isUndefined() ? Utils::make_optional(LanguageClientArray<T>(value(key))) @@ -180,7 +180,7 @@ Utils::optional<LanguageClientArray<T>> JsonObject::optionalClientArray(const QS } template<typename T> -void JsonObject::insertArray(const QString &key, const QList<T> &array) +void JsonObject::insertArray(const QStringView key, const QList<T> &array) { QJsonArray jsonArray; for (const T &item : array) @@ -189,7 +189,7 @@ void JsonObject::insertArray(const QString &key, const QList<T> &array) } template<typename > -void JsonObject::insertArray(const QString &key, const QList<JsonObject> &array) +void JsonObject::insertArray(const QStringView key, const QList<JsonObject> &array) { QJsonArray jsonArray; for (const JsonObject &item : array) diff --git a/src/libs/languageserverprotocol/workspace.h b/src/libs/languageserverprotocol/workspace.h index 235ddbe9a59..6179cd70005 100644 --- a/src/libs/languageserverprotocol/workspace.h +++ b/src/libs/languageserverprotocol/workspace.h @@ -188,7 +188,7 @@ public: QString query() const { return typedValue<QString>(queryKey); } void setQuery(const QString &query) { insert(queryKey, query); } - void setLimit(int limit) { insert("limit", limit); } // clangd extension + void setLimit(int limit) { insert(u"limit", limit); } // clangd extension bool isValid() const override { return contains(queryKey); } }; diff --git a/src/plugins/clangcodemodel/clangdast.cpp b/src/plugins/clangcodemodel/clangdast.cpp index dbfaabea8c0..cc4f9708985 100644 --- a/src/plugins/clangcodemodel/clangdast.cpp +++ b/src/plugins/clangcodemodel/clangdast.cpp @@ -40,8 +40,8 @@ using namespace Utils; namespace ClangCodeModel::Internal { -static constexpr char roleKey[] = "role"; -static constexpr char arcanaKey[] = "arcana"; +static constexpr char16_t roleKey[] = u"role"; +static constexpr char16_t arcanaKey[] = u"arcana"; QString ClangdAstNode::role() const { return typedValue<QString>(roleKey); } QString ClangdAstNode::kind() const { return typedValue<QString>(kindKey); } diff --git a/src/plugins/clangcodemodel/clangdclient.cpp b/src/plugins/clangcodemodel/clangdclient.cpp index 82b0944901e..9e828900a7c 100644 --- a/src/plugins/clangcodemodel/clangdclient.cpp +++ b/src/plugins/clangcodemodel/clangdclient.cpp @@ -217,7 +217,7 @@ class SymbolDetails : public JsonObject public: using JsonObject::JsonObject; - static constexpr char usrKey[] = "usr"; + static constexpr char16_t usrKey[] = u"usr"; // the unqualified name of the symbol QString name() const { return typedValue<QString>(nameKey); } @@ -341,8 +341,8 @@ class DiagnosticsCapabilities : public JsonObject { public: using JsonObject::JsonObject; - void enableCategorySupport() { insert("categorySupport", true); } - void enableCodeActionsInline() {insert("codeActionsInline", true);} + void enableCategorySupport() { insert(u"categorySupport", true); } + void enableCodeActionsInline() {insert(u"codeActionsInline", true);} }; class ClangdTextDocumentClientCapabilities : public TextDocumentClientCapabilities @@ -352,7 +352,7 @@ public: void setPublishDiagnostics(const DiagnosticsCapabilities &caps) - { insert("publishDiagnostics", caps); } + { insert(u"publishDiagnostics", caps); } }; @@ -674,7 +674,7 @@ public: explicit ClangdCompletionCapabilities(const JsonObject &object) : TextDocumentClientCapabilities::CompletionCapabilities(object) { - insert("editsNearCursor", true); // For dot-to-arrow correction. + insert(u"editsNearCursor", true); // For dot-to-arrow correction. if (Utils::optional<CompletionItemCapbilities> completionItemCaps = completionItem()) { completionItemCaps->setSnippetSupport(false); setCompletionItem(*completionItemCaps); @@ -2176,7 +2176,7 @@ void ClangdClient::Private::handleSemanticTokens(TextDocument *doc, Utils::optional<QList<CodeAction> > ClangdDiagnostic::codeActions() const { - auto actions = optionalArray<LanguageServerProtocol::CodeAction>("codeActions"); + auto actions = optionalArray<LanguageServerProtocol::CodeAction>(u"codeActions"); if (!actions) return actions; static const QStringList badCodeActions{ @@ -2193,7 +2193,7 @@ Utils::optional<QList<CodeAction> > ClangdDiagnostic::codeActions() const QString ClangdDiagnostic::category() const { - return typedValue<QString>("category"); + return typedValue<QString>(u"category"); } class ClangdClient::ClangdFunctionHintProcessor : public FunctionHintProcessor diff --git a/src/plugins/coco/cocolanguageclient.cpp b/src/plugins/coco/cocolanguageclient.cpp index 45cb39e9f74..c26bd83bc45 100644 --- a/src/plugins/coco/cocolanguageclient.cpp +++ b/src/plugins/coco/cocolanguageclient.cpp @@ -260,7 +260,7 @@ public: void enableCodecoverageSupport() { JsonObject coverageSupport(QJsonObject{{"codeCoverageSupport", true}}); - insert("publishDiagnostics", coverageSupport); + insert(u"publishDiagnostics", coverageSupport); } }; diff --git a/src/plugins/languageclient/lspinspector.cpp b/src/plugins/languageclient/lspinspector.cpp index 97ef86b3316..051e168f263 100644 --- a/src/plugins/languageclient/lspinspector.cpp +++ b/src/plugins/languageclient/lspinspector.cpp @@ -549,7 +549,7 @@ QString LspLogMessage::displayText() const if (!m_displayText.has_value()) { m_displayText = QString(time.toString("hh:mm:ss.zzz") + '\n'); m_displayText->append( - message.toJsonObject().value(QString{methodKey}).toString(id().toString())); + message.toJsonObject().value(methodKey).toString(id().toString())); } return *m_displayText; } |