diff --git a/_layouts/default.html b/_layouts/default.html index f2f4e18..6795cd8 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -6,7 +6,7 @@ {% include topnav.html %} - +
{{ content }} diff --git a/_layouts/implementors.html b/_layouts/implementors.html index d30b7a1..ecbeeb7 100644 --- a/_layouts/implementors.html +++ b/_layouts/implementors.html @@ -2,10 +2,12 @@ layout: default --- +
+
-
+
Implementations
diff --git a/_layouts/singlePage.html b/_layouts/singlePage.html index 77a1ffa..be204d9 100644 --- a/_layouts/singlePage.html +++ b/_layouts/singlePage.html @@ -2,6 +2,8 @@ layout: default --- +
+
diff --git a/_layouts/specification.html b/_layouts/specification.html index fc7496b..8f261a7 100644 --- a/_layouts/specification.html +++ b/_layouts/specification.html @@ -2,6 +2,8 @@ layout: default --- +
+
@@ -10,7 +12,7 @@ layout: default
{{ content }}
-
+
{% for toc-l1 in site.data.specification-toc %}
diff --git a/howItWorks.md b/howItWorks.md index 1d87190..11249d7 100644 --- a/howItWorks.md +++ b/howItWorks.md @@ -6,7 +6,7 @@ sectionid: howItWorks A language server runs as a separate process and development tools communicate with the server using the language protocol over JSON-RPC. Below is an example for how a tool and a language server communicate during a routine editing session: -![language server protocol](./img/language-server-sequence.png) +language server protocol * **The user opens a file (referred to as a *document*) in the tool**: The tool notifies the language server that a document is open ('textDocument/didOpen'). From now on, the truth about the contents of the document is no longer on the file system but kept by the tool in memory. The contents now has to be synchronized between the tool and the language server. @@ -63,7 +63,7 @@ This is the response: When a user is working with different languages, a development tool usually starts a language server for each programming language. The example below shows a session where the user works on Java and SASS files. -![language server protocol](./img/language-server.png) +language server protocol Not every language server can support all features defined by the protocol. LSP therefore defines 'capabilities'. A capability defines a related group of language features. A development tools and the language server announce their supported feature set. As an example, a server announces that it can handle the 'textDocument/definition' request, but it might not handle the 'workspace/symbol' request. Similarly, development tools can announce that they are able to provide 'about to save' notifications before a document is saved, so that a server can compute textual edits to automatically format the edited document.