Skip to content

Commit

Permalink
Skeleton of extension in JS with VSCode binding from ocaml-platform
Browse files Browse the repository at this point in the history
  • Loading branch information
lefessan committed Apr 5, 2023
1 parent 5d37878 commit 90efd91
Show file tree
Hide file tree
Showing 31 changed files with 6,158 additions and 129 deletions.
73 changes: 64 additions & 9 deletions .drom
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,17 @@ version:0.9.0

# hash of toml configuration files
# used for generation of all files
086147ae59aaab01746d38c4d9538225:.
6c4745d9b958fd36a74ce5a34f13a6d2:.
# end context for .

# begin context for .github/workflows/workflow.yml
# file .github/workflows/workflow.yml
25253364c8c43b69496f4e4dccc8265c:.github/workflows/workflow.yml
3c16bbaff1158ecfc19480e0744aaf2a:.github/workflows/workflow.yml
# end context for .github/workflows/workflow.yml

# begin context for .gitignore
# file .gitignore
cc3b4ea827a9bcc0000f014086140784:.gitignore
a9baccd9eedd2f924ca9b9879b70c3e0:.gitignore
# end context for .gitignore

# begin context for CHANGES.md
Expand All @@ -30,7 +30,7 @@ d00f73c835ae4a1589d55ebda4ab381b:CHANGES.md

# begin context for Makefile
# file Makefile
7f459f03c5f1cf0fe1fd58fecfda5a46:Makefile
923cec84b4c88ee7a39817739aa83cb0:Makefile
# end context for Makefile

# begin context for README.md
Expand All @@ -40,7 +40,7 @@ d00f73c835ae4a1589d55ebda4ab381b:CHANGES.md

# begin context for drom.toml
# file drom.toml
8767711b343fe80faaf85b3c62e08379:drom.toml
edfecf246f5178999b757bb30a11aaba:drom.toml
# end context for drom.toml

# begin context for dune
Expand All @@ -50,7 +50,7 @@ d00f73c835ae4a1589d55ebda4ab381b:CHANGES.md

# begin context for dune-project
# file dune-project
a9b87c4c12c2fdff58fc5b53a14c8c47:dune-project
7147afeddc222b46b556c83201c1e4d5:dune-project
# end context for dune-project

# begin context for opam/interop-js-stubs.opam
Expand All @@ -63,14 +63,19 @@ a9b87c4c12c2fdff58fc5b53a14c8c47:dune-project
dd7dde4e293ba0e8c85514b5d478e1c8:opam/node-js-stubs.opam
# end context for opam/node-js-stubs.opam

# begin context for opam/package-json.opam
# file opam/package-json.opam
dcf0ebaa8b12787df9efcaa0ce8cbbe5:opam/package-json.opam
# end context for opam/package-json.opam

# begin context for opam/polka-js-stubs.opam
# file opam/polka-js-stubs.opam
0d5af23c7fa13408fbcb4c4ebf6998b5:opam/polka-js-stubs.opam
# end context for opam/polka-js-stubs.opam

# begin context for opam/superbol-vscode-extension.opam
# file opam/superbol-vscode-extension.opam
b51309f4c2cb210eb966b5bbc0062652:opam/superbol-vscode-extension.opam
49da3d109b0d2a783198d2754ca3d016:opam/superbol-vscode-extension.opam
# end context for opam/superbol-vscode-extension.opam

# begin context for opam/vscode-js-stubs.opam
Expand Down Expand Up @@ -108,6 +113,11 @@ b243cb6f630e2b0483b76eef1572ff95:scripts/static-build.sh
707a0383f1e544fb37662db29a4f14ad:src/interop-js-stubs/dune
# end context for src/interop-js-stubs/dune

# begin context for src/interop-js-stubs/package.toml
# file src/interop-js-stubs/package.toml
c2bbd2b7f9ee6d3e9e594e57cb1e399b:src/interop-js-stubs/package.toml
# end context for src/interop-js-stubs/package.toml

# begin context for src/interop-js-stubs/version.mlt
# file src/interop-js-stubs/version.mlt
940d29cde7f16cd0916ed1d5f9c41154:src/interop-js-stubs/version.mlt
Expand All @@ -118,24 +128,59 @@ b243cb6f630e2b0483b76eef1572ff95:scripts/static-build.sh
cf30d5557250e864c9020afd9e2389fd:src/node-js-stubs/dune
# end context for src/node-js-stubs/dune

# begin context for src/node-js-stubs/package.toml
# file src/node-js-stubs/package.toml
032f732ff13a1505fadbef77c29969a7:src/node-js-stubs/package.toml
# end context for src/node-js-stubs/package.toml

# begin context for src/node-js-stubs/version.mlt
# file src/node-js-stubs/version.mlt
940d29cde7f16cd0916ed1d5f9c41154:src/node-js-stubs/version.mlt
# end context for src/node-js-stubs/version.mlt

# begin context for src/package-json/dune
# file src/package-json/dune
9f4e3c0bfa0afc5164a25346c401380b:src/package-json/dune
# end context for src/package-json/dune

