src/Tools/VSCode/README.md
author wenzelm
Wed, 28 Dec 2016 23:24:18 +0100
changeset 64696 e991a4fab0dc
parent 64695 135313951082
child 64733 20174e871623
permissions -rw-r--r--
publish extension on Visual Studio Marketplace;
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
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
     9
* shell> `isabelle build -b HOL`
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    10
64696
e991a4fab0dc publish extension on Visual Studio Marketplace;
wenzelm
parents: 64695
diff changeset
    11
* Extensions: search "Isabelle 0.1.0", click "Install"
64605
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    12
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    13
* Preferences / User settings / edit settings.json: e.g.
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    14
    `"isabelle.home": "/home/makarius/isabelle/repos"`
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
* 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
    17
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    18
64696
e991a4fab0dc publish extension on Visual Studio Marketplace;
wenzelm
parents: 64695
diff changeset
    19
## Debug ##
64605
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
* shell> `code src/Tools/VSCode/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
* View / Debug / Launch Extension
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
* 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
    26
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    27
64696
e991a4fab0dc publish extension on Visual Studio Marketplace;
wenzelm
parents: 64695
diff changeset
    28
## Build ##
e991a4fab0dc publish extension on Visual Studio Marketplace;
wenzelm
parents: 64695
diff changeset
    29
e991a4fab0dc publish extension on Visual Studio Marketplace;
wenzelm
parents: 64695
diff changeset
    30
* shell> `cd src/Tools/VSCode/extension; vsce package`
e991a4fab0dc publish extension on Visual Studio Marketplace;
wenzelm
parents: 64695
diff changeset
    31
e991a4fab0dc publish extension on Visual Studio Marketplace;
wenzelm
parents: 64695
diff changeset
    32
64605
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    33
## Relevant links ##
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    34
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    35
### VSCode editor ###
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
* https://code.visualstudio.com
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    38
* https://code.visualstudio.com/docs/extensionAPI/extension-points
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    39
* https://code.visualstudio.com/docs/extensions/example-language-server
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    40
* https://github.com/Microsoft/vscode-languageserver-node-example
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    41
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    42
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    43
### Protocol ###
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
* https://code.visualstudio.com/blogs/2016/06/27/common-language-protocol
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    46
* https://github.com/Microsoft/vscode-languageserver-node
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    47
* https://github.com/Microsoft/language-server-protocol
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    48
* https://github.com/Microsoft/language-server-protocol/blob/master/protocol.md
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    49
* http://www.jsonrpc.org/specification
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    50
* http://www.json.org
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    51
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    52
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    53
### Similar projects ###
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
* Coq: https://github.com/siegebell/vscoq
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    56
* OCaml: https://github.com/freebroccolo/vscode-reasonml
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    57
* Scala: https://github.com/dragos/dragos-vscode-scala
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    58
* Rust:
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    59
    * https://github.com/jonathandturner/rls
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    60
    * https://github.com/jonathandturner/rls_vscode
9c1173a7e4cb basic support for VSCode Language Server protocol;
wenzelm
parents:
diff changeset
    61
    * https://github.com/RustDT/RustLSP