jak-project/lsp/protocol/completion.h

33 lines
962 B
C
Raw Normal View History

#pragma once
#include "common_types.h"
// TODO - not fully implemented!
namespace LSPSpec {
/// @brief How a completion was triggered
enum class CompletionTriggerKind {
/// Completion was triggered by typing an identifier (24x7 code complete), manual invocation (e.g
/// Ctrl+Space) or via API.
Invoked = 1,
/// Completion was triggered by a trigger character specified by the `triggerCharacters`
/// properties of the `CompletionRegistrationOptions`.
TriggerCharacter = 2,
/// Completion was re-triggered as the current completion list is incomplete.
TriggerForIncompleteCompletions = 3,
};
// TODO - look into inheriting structs?
struct CompletionParams {
/// @brief The text document.
TextDocumentIdentifier m_textDocument;
/// @brief The position inside the text document.
Position m_position;
};
void to_json(json& j, const CompletionParams& obj);
void from_json(const json& j, CompletionParams& obj);
} // namespace LSPSpec