summaryrefslogtreecommitdiff
path: root/support/texlab/docs/custom_messages.md
diff options
context:
space:
mode:
Diffstat (limited to 'support/texlab/docs/custom_messages.md')
-rw-r--r--support/texlab/docs/custom_messages.md102
1 files changed, 102 insertions, 0 deletions
diff --git a/support/texlab/docs/custom_messages.md b/support/texlab/docs/custom_messages.md
new file mode 100644
index 0000000000..0142a76342
--- /dev/null
+++ b/support/texlab/docs/custom_messages.md
@@ -0,0 +1,102 @@
+# Custom Messages
+
+We extend the [Language Server Protocol](https://microsoft.github.io/language-server-protocol/specification)
+with custom messages to provide better LaTeX integration.
+These messages are _optional_ and it is up to the client to support them.
+
+## Build Request
+
+The build request is sent from the client to the server to build a given LaTeX document.
+
+_Request_:
+
+- method: 'textDocument/build'
+- params: `BuildTextDocumentParams` defined as follows:
+
+```typescript
+interface BuildTextDocumentParams {
+ /**
+ * The text document to build.
+ */
+ textDocument: TextDocumentIdentifier;
+}
+```
+
+_Response_:
+
+- result: `BuildResult` defined as follows:
+
+```typescript
+interface BuildResult {
+ /**
+ * The status of the build process.
+ */
+ status: BuildStatus;
+}
+
+enum BuildStatus {
+ /**
+ * The build process terminated without any errors.
+ */
+ Success = 0,
+
+ /**
+ * The build process terminated with errors.
+ */
+ Error = 1,
+
+ /**
+ * The build process failed to start or crashed.
+ */
+ Failure = 2,
+
+ /**
+ * The build process was cancelled.
+ */
+ Cancelled = 3,
+}
+```
+
+## Forward Search Request
+
+The forward search request is sent from the client to the server when the user requests a forward search via SyncTeX.
+
+_Request_:
+
+- method: 'textDocument/forwardSearch'
+- params: [`TextDocumentPositionParams`](https://microsoft.github.io/language-server-protocol/specification#textdocumentpositionparams)
+
+_Response_:
+
+- result: `ForwardSearchResult` defined as follows:
+
+```typescript
+interface ForwardSearchResult {
+ /**
+ * The status of the previewer process.
+ */
+ status: ForwardSearchStatus;
+}
+
+enum ForwardSearchStatus {
+ /**
+ * The previewer process executed the command without any errors.
+ */
+ Success = 0,
+
+ /**
+ * The previewer process executed the command with errors.
+ */
+ Error = 1,
+
+ /**
+ * The previewer process failed to start or crashed.
+ */
+ Failure = 2,
+
+ /**
+ * The previewer command is not configured.
+ */
+ Unconfigured = 3,
+}
+```