summaryrefslogtreecommitdiff
path: root/support/texlab/src/protocol/mod.rs
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-05-28 03:03:21 +0000
committerNorbert Preining <norbert@preining.info>2020-05-28 03:03:21 +0000
commit745892fbddea56040139108277e728b53fd8fc11 (patch)
tree15e55e299b38fccdabce8364f1fbf4f02ef37994 /support/texlab/src/protocol/mod.rs
parent195ca7e0c377d83455867bdd8e409d4e1cf024ea (diff)
CTAN sync 202005280303
Diffstat (limited to 'support/texlab/src/protocol/mod.rs')
-rw-r--r--support/texlab/src/protocol/mod.rs71
1 files changed, 71 insertions, 0 deletions
diff --git a/support/texlab/src/protocol/mod.rs b/support/texlab/src/protocol/mod.rs
new file mode 100644
index 0000000000..c08a7d82f5
--- /dev/null
+++ b/support/texlab/src/protocol/mod.rs
@@ -0,0 +1,71 @@
+cfg_if::cfg_if! {
+ if #[cfg(feature = "server")] {
+ mod client;
+ mod codec;
+
+ pub use self::{
+ client::{LatexLspClient, LspClient},
+ codec::LspCodec,
+ };
+ }
+}
+
+mod capabilities;
+mod edit;
+mod options;
+mod range;
+mod uri;
+
+pub use self::{
+ capabilities::ClientCapabilitiesExt,
+ edit::*,
+ options::*,
+ range::RangeExt,
+ uri::{AsUri, Uri},
+};
+pub use lsp_types::*;
+
+use serde::{Deserialize, Serialize};
+use serde_repr::*;
+
+#[serde(untagged)]
+#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)]
+pub enum DefinitionResponse {
+ Locations(Vec<Location>),
+ LocationLinks(Vec<LocationLink>),
+}
+
+#[derive(Debug, PartialEq, Eq, Clone, Copy, Serialize_repr, Deserialize_repr)]
+#[repr(i32)]
+pub enum ForwardSearchStatus {
+ Success = 0,
+ Error = 1,
+ Failure = 2,
+ Unconfigured = 3,
+}
+
+#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)]
+pub struct ForwardSearchResult {
+ pub status: ForwardSearchStatus,
+}
+
+#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)]
+#[serde(rename_all = "camelCase")]
+pub struct BuildParams {
+ pub text_document: TextDocumentIdentifier,
+}
+
+#[derive(Debug, PartialEq, Eq, Clone, Copy, Serialize_repr, Deserialize_repr)]
+#[repr(i32)]
+pub enum BuildStatus {
+ Success = 0,
+ Error = 1,
+ Failure = 2,
+ Cancelled = 3,
+}
+
+#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)]
+#[serde(rename_all = "camelCase")]
+pub struct BuildResult {
+ pub status: BuildStatus,
+}