LanguageServerProtocol: add new format options

see https://microsoft.github.io/language-server-protocol/specifications/
specification-3-15/#version_3_15_0

Change-Id: I6279ad9d8d4db706daab56efef45a13a3f8b06ae
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2021-01-26 13:45:18 +01:00
parent cb96b91dd4
commit 45fa8894bd
2 changed files with 21 additions and 0 deletions

View File

@@ -119,6 +119,7 @@ constexpr char implementationProviderKey[] = "implementationProvider";
constexpr char includeDeclarationKey[] = "includeDeclaration"; constexpr char includeDeclarationKey[] = "includeDeclaration";
constexpr char includeTextKey[] = "includeText"; constexpr char includeTextKey[] = "includeText";
constexpr char initializationOptionsKey[] = "initializationOptions"; constexpr char initializationOptionsKey[] = "initializationOptions";
constexpr char insertFinalNewlineKey[] = "insertFinalNewline";
constexpr char insertSpaceKey[] = "insertSpace"; constexpr char insertSpaceKey[] = "insertSpace";
constexpr char insertTextFormatKey[] = "insertTextFormat"; constexpr char insertTextFormatKey[] = "insertTextFormat";
constexpr char insertTextKey[] = "insertText"; constexpr char insertTextKey[] = "insertText";
@@ -202,6 +203,8 @@ constexpr char traceKey[] = "trace";
constexpr char triggerCharacterKey[] = "triggerCharacter"; constexpr char triggerCharacterKey[] = "triggerCharacter";
constexpr char triggerCharactersKey[] = "triggerCharacters"; constexpr char triggerCharactersKey[] = "triggerCharacters";
constexpr char triggerKindKey[] = "triggerKind"; constexpr char triggerKindKey[] = "triggerKind";
constexpr char trimFinalNewlinesKey[] = "trimFinalNewlines";
constexpr char trimTrailingWhitespaceKey[] = "trimTrailingWhitespace";
constexpr char typeDefinitionKey[] = "typeDefinition"; constexpr char typeDefinitionKey[] = "typeDefinition";
constexpr char typeDefinitionProviderKey[] = "typeDefinitionProvider"; constexpr char typeDefinitionProviderKey[] = "typeDefinitionProvider";
constexpr char typeKey[] = "type"; constexpr char typeKey[] = "type";

View File

@@ -685,6 +685,24 @@ public:
bool insertSpace() const { return typedValue<bool>(insertSpaceKey); } bool insertSpace() const { return typedValue<bool>(insertSpaceKey); }
void setInsertSpace(bool insertSpace) { insert(insertSpaceKey, insertSpace); } void setInsertSpace(bool insertSpace) { insert(insertSpaceKey, insertSpace); }
Utils::optional<bool> trimTrailingWhitespace() const
{ return optionalValue<bool>(trimTrailingWhitespaceKey); }
void setTrimTrailingWhitespace(bool trimTrailingWhitespace)
{ insert(trimTrailingWhitespaceKey, trimTrailingWhitespace); }
void clearTrimTrailingWhitespace() { remove(trimTrailingWhitespaceKey); }
Utils::optional<bool> insertFinalNewline() const
{ return optionalValue<bool>(insertFinalNewlineKey); }
void setInsertFinalNewline(bool insertFinalNewline)
{ insert(insertFinalNewlineKey, insertFinalNewline); }
void clearInsertFinalNewline() { remove(insertFinalNewlineKey); }
Utils::optional<bool> trimFinalNewlines() const
{ return optionalValue<bool>(trimFinalNewlinesKey); }
void setTrimFinalNewlines(bool trimFinalNewlines)
{ insert(trimFinalNewlinesKey, trimFinalNewlines); }
void clearTrimFinalNewlines() { remove(trimFinalNewlinesKey); }
QHash<QString, DocumentFormattingProperty> properties() const; QHash<QString, DocumentFormattingProperty> properties() const;
void setProperty(const QString &key, const DocumentFormattingProperty &property); void setProperty(const QString &key, const DocumentFormattingProperty &property);
void removeProperty(const QString &key) { remove(key); } void removeProperty(const QString &key) { remove(key); }