diff --git a/.gitignore b/.gitignore index 35a423d..5bbb3ea 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ +/node_modules /target .lycheecache diff --git a/book/.gitignore b/book/.gitignore index 5a0bf03..5050c83 100644 --- a/book/.gitignore +++ b/book/.gitignore @@ -1 +1,2 @@ /book +/theme diff --git a/book/highlight/.gitignore b/book/highlight/.gitignore new file mode 100644 index 0000000..07e6e47 --- /dev/null +++ b/book/highlight/.gitignore @@ -0,0 +1 @@ +/node_modules diff --git a/book/highlight/biome.json b/book/highlight/biome.json new file mode 100644 index 0000000..f1ab080 --- /dev/null +++ b/book/highlight/biome.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.3.3/schema.json", + "organizeImports": { + "enabled": true + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true + } + }, + "formatter": { + "indentStyle": "space", + "indentWidth": 2 + } +} diff --git a/book/highlight/package.json b/book/highlight/package.json new file mode 100644 index 0000000..81a27eb --- /dev/null +++ b/book/highlight/package.json @@ -0,0 +1,17 @@ +{ + "name": "highlight", + "private": true, + "scripts": { + "esbuild": "esbuild src/*.{css,ts} --outdir=../theme --target=es2016 --global-name=hljs --legal-comments=none --bundle", + "watch": "pnpm run esbuild --watch", + "build": "pnpm run esbuild --minify", + "lint": "biome check --apply src/**/*.ts" + }, + "dependencies": { + "highlight.js": "^11.9.0" + }, + "devDependencies": { + "@biomejs/biome": "^1.3.3", + "esbuild": "^0.19.5" + } +} diff --git a/book/highlight/src/ayu-highlight.css b/book/highlight/src/ayu-highlight.css new file mode 100644 index 0000000..1a01d6b --- /dev/null +++ b/book/highlight/src/ayu-highlight.css @@ -0,0 +1,80 @@ +@import "./css/overrides.css"; + +/* +Based off of the Ayu theme +Original by Dempfi (https://github.com/dempfi/ayu) +*/ + +.hljs { + display: block; + overflow-x: auto; + background: #191f26; + color: #e6e1cf; +} + +.hljs-comment, +.hljs-quote { + color: #5c6773; + font-style: italic; +} + +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-attr, +.hljs-regexp, +.hljs-link, +.hljs-selector-id, +.hljs-selector-class { + color: #ff7733; +} + +.hljs-number, +.hljs-meta, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #ffee99; +} + +.hljs-string, +.hljs-bullet { + color: #b8cc52; +} + +.hljs-title, +.hljs-built_in, +.hljs-section { + color: #ffb454; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-symbol { + color: #ff7733; +} + +.hljs-name { + color: #36a3d9; +} + +.hljs-tag { + color: #00568d; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-addition { + color: #91b362; +} + +.hljs-deletion { + color: #d96c75; +} diff --git a/book/highlight/src/css/overrides.css b/book/highlight/src/css/overrides.css new file mode 100644 index 0000000..4d4e8c3 --- /dev/null +++ b/book/highlight/src/css/overrides.css @@ -0,0 +1,3 @@ +pre { + tab-size: 4; +} diff --git a/book/highlight/src/highlight.css b/book/highlight/src/highlight.css new file mode 100644 index 0000000..6bb7edd --- /dev/null +++ b/book/highlight/src/highlight.css @@ -0,0 +1,84 @@ +@import "./css/overrides.css"; + +/* + * An increased contrast highlighting scheme loosely based on the + * "Base16 Atelier Dune Light" theme by Bram de Haan + * (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) + * Original Base16 color scheme by Chris Kempson + * (https://github.com/chriskempson/base16) + */ + +/* Comment */ +.hljs-comment, +.hljs-quote { + color: #575757; +} + +/* Red */ +.hljs-variable, +.hljs-template-variable, +.hljs-attribute, +.hljs-tag, +.hljs-name, +.hljs-regexp, +.hljs-link, +.hljs-name, +.hljs-selector-id, +.hljs-selector-class { + color: #d70025; +} + +/* Orange */ +.hljs-number, +.hljs-meta, +.hljs-built_in, +.hljs-builtin-name, +.hljs-literal, +.hljs-type, +.hljs-params { + color: #b21e00; +} + +/* Green */ +.hljs-string, +.hljs-symbol, +.hljs-bullet { + color: #008200; +} + +/* Blue */ +.hljs-title, +.hljs-section { + color: #0030f2; +} + +/* Purple */ +.hljs-keyword, +.hljs-selector-tag { + color: #9d00ec; +} + +.hljs { + display: block; + overflow-x: auto; + background: #f6f7f6; + color: #000; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-addition { + color: #22863a; + background-color: #f0fff4; +} + +.hljs-deletion { + color: #b31d28; + background-color: #ffeef0; +} diff --git a/book/highlight/src/highlight.ts b/book/highlight/src/highlight.ts new file mode 100644 index 0000000..be6a3c8 --- /dev/null +++ b/book/highlight/src/highlight.ts @@ -0,0 +1,28 @@ +import type { HLJSOptions } from "highlight.js"; +import hljs from "highlight.js/lib/core"; +import bash from "highlight.js/lib/languages/bash"; +import go from "highlight.js/lib/languages/go"; +import kotlin from "highlight.js/lib/languages/kotlin"; +import python from "highlight.js/lib/languages/python"; +import rust from "highlight.js/lib/languages/rust"; +import toml from "highlight.js/lib/languages/ini"; +import typescript from "highlight.js/lib/languages/typescript"; +import { stef } from "./languages/stef"; + +hljs.registerLanguage("bash", bash); +hljs.registerLanguage("go", go); +hljs.registerLanguage("kotlin", kotlin); +hljs.registerLanguage("python", python); +hljs.registerLanguage("rust", rust); +hljs.registerLanguage("toml", toml); +hljs.registerLanguage("typescript", typescript); + +hljs.registerLanguage("stef", stef); + +export function configure(options: Partial) { + hljs.configure(options); +} + +export function highlightBlock(element: HTMLElement) { + hljs.highlightElement(element); +} diff --git a/book/highlight/src/languages/stef.ts b/book/highlight/src/languages/stef.ts new file mode 100644 index 0000000..9c08141 --- /dev/null +++ b/book/highlight/src/languages/stef.ts @@ -0,0 +1,120 @@ +/* +Language: Stef +Author: Dominik Nakamura +Category: common, system +*/ + +import { HLJSApi, Language } from "highlight.js"; + +export function stef(hljs: HLJSApi): Language { + const KEYWORDS = ["mod", "struct", "enum", "const", "type", "use"]; + const LITERALS = ["true", "false"]; + const TYPES = [ + "bool", + "u8", + "u16", + "u32", + "u64", + "u128", + "i8", + "i16", + "i32", + "i64", + "i128", + "f32", + "f64", + "string", + "bytes", + "box", + "vec", + "hash_map", + "hash_set", + "option", + "non_zero", + ]; + return { + name: "Stef", + keywords: { + type: TYPES, + keyword: KEYWORDS, + literal: LITERALS, + }, + illegal: ":,& ]+/, /@\d+/, /,?/], + scope: { + 1: "attr", + 2: "punctuation", + 3: "type", + 4: "symbol", + 5: "punctuation", + }, + relevance: 2, + }, + { + match: [/[a-zA-Z0-9_<>,& ]+/, /@\d+/, /,?/], + scope: { + 1: "type", + 2: "symbol", + 3: "punctuation", + }, + relevance: 1, + }, + { + match: `${hljs.IDENT_RE}::`, + keywords: { + type: TYPES, + }, + }, + ], + }; +} diff --git a/book/highlight/src/tomorrow-night.css b/book/highlight/src/tomorrow-night.css new file mode 100644 index 0000000..53e35c5 --- /dev/null +++ b/book/highlight/src/tomorrow-night.css @@ -0,0 +1,2 @@ +@import "highlight.js/styles/tokyo-night-dark.css"; +@import "./css/overrides.css"; diff --git a/book/src/guide/creating.md b/book/src/guide/creating.md index d677efe..30bc26d 100644 --- a/book/src/guide/creating.md +++ b/book/src/guide/creating.md @@ -23,6 +23,6 @@ Special types - Boxed strings: `box`. -```rust,ignore +```stef {{#include creating/basic.stef}} ``` diff --git a/book/src/guide/examples.md b/book/src/guide/examples.md index 4dd07d1..9f97f03 100644 --- a/book/src/guide/examples.md +++ b/book/src/guide/examples.md @@ -1,5 +1,5 @@ # Examples -```rust,ignore +```stef {{#include examples/01.stef}} ``` diff --git a/book/src/guide/generating.md b/book/src/guide/generating.md index 3a5894c..cd38062 100644 --- a/book/src/guide/generating.md +++ b/book/src/guide/generating.md @@ -38,7 +38,7 @@ The file name is the same as the input schema file name, but with `.rs` as file From that point on, the generated code can be used like regular Rust code. Extending the example a bit, let's say the schema file contained the following: -```rust,ignore +```stef struct Sample { value: u32 @1, } @@ -46,7 +46,7 @@ struct Sample { Then we could use the generated struct as follows: -```rust,ignore +```rust // Include stef's `Encode` trait to get access to the `encode()` method. use stef::Encode; diff --git a/book/src/schema/arrays.md b/book/src/schema/arrays.md index d3ba758..0b8c82c 100644 --- a/book/src/schema/arrays.md +++ b/book/src/schema/arrays.md @@ -5,7 +5,7 @@ ## Schema -```rust,ignore +```stef {{#include arrays/basic.stef}} ``` diff --git a/book/src/schema/attributes.md b/book/src/schema/attributes.md index 94b0c8f..c7fac6f 100644 --- a/book/src/schema/attributes.md +++ b/book/src/schema/attributes.md @@ -16,21 +16,21 @@ Attributes can come in 3 forms. ### Unit -```rust,ignore +```stef #[deprecated] struct Sample {} ``` ### Single-value -```rust,ignore +```stef #[deprecated = "Don't use anymore"] struct Sample {} ``` ### Multi-value -```rust,ignore +```stef struct Sample { #[validate(min = 1, max = 100)] age: u8 @1, diff --git a/book/src/schema/constants.md b/book/src/schema/constants.md index 2c7c67d..1edd8ab 100644 --- a/book/src/schema/constants.md +++ b/book/src/schema/constants.md @@ -13,7 +13,7 @@ ## Schema -```rust,ignore +```stef {{#include constants/basic.stef}} ``` diff --git a/book/src/schema/enums.md b/book/src/schema/enums.md index fb35d7d..c38fb6f 100644 --- a/book/src/schema/enums.md +++ b/book/src/schema/enums.md @@ -7,7 +7,7 @@ ### Schema {#basic-schema} -```rust,ignore +```stef {{#include enums/basic.stef}} ``` @@ -47,7 +47,7 @@ ### Schema {#advanced-schema} -```rust,ignore +```stef {{#include enums/advanced.stef}} ``` diff --git a/book/src/schema/imports.md b/book/src/schema/imports.md index 949604d..8165bfb 100644 --- a/book/src/schema/imports.md +++ b/book/src/schema/imports.md @@ -4,6 +4,6 @@ ## Schema -```rust,ignore +```stef {{#include imports/basic.stef}} ``` diff --git a/book/src/schema/modules.md b/book/src/schema/modules.md index 2746b6d..f30a9da 100644 --- a/book/src/schema/modules.md +++ b/book/src/schema/modules.md @@ -4,7 +4,7 @@ ## Schema -```rust,ignore +```stef {{#include modules/basic.stef}} ``` @@ -12,6 +12,6 @@ ### Schema {#nesting-schema} -```rust,ignore +```stef {{#include modules/nesting.stef}} ``` diff --git a/book/src/schema/references.md b/book/src/schema/references.md index cca9294..ec4a8cf 100644 --- a/book/src/schema/references.md +++ b/book/src/schema/references.md @@ -4,6 +4,6 @@ ## Schema -```rust,ignore +```stef {{#include references/basic.stef}} ``` diff --git a/book/src/schema/structs.md b/book/src/schema/structs.md index 40af44e..e1be377 100644 --- a/book/src/schema/structs.md +++ b/book/src/schema/structs.md @@ -27,7 +27,7 @@ A single field is defined as `name: type @id`, the name, its type and [ID]. Fiel Here is a basic named schema with two fields `field1` and `field2`. The first one is a 32-bit unsigned integer and assigned the ID 1. The second one is a 16-bit unsigned integer and assigned the ID 2. -```rust,ignore +```stef {{#include structs/named.stef}} ``` @@ -81,7 +81,7 @@ A single field is defined as `type @id`, the name and [ID]. ### Schema #{unnamed-schema} -```rust,ignore +```stef {{#include structs/unnamed.stef}} ``` @@ -127,7 +127,7 @@ Instead, it's only the type that carries information. ### Schema {#unit-schema} -```rust,ignore +```stef {{#include structs/unit.stef}} ``` @@ -167,7 +167,7 @@ Instead, it's only the type that carries information. ### Schema {#generics-schema} -```rust,ignore +```stef {{#include structs/generics.stef}} ``` diff --git a/book/src/schema/tuples.md b/book/src/schema/tuples.md index 20912a0..60eda45 100644 --- a/book/src/schema/tuples.md +++ b/book/src/schema/tuples.md @@ -15,7 +15,7 @@ The minimum amount of types in a tuple are **2** and the maximum are **12**. Rea In the schema, tuples are declared with parenthesis `(` and `)`, each type separated by a comma `,`, forming a definition like `(T1, T2, TN...)`. -```rust,ignore +```stef {{#include tuples/basic.stef}} ``` diff --git a/book/src/schema/type-aliases.md b/book/src/schema/type-aliases.md index dfc20d8..a84a98f 100644 --- a/book/src/schema/type-aliases.md +++ b/book/src/schema/type-aliases.md @@ -13,7 +13,7 @@ ## Schema -```rust,ignore +```stef {{#include type-aliases/basic.stef}} ``` diff --git a/vscode-extension/pnpm-lock.yaml b/pnpm-lock.yaml similarity index 71% rename from vscode-extension/pnpm-lock.yaml rename to pnpm-lock.yaml index f359170..8afd009 100644 --- a/vscode-extension/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,18 +4,300 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -devDependencies: - '@vscode/vsce': - specifier: ^2.21.1 - version: 2.21.1 - js-yaml: - specifier: ^4.1.0 - version: 4.1.0 +importers: + + book/highlight: + dependencies: + highlight.js: + specifier: ^11.9.0 + version: 11.9.0 + devDependencies: + '@biomejs/biome': + specifier: ^1.3.3 + version: 1.3.3 + esbuild: + specifier: ^0.19.5 + version: 0.19.5 + + vscode-extension: + devDependencies: + '@vscode/vsce': + specifier: ^2.22.0 + version: 2.22.0 + js-yaml: + specifier: ^4.1.0 + version: 4.1.0 packages: - /@vscode/vsce@2.21.1: - resolution: {integrity: sha512-f45/aT+HTubfCU2oC7IaWnH9NjOWp668ML002QiFObFRVUCoLtcwepp9mmql/ArFUy+HCHp54Xrq4koTcOD6TA==} + /@biomejs/biome@1.3.3: + resolution: {integrity: sha512-vTJn7RBzLWIabUuUIoEopO860YyBrbPEu4Pztfd28jRU5QD074hKZ9IQs24pFO6A2R296gaeYmN62f4u7pUruQ==} + engines: {node: '>=14.*'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@biomejs/cli-darwin-arm64': 1.3.3 + '@biomejs/cli-darwin-x64': 1.3.3 + '@biomejs/cli-linux-arm64': 1.3.3 + '@biomejs/cli-linux-x64': 1.3.3 + '@biomejs/cli-win32-arm64': 1.3.3 + '@biomejs/cli-win32-x64': 1.3.3 + dev: true + + /@biomejs/cli-darwin-arm64@1.3.3: + resolution: {integrity: sha512-2X87ZfbmWwe4NGukrUvnoYdI//muSgjNUCAHJ2DO+kS1sB7kDy1s6PN/IYyTJuqRcJtDuOnSpaUDE7KxR1YhtA==} + engines: {node: '>=14.*'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@biomejs/cli-darwin-x64@1.3.3: + resolution: {integrity: sha512-t+7DWTCbSgHOBcPsGKuwS1qh1z9zbXFK8i8ktE18yW7iF/W0zI62k44fYqYeFJKlb0Q08aqUvez3L+AQJFsn+w==} + engines: {node: '>=14.*'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@biomejs/cli-linux-arm64@1.3.3: + resolution: {integrity: sha512-D8CvXaB8lkXXBQ6B3n0MXSSZFiE60+aNHorBLimVTtKiMod8QvAP425oQFZFul5wMXZqPLGTKFjXbAi/rvnc1A==} + engines: {node: '>=14.*'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@biomejs/cli-linux-x64@1.3.3: + resolution: {integrity: sha512-bqB05fwJnRZwRlcm/BS/s4qPickqiXZkiU/nOYvHApfsPeqgSHgv5HWoBYuSUjgqBbX3XZJArsC5dCcVW7vAJw==} + engines: {node: '>=14.*'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@biomejs/cli-win32-arm64@1.3.3: + resolution: {integrity: sha512-muFOjAv1ONMfaJDlo4Ds+Qb9lkdSLM2XaxOe3AJPejSq3Vi0aRr51ZnE02BofMnL2sVsOA9cO54wibsuTcopbw==} + engines: {node: '>=14.*'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@biomejs/cli-win32-x64@1.3.3: + resolution: {integrity: sha512-PMkMhS4smmmTMflxuZUx3REFSazEL9xsGscvZO1dKWI4ET23la+KxEM4TlSpjOyO66UerqSkuUlZecn0QhD63A==} + engines: {node: '>=14.*'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.19.5: + resolution: {integrity: sha512-5d1OkoJxnYQfmC+Zd8NBFjkhyCNYwM4n9ODrycTFY6Jk1IGiZ+tjVJDDSwDt77nK+tfpGP4T50iMtVi4dEGzhQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.19.5: + resolution: {integrity: sha512-bhvbzWFF3CwMs5tbjf3ObfGqbl/17ict2/uwOSfr3wmxDE6VdS2GqY/FuzIPe0q0bdhj65zQsvqfArI9MY6+AA==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.19.5: + resolution: {integrity: sha512-9t+28jHGL7uBdkBjL90QFxe7DVA+KGqWlHCF8ChTKyaKO//VLuoBricQCgwhOjA1/qOczsw843Fy4cbs4H3DVA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.19.5: + resolution: {integrity: sha512-mvXGcKqqIqyKoxq26qEDPHJuBYUA5KizJncKOAf9eJQez+L9O+KfvNFu6nl7SCZ/gFb2QPaRqqmG0doSWlgkqw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.19.5: + resolution: {integrity: sha512-Ly8cn6fGLNet19s0X4unjcniX24I0RqjPv+kurpXabZYSXGM4Pwpmf85WHJN3lAgB8GSth7s5A0r856S+4DyiA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.19.5: + resolution: {integrity: sha512-GGDNnPWTmWE+DMchq1W8Sd0mUkL+APvJg3b11klSGUDvRXh70JqLAO56tubmq1s2cgpVCSKYywEiKBfju8JztQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.19.5: + resolution: {integrity: sha512-1CCwDHnSSoA0HNwdfoNY0jLfJpd7ygaLAp5EHFos3VWJCRX9DMwWODf96s9TSse39Br7oOTLryRVmBoFwXbuuQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.19.5: + resolution: {integrity: sha512-o3vYippBmSrjjQUCEEiTZ2l+4yC0pVJD/Dl57WfPwwlvFkrxoSO7rmBZFii6kQB3Wrn/6GwJUPLU5t52eq2meA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.19.5: + resolution: {integrity: sha512-lrWXLY/vJBzCPC51QN0HM71uWgIEpGSjSZZADQhq7DKhPcI6NH1IdzjfHkDQws2oNpJKpR13kv7/pFHBbDQDwQ==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.19.5: + resolution: {integrity: sha512-MkjHXS03AXAkNp1KKkhSKPOCYztRtK+KXDNkBa6P78F8Bw0ynknCSClO/ztGszILZtyO/lVKpa7MolbBZ6oJtQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.19.5: + resolution: {integrity: sha512-42GwZMm5oYOD/JHqHska3Jg0r+XFb/fdZRX+WjADm3nLWLcIsN27YKtqxzQmGNJgu0AyXg4HtcSK9HuOk3v1Dw==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.19.5: + resolution: {integrity: sha512-kcjndCSMitUuPJobWCnwQ9lLjiLZUR3QLQmlgaBfMX23UEa7ZOrtufnRds+6WZtIS9HdTXqND4yH8NLoVVIkcg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.19.5: + resolution: {integrity: sha512-yJAxJfHVm0ZbsiljbtFFP1BQKLc8kUF6+17tjQ78QjqjAQDnhULWiTA6u0FCDmYT1oOKS9PzZ2z0aBI+Mcyj7Q==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.19.5: + resolution: {integrity: sha512-5u8cIR/t3gaD6ad3wNt1MNRstAZO+aNyBxu2We8X31bA8XUNyamTVQwLDA1SLoPCUehNCymhBhK3Qim1433Zag==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.19.5: + resolution: {integrity: sha512-Z6JrMyEw/EmZBD/OFEFpb+gao9xJ59ATsoTNlj39jVBbXqoZm4Xntu6wVmGPB/OATi1uk/DB+yeDPv2E8PqZGw==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.19.5: + resolution: {integrity: sha512-psagl+2RlK1z8zWZOmVdImisMtrUxvwereIdyJTmtmHahJTKb64pAcqoPlx6CewPdvGvUKe2Jw+0Z/0qhSbG1A==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.19.5: + resolution: {integrity: sha512-kL2l+xScnAy/E/3119OggX8SrWyBEcqAh8aOY1gr4gPvw76la2GlD4Ymf832UCVbmuWeTf2adkZDK+h0Z/fB4g==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.19.5: + resolution: {integrity: sha512-sPOfhtzFufQfTBgRnE1DIJjzsXukKSvZxloZbkJDG383q0awVAq600pc1nfqBcl0ice/WN9p4qLc39WhBShRTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.19.5: + resolution: {integrity: sha512-dGZkBXaafuKLpDSjKcB0ax0FL36YXCvJNnztjKV+6CO82tTYVDSH2lifitJ29jxRMoUhgkg9a+VA/B03WK5lcg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.19.5: + resolution: {integrity: sha512-dWVjD9y03ilhdRQ6Xig1NWNgfLtf2o/STKTS+eZuF90fI2BhbwD6WlaiCGKptlqXlURVB5AUOxUj09LuwKGDTg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.19.5: + resolution: {integrity: sha512-4liggWIA4oDgUxqpZwrDhmEfAH4d0iljanDOK7AnVU89T6CzHon/ony8C5LeOdfgx60x5cnQJFZwEydVlYx4iw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.19.5: + resolution: {integrity: sha512-czTrygUsB/jlM8qEW5MD8bgYU2Xg14lo6kBDXW6HdxKjh8M5PzETGiSHaz9MtbXBYDloHNUAUW2tMiKW4KM9Mw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@vscode/vsce@2.22.0: + resolution: {integrity: sha512-8df4uJiM3C6GZ2Sx/KilSKVxsetrTBBIUb3c0W4B1EWHcddioVs5mkyDKtMNP0khP/xBILVSzlXxhV+nm2rC9A==} engines: {node: '>= 14'} hasBin: true dependencies: @@ -262,6 +544,36 @@ packages: engines: {node: '>=0.12'} dev: true + /esbuild@0.19.5: + resolution: {integrity: sha512-bUxalY7b1g8vNhQKdB24QDmHeY4V4tw/s6Ak5z+jJX9laP5MoQseTOMemAr0gxssjNcH0MCViG8ONI2kksvfFQ==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.19.5 + '@esbuild/android-arm64': 0.19.5 + '@esbuild/android-x64': 0.19.5 + '@esbuild/darwin-arm64': 0.19.5 + '@esbuild/darwin-x64': 0.19.5 + '@esbuild/freebsd-arm64': 0.19.5 + '@esbuild/freebsd-x64': 0.19.5 + '@esbuild/linux-arm': 0.19.5 + '@esbuild/linux-arm64': 0.19.5 + '@esbuild/linux-ia32': 0.19.5 + '@esbuild/linux-loong64': 0.19.5 + '@esbuild/linux-mips64el': 0.19.5 + '@esbuild/linux-ppc64': 0.19.5 + '@esbuild/linux-riscv64': 0.19.5 + '@esbuild/linux-s390x': 0.19.5 + '@esbuild/linux-x64': 0.19.5 + '@esbuild/netbsd-x64': 0.19.5 + '@esbuild/openbsd-x64': 0.19.5 + '@esbuild/sunos-x64': 0.19.5 + '@esbuild/win32-arm64': 0.19.5 + '@esbuild/win32-ia32': 0.19.5 + '@esbuild/win32-x64': 0.19.5 + dev: true + /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} @@ -354,6 +666,11 @@ packages: function-bind: 1.1.2 dev: true + /highlight.js@11.9.0: + resolution: {integrity: sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==} + engines: {node: '>=12.0.0'} + dev: false + /hosted-git-info@4.1.0: resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} engines: {node: '>=10'} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..d94f4c5 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +packages: + - book/highlight + - vscode-extension diff --git a/vscode-extension/package.json b/vscode-extension/package.json index 0a0673a..db35bdf 100644 --- a/vscode-extension/package.json +++ b/vscode-extension/package.json @@ -45,7 +45,7 @@ "package": "vsce package" }, "devDependencies": { - "@vscode/vsce": "^2.21.1", + "@vscode/vsce": "^2.22.0", "js-yaml": "^4.1.0" } }