src/Tools/VSCode/README.md
author wenzelm
Mon, 02 Jan 2017 18:08:04 +0100
changeset 64757 7e3924224769
parent 64740 01af31db2720
child 64872 9c194386db8d
permissions -rw-r--r--
updated package;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
64605
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
     1
# Isabelle/PIDE for Visual Studio Code editor #
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
     2
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
     3
* Extension for the editor ([TypeScript](extension/src/extension.ts))
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
     4
* Language Server protocol implementation ([Isabelle/Scala](src/server.scala))
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
     5
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
     6
64696
e991a4fab0dc publish extension on Visual Studio Marketplace;
wenzelm
parents: 64695
diff changeset
     7
## Run ##
64605
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
     8
64757
7e3924224769 updated package;
wenzelm
parents: 64740
diff changeset
     9
* Extensions: search for "Isabelle", click "Install"
64605
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    10
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    11
* Preferences / User settings / edit settings.json: e.g.
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    12
    `"isabelle.home": "/home/makarius/isabelle/repos"`
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    13
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    14
* File / Open Folder: e.g. `src/HOL/Isar_Examples/` then open .thy files
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    15
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    16
64696
e991a4fab0dc publish extension on Visual Studio Marketplace;
wenzelm
parents: 64695
diff changeset
    17
## Debug ##
64605
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    18
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    19
* shell> `code src/Tools/VSCode/extension`
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    20
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    21
* View / Debug / Launch Extension
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    22
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    23
* File / Open Folder: e.g. `src/HOL/Isar_Examples/` then open .thy files
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    24
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    25
64696
e991a4fab0dc publish extension on Visual Studio Marketplace;
wenzelm
parents: 64695
diff changeset
    26
## Build ##
e991a4fab0dc publish extension on Visual Studio Marketplace;
wenzelm
parents: 64695
diff changeset
    27
64740
01af31db2720 proper packaging;
wenzelm
parents: 64733
diff changeset
    28
* shell> `cd src/Tools/VSCode/extension`
01af31db2720 proper packaging;
wenzelm
parents: 64733
diff changeset
    29
01af31db2720 proper packaging;
wenzelm
parents: 64733
diff changeset
    30
* shell> `isabelle vscode_grammar`
01af31db2720 proper packaging;
wenzelm
parents: 64733
diff changeset
    31
01af31db2720 proper packaging;
wenzelm
parents: 64733
diff changeset
    32
* shell> `vsce package`
64696
e991a4fab0dc publish extension on Visual Studio Marketplace;
wenzelm
parents: 64695
diff changeset
    33
e991a4fab0dc publish extension on Visual Studio Marketplace;
wenzelm
parents: 64695
diff changeset
    34
64605
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    35
## Relevant links ##
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    36
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    37
### VSCode editor ###
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    38
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    39
* https://code.visualstudio.com
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    40
* https://code.visualstudio.com/docs/extensionAPI/extension-points
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    41
* https://code.visualstudio.com/docs/extensions/example-language-server
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    42
* https://github.com/Microsoft/vscode-languageserver-node-example
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    43
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    44
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    45
### Protocol ###
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    46
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    47
* https://code.visualstudio.com/blogs/2016/06/27/common-language-protocol
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    48
* https://github.com/Microsoft/vscode-languageserver-node
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    49
* https://github.com/Microsoft/language-server-protocol
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    50
* https://github.com/Microsoft/language-server-protocol/blob/master/protocol.md
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    51
* http://www.jsonrpc.org/specification
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    52
* http://www.json.org
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    53
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    54
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    55
### Similar projects ###
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    56
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    57
* Coq: https://github.com/siegebell/vscoq
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    58
* OCaml: https://github.com/freebroccolo/vscode-reasonml
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    59
* Scala: https://github.com/dragos/dragos-vscode-scala
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    60
* Rust:
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    61
    * https://github.com/jonathandturner/rls
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    62
    * https://github.com/jonathandturner/rls_vscode
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    63
    * https://github.com/RustDT/RustLSP