/**************************************************************************** ** ** Copyright (C) 2018 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of Qt Creator. ** ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3 as published by the Free Software ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT ** included in the packaging of this file. Please review the following ** information to ensure the GNU General Public License requirements will ** be met: https://www.gnu.org/licenses/gpl-3.0.html. ** ****************************************************************************/ #include "textsynchronization.h" namespace LanguageServerProtocol { constexpr const char DidOpenTextDocumentNotification::methodName[]; constexpr const char DidChangeTextDocumentNotification::methodName[]; constexpr const char WillSaveTextDocumentNotification::methodName[]; constexpr const char WillSaveWaitUntilTextDocumentRequest::methodName[]; constexpr const char DidSaveTextDocumentNotification::methodName[]; constexpr const char DidCloseTextDocumentNotification::methodName[]; DidOpenTextDocumentNotification::DidOpenTextDocumentNotification( const DidOpenTextDocumentParams ¶ms) : Notification(methodName, params) { } DidChangeTextDocumentNotification::DidChangeTextDocumentNotification( const DidChangeTextDocumentParams ¶ms) : DidChangeTextDocumentNotification(methodName, params) { } WillSaveTextDocumentNotification::WillSaveTextDocumentNotification( const WillSaveTextDocumentParams ¶ms) : Notification(methodName, params) { } WillSaveWaitUntilTextDocumentRequest::WillSaveWaitUntilTextDocumentRequest(const WillSaveTextDocumentParams ¶ms) : Request(methodName, params) { } DidSaveTextDocumentNotification::DidSaveTextDocumentNotification( const DidSaveTextDocumentParams ¶ms) : Notification(methodName, params) { } DidCloseTextDocumentNotification::DidCloseTextDocumentNotification( const DidCloseTextDocumentParams ¶ms) : Notification(methodName, params) { } DidChangeTextDocumentParams::DidChangeTextDocumentParams() : DidChangeTextDocumentParams(VersionedTextDocumentIdentifier()) { } DidChangeTextDocumentParams::DidChangeTextDocumentParams( const VersionedTextDocumentIdentifier &docId, const QString &text) { setTextDocument(docId); setContentChanges({TextDocumentContentChangeEvent(text)}); } bool DidChangeTextDocumentParams::isValid(ErrorHierarchy *error) const { return check(error, textDocumentKey) && checkArray(error, contentChangesKey); } DidOpenTextDocumentParams::DidOpenTextDocumentParams(const TextDocumentItem &document) { setTextDocument(document); } DidCloseTextDocumentParams::DidCloseTextDocumentParams(const TextDocumentIdentifier &document) { setTextDocument(document); } DidChangeTextDocumentParams::TextDocumentContentChangeEvent::TextDocumentContentChangeEvent( const QString &text) { setText(text); } bool DidChangeTextDocumentParams::TextDocumentContentChangeEvent::isValid(ErrorHierarchy *error) const { return checkOptional(error, rangeKey) && checkOptional(error, rangeLengthKey) && check(error, textKey); } DidSaveTextDocumentParams::DidSaveTextDocumentParams(const TextDocumentIdentifier &document) { setTextDocument(document); } bool DidSaveTextDocumentParams::isValid(ErrorHierarchy *error) const { return check(error, textDocumentKey) && checkOptional(error, textKey); } WillSaveTextDocumentParams::WillSaveTextDocumentParams( const TextDocumentIdentifier &document, const WillSaveTextDocumentParams::TextDocumentSaveReason &reason) { setTextDocument(document); setReason(reason); } bool WillSaveTextDocumentParams::isValid(ErrorHierarchy *error) const { return check(error, textDocumentKey) && check(error, reasonKey); } bool TextDocumentSaveRegistrationOptions::isValid(ErrorHierarchy *error) const { return TextDocumentRegistrationOptions::isValid(error) && checkOptional(error, includeTextKey); } } // namespace LanguageServerProtocol