summaryrefslogtreecommitdiff
path: root/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsVersionedTextDocumentIdentifier.h
blob: 2b17a4fb0b658f01998cf4b80abf77b31a47525d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#pragma once

#include "LibLsp/JsonRpc/serializer.h"

#include "LibLsp/JsonRpc/message.h"
#include "LibLsp/lsp/lsDocumentUri.h"
#include "LibLsp/lsp/lsTextDocumentIdentifier.h"

struct lsVersionedTextDocumentIdentifier
{
        lsDocumentUri uri;
        // The version number of this document.  number | null
        optional<int> version;

        lsTextDocumentIdentifier AsTextDocumentIdentifier() const;

        MAKE_SWAP_METHOD(lsVersionedTextDocumentIdentifier, uri, version)
};
MAKE_REFLECT_STRUCT(lsVersionedTextDocumentIdentifier, uri, version)

/**
 * The version number of this document. If an optional versioned text document
 * identifier is sent from the server to the client and the file is not
 * open in the editor (the server has not received an open notification
 * before) the server can send `null` to indicate that the version is
 * known and the content on disk is the master (as specified with document
 * content ownership).
 *
 * The version number of a document will increase after each change,
 * including undo/redo. The number doesn't need to be consecutive.
 */
using   lsOptionalVersionedTextDocumentIdentifier = lsVersionedTextDocumentIdentifier;