# begin context for src/package-json/linking_flags.sh
# file src/package-json/linking_flags.sh
c7aa7ad8967d43dd0e7ea2f013af7376:src/package-json/linking_flags.sh
# end context for src/package-json/linking_flags.sh

# begin context for src/package-json/main.ml
# file src/package-json/main.ml
dd19135f4f49d3c99b5658d0e58f4460:src/package-json/main.ml
# end context for src/package-json/main.ml

# begin context for src/package-json/package.toml
# file src/package-json/package.toml
1ce8790167330967a712ed12f27f26c3:src/package-json/package.toml
# end context for src/package-json/package.toml

# begin context for src/package-json/version.mlt
# file src/package-json/version.mlt
940d29cde7f16cd0916ed1d5f9c41154:src/package-json/version.mlt
# end context for src/package-json/version.mlt

# begin context for src/polka-js-stubs/dune
# file src/polka-js-stubs/dune
569424afbc851a410f6f388591417035:src/polka-js-stubs/dune
# end context for src/polka-js-stubs/dune

# begin context for src/polka-js-stubs/package.toml
# file src/polka-js-stubs/package.toml
4bb2ac81e8d2d4e38edb70f56afddfa0:src/polka-js-stubs/package.toml
# end context for src/polka-js-stubs/package.toml

# begin context for src/polka-js-stubs/version.mlt
# file src/polka-js-stubs/version.mlt
940d29cde7f16cd0916ed1d5f9c41154:src/polka-js-stubs/version.mlt
# end context for src/polka-js-stubs/version.mlt

# begin context for src/superbol-vscode-extension/dune
# file src/superbol-vscode-extension/dune
6fd8f0801d7fc8f8fcee8028ffd212b3:src/superbol-vscode-extension/dune
b1688b8279b524e7d5fff4842fb0d902:src/superbol-vscode-extension/dune
# end context for src/superbol-vscode-extension/dune

# begin context for src/superbol-vscode-extension/linking_flags.sh
Expand All @@ -145,7 +190,7 @@ cf30d5557250e864c9020afd9e2389fd:src/node-js-stubs/dune

# begin context for src/superbol-vscode-extension/package.toml
# file src/superbol-vscode-extension/package.toml
33c9fe2cd89e581e5b1159834511f356:src/superbol-vscode-extension/package.toml
f2786e16f8517cf93f7ee5f4d655ab12:src/superbol-vscode-extension/package.toml
# end context for src/superbol-vscode-extension/package.toml

# begin context for src/superbol-vscode-extension/version.mlt
Expand All @@ -158,6 +203,11 @@ cf30d5557250e864c9020afd9e2389fd:src/node-js-stubs/dune
f8e015ab8ad6d1dc7c7c8d63c86e446d:src/vscode-js-stubs/dune
# end context for src/vscode-js-stubs/dune

# begin context for src/vscode-js-stubs/package.toml
# file src/vscode-js-stubs/package.toml
6436cbcc372bb6d0795d4527277f5dd9:src/vscode-js-stubs/package.toml
# end context for src/vscode-js-stubs/package.toml

# begin context for src/vscode-js-stubs/version.mlt
# file src/vscode-js-stubs/version.mlt
940d29cde7f16cd0916ed1d5f9c41154:src/vscode-js-stubs/version.mlt
Expand All @@ -168,6 +218,11 @@ f8e015ab8ad6d1dc7c7c8d63c86e446d:src/vscode-js-stubs/dune
935c7469b455b26a8ec1f08627aae863:src/vscode-languageclient-js-stubs/dune
# end context for src/vscode-languageclient-js-stubs/dune

# begin context for src/vscode-languageclient-js-stubs/package.toml
# file src/vscode-languageclient-js-stubs/package.toml
9808848df715eb9bf1265b76d7d8ee3b:src/vscode-languageclient-js-stubs/package.toml
# end context for src/vscode-languageclient-js-stubs/package.toml

# begin context for src/vscode-languageclient-js-stubs/version.mlt
# file src/vscode-languageclient-js-stubs/version.mlt
940d29cde7f16cd0916ed1d5f9c41154:src/vscode-languageclient-js-stubs/version.mlt
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ jobs:

- run: opam pin add . -y --no-action

- run: opam depext -y superbol-vscode-extension polka-js-stubs interop-js-stubs node-js-stubs vscode-js-stubs vscode-languageclient-js-stubs
- run: opam depext -y superbol-vscode-extension polka-js-stubs interop-js-stubs node-js-stubs vscode-js-stubs vscode-languageclient-js-stubs package-json
# if: steps.cache-opam.outputs.cache-hit != 'true'

- run: opam install -y opam/*.opam --deps-only --with-test
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
/node-js-stubs
/vscode-js-stubs
/vscode-languageclient-js-stubs
/package-json
*~
_build
.merlin
Expand Down
32 changes: 32 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
// A launch configuration that launches the extension inside a new window
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
{
"version": "0.2.0",
"configurations": [
{
"name": "Extension",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"outFiles": [
"${workspaceRoot}/_build/default/src/superbol-vscode-extension/superbol_vscode_extension.bc.js"
],
"args": [
"--disable-extensions",
"--extensionDevelopmentPath=${workspaceFolder}"
]
},
{
"name": "Extension (no disable-extensions)",
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"outFiles": [
"${workspaceRoot}/_build/default/src/superbol-vscode-extension/superbol_vscode_extension.bc.js"
],
"args": ["--extensionDevelopmentPath=${workspaceFolder}"]
}
]
}
20 changes: 20 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"command": "dune build @vscode -w",
"label": "dune build @vscode -w",
"problemMatcher": "$ocamlc",
"presentation": {
"reveal": "never"
},
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
11 changes: 11 additions & 0 deletions .vscodeignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
**
!assets/
!dist/
!languages/
!snippets/
!syntaxes/
!README.md
!CHANGELOG.md
!LICENSE
!package.json
!astexplorer/dist/index.html
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ all: build
build:
./scripts/before.sh build
opam exec -- dune build @install
./scripts/copy-bin.sh superbol-vscode-extension polka-js-stubs interop-js-stubs node-js-stubs vscode-js-stubs vscode-languageclient-js-stubs
./scripts/copy-bin.sh superbol-vscode-extension polka-js-stubs interop-js-stubs node-js-stubs vscode-js-stubs vscode-languageclient-js-stubs package-json
./scripts/after.sh build

build-deps:
Expand Down
3 changes: 2 additions & 1 deletion Makefile.header
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ PROJECT=superbol_vscode_extension
SRCDIR=src/superbol-vscode-extension

compile:
opam exec -- dune build $(SRCDIR)/$(PROJECT).bc.js
opam exec -- dune build
cp -f _build/default/src/package-json/main.exe package-json
yarn esbuild _build/default/$(SRCDIR)/$(PROJECT).bc.js \
--bundle \
--external:vscode \
Expand Down
18 changes: 11 additions & 7 deletions drom.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[project]
drom-version = "0.1"
share-repo = "https://github.com/OCamlPro/drom-share"
share-version = "branch:local:z-2023-03-15-version-0.9.2"
share-version = "0.9.2"

[project]
authors = ["Fabrice Le Fessant <[email protected]>"]
Expand Down Expand Up @@ -51,7 +51,7 @@ for-test = true
[project]

# dirs to skip while scanning for dune files
skip-dirs = [ "node_modules" ]
skip-dirs = ["node_modules"]

# dirs to scan for share/ folders (with package names)
share-dirs = ["share"]
Expand Down Expand Up @@ -87,21 +87,25 @@ dir = "src/superbol-vscode-extension"

[[package]]
dir = "src/polka-js-stubs"
# edit 'src/superbol-vscode-extension/package.toml' for package-specific options
# edit 'src/polka-js-stubs/package.toml' for package-specific options

[[package]]
dir = "src/interop-js-stubs"
# edit 'src/superbol-vscode-extension/package.toml' for package-specific options
# edit 'src/interop-js-stubs/package.toml' for package-specific options

[[package]]
dir = "src/node-js-stubs"
# edit 'src/superbol-vscode-extension/package.toml' for package-specific options
# edit 'src/node-js-stubs/package.toml' for package-specific options

[[package]]
dir = "src/vscode-js-stubs"
# edit 'src/superbol-vscode-extension/package.toml' for package-specific options
# edit 'src/vscode-js-stubs/package.toml' for package-specific options

[[package]]
dir = "src/vscode-languageclient-js-stubs"
# edit 'src/superbol-vscode-extension/package.toml' for package-specific options
# edit 'src/vscode-languageclient-js-stubs/package.toml' for package-specific options

[[package]]
dir = "src/package-json"
# edit 'src/package-json/package.toml' for package-specific options

20 changes: 20 additions & 0 deletions dune-project
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,11 @@
(description "This is the description\nof the superbol-vscode-extension OCaml project\n")
(depends
(ocaml (>= 4.13.0))
(vscode-languageclient-js-stubs (= version))
(vscode-js-stubs (= version))
(promise_jsoo (and (>= 0.3.1) (< 1.0.0)))
(polka-js-stubs (= version))
(node-js-stubs (= version))
(jsonoo (and (>= 0.2.1) (< 1.0.0)))
(js_of_ocaml (and (>= 5.0.0) (< 6.0.0)))
(gen_js_api (and (>= 1.1.1) (< 2.0.0)))
Expand Down Expand Up @@ -120,4 +124,20 @@
)
)

(package
(name package-json)
(synopsis "The superbol-vscode-extension project")
(description "This is the description\nof the superbol-vscode-extension OCaml project\n")
(depends
(ocaml (>= 4.13.0))
ezjsonm
(ez_file (and (>= 0.3.0) (< 1.0.0)))
ppx_deriving_encoding
ppx_inline_test
ppx_expect
odoc
ocamlformat
)
)


Loading

0 comments on commit 90efd91

Please sign in to comment.