@typecad/cuttlefish 1.0.0-alpha.13 → 1.0.0-alpha.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +82 -79
- package/assets/editor-extensions/typecad-debug/README.md +141 -0
- package/assets/editor-extensions/typecad-debug/out/extension.js +347 -0
- package/assets/editor-extensions/typecad-debug/out/extension.js.map +1 -0
- package/assets/editor-extensions/typecad-debug/package.json +76 -0
- package/assets/editor-extensions/typecad-ui/LICENSE +27 -0
- package/assets/editor-extensions/typecad-ui/README.md +52 -0
- package/assets/editor-extensions/typecad-ui/file-icon-dark.png +0 -0
- package/assets/editor-extensions/typecad-ui/file-icon-light.png +0 -0
- package/assets/editor-extensions/typecad-ui/icon.png +0 -0
- package/assets/editor-extensions/typecad-ui/language-configuration.json +43 -0
- package/assets/editor-extensions/typecad-ui/package.json +54 -0
- package/assets/editor-extensions/typecad-ui/snippets/typecad-ui.json +80 -0
- package/assets/editor-extensions/typecad-ui/syntaxes/markdown-ui.json +45 -0
- package/assets/editor-extensions/typecad-ui/syntaxes/typecad-ui.tmLanguage.json +1269 -0
- package/dist/api/config.d.ts +30 -27
- package/dist/api/schema/types.d.ts +20 -3
- package/dist/api/shared/async-runtime-static.d.ts +1 -1
- package/dist/api/shared/async-runtime-static.js +5 -5
- package/dist/api/shared/async-types.d.ts +3 -2
- package/dist/api/shared/board-catalog.d.ts +2 -0
- package/dist/api/shared/board-catalog.js +6 -0
- package/dist/api/shared/board-resolver.d.ts +4 -7
- package/dist/api/shared/board-resolver.js +2 -1
- package/dist/api/shared/coop-scheduler.d.ts +1 -1
- package/dist/api/shared/coop-scheduler.js +1 -1
- package/dist/api/shared/cpp-type-ir.d.ts +1 -1
- package/dist/api/shared/cpp-type-ir.js +1 -1
- package/dist/api/shared/display-profile.d.ts +1 -1
- package/dist/api/shared/display-profile.js +3 -5
- package/dist/api/shared/framework-manifest-registry.d.ts +1 -1
- package/dist/api/shared/framework-manifest-registry.js +0 -1
- package/dist/api/shared/framework-manifest.d.ts +65 -507
- package/dist/api/shared/framework-manifest.js +6 -11
- package/dist/api/shared/hal-op-ir.d.ts +294 -685
- package/dist/api/shared/hal-op-ir.js +31 -65
- package/dist/api/shared/index.d.ts +0 -4
- package/dist/api/shared/index.js +1 -7
- package/dist/api/shared/ir-core.d.ts +6 -0
- package/dist/api/shared/ir-declarations.d.ts +4 -0
- package/dist/api/shared/ir.d.ts +1 -3
- package/dist/api/shared/platform-strategy.d.ts +14 -37
- package/dist/api/shared/polyfill-helper-registry.js +0 -5
- package/dist/api/shared/polyfill-types.js +0 -27
- package/dist/api/shared/promise-runtime.js +3 -3
- package/dist/api/shared/spdx-licenses.d.ts +12 -10
- package/dist/api/shared/spdx-licenses.js +1 -1
- package/dist/api/shared/toolchain-types.d.ts +1 -1
- package/dist/api/shared/toolchain-types.js +3 -3
- package/dist/api/shared/types.d.ts +0 -3
- package/dist/api/shared/validate-framework-manifest.js +13 -33
- package/dist/board-catalog/dts-reader.d.ts +220 -0
- package/dist/board-catalog/dts-reader.js +1052 -0
- package/dist/board-catalog/index.d.ts +11 -0
- package/dist/board-catalog/index.js +12 -0
- package/dist/board-catalog/pinconfig.d.ts +48 -0
- package/dist/board-catalog/pinconfig.js +263 -0
- package/dist/board-catalog/sdk.d.ts +82 -0
- package/dist/board-catalog/sdk.js +180 -0
- package/dist/board-catalog/store.d.ts +196 -0
- package/dist/board-catalog/store.js +363 -0
- package/dist/board-catalog/types.d.ts +233 -0
- package/dist/board-catalog/types.js +7 -0
- package/dist/board-catalog/walker.d.ts +112 -0
- package/dist/board-catalog/walker.js +1101 -0
- package/dist/cli-utils.d.ts +2 -2
- package/dist/cli-utils.js +5 -5
- package/dist/cli.js +227 -244
- package/dist/config-loader.d.ts +14 -19
- package/dist/config-loader.js +242 -78
- package/dist/config-schema.d.ts +19 -227
- package/dist/config-schema.js +9 -8
- package/dist/contract/board-generator.d.ts +4 -4
- package/dist/contract/board-generator.js +16 -5
- package/dist/contract/contract-parser.d.ts +36 -127
- package/dist/contract/contract-parser.js +76 -0
- package/dist/contract/index.d.ts +1 -1
- package/dist/contract/index.js +70 -21
- package/dist/create/active-board-catalog.d.ts +9 -0
- package/dist/create/active-board-catalog.js +94 -0
- package/dist/create/board-catalog.generated.d.ts +96 -0
- package/dist/create/board-catalog.generated.js +128737 -0
- package/dist/create/board-search.d.ts +23 -0
- package/dist/create/board-search.js +88 -0
- package/dist/create/editor-integration.d.ts +32 -0
- package/dist/create/editor-integration.js +257 -0
- package/dist/create/eslint-rules-template.d.ts +2 -2
- package/dist/create/framework-catalog.d.ts +48 -8
- package/dist/create/framework-catalog.js +58 -44
- package/dist/create/index.d.ts +8 -13
- package/dist/create/index.js +5 -9
- package/dist/create/mcu-target.d.ts +39 -0
- package/dist/create/mcu-target.js +80 -0
- package/dist/create/pack-targets.d.ts +19 -0
- package/dist/create/pack-targets.js +56 -0
- package/dist/create/{init-scaffold.d.ts → scaffold.d.ts} +8 -11
- package/dist/create/{init-scaffold.js → scaffold.js} +28 -87
- package/dist/create/templates.d.ts +51 -0
- package/dist/create/{init-templates.js → templates.js} +135 -116
- package/dist/create/wizard.d.ts +19 -0
- package/dist/create/wizard.js +314 -0
- package/dist/debug/preprocessor.d.ts +5 -0
- package/dist/debug/preprocessor.js +31 -7
- package/dist/diagnostics/diagnostics-report.d.ts +1 -1
- package/dist/diagnostics/diagnostics-report.js +3 -11
- package/dist/diagnostics/json-schema.d.ts +1 -1
- package/dist/diagnostics/md-writer.js +2 -2
- package/dist/diagnostics/mermaid-builder.d.ts +1 -1
- package/dist/diagnostics/mermaid-builder.js +1 -1
- package/dist/emit/cpp-emitter.js +4 -1
- package/dist/emit/emitters/class-emitter.js +32 -4
- package/dist/emit/emitters/emitter-context.d.ts +11 -0
- package/dist/emit/emitters/entrypoint-synthesizer.js +1 -1
- package/dist/emit/emitters/function-emitter-impl.js +33 -17
- package/dist/emit/emitters/output-finalizer.d.ts +7 -0
- package/dist/emit/emitters/output-finalizer.js +31 -23
- package/dist/emit/emitters/setup.js +147 -63
- package/dist/emit/emitters/top-level-prep.js +1 -1
- package/dist/emit/emitters/type-decl-emitter.js +13 -8
- package/dist/emit/emitters/ui-emitter.js +1 -1
- package/dist/emit/expression-renderer.d.ts +3 -3
- package/dist/emit/expression-renderer.js +17 -7
- package/dist/emit/route-hal-op.js +17 -48
- package/dist/emit/snprintf-helpers.d.ts +1 -3
- package/dist/emit/snprintf-helpers.js +1 -39
- package/dist/emit/statement-renderer.d.ts +0 -4
- package/dist/emit/statement-renderer.js +54 -45
- package/dist/emit/utils/async-state-machine.d.ts +16 -9
- package/dist/emit/utils/async-state-machine.js +56 -54
- package/dist/emit/utils/comment-helpers.d.ts +0 -8
- package/dist/emit/utils/comment-helpers.js +1 -1
- package/dist/emit/utils/cpp-helpers.d.ts +2 -2
- package/dist/emit/utils/cpp-helpers.js +2 -2
- package/dist/emit/utils/hal-op-cpp-type.js +4 -6
- package/dist/emit/utils/index.d.ts +3 -3
- package/dist/emit/utils/index.js +3 -3
- package/dist/emit/utils/type-inference.d.ts +1 -29
- package/dist/emit/utils/type-inference.js +0 -75
- package/dist/framework-package.d.ts +3 -0
- package/dist/framework-package.js +23 -6
- package/dist/framework-registry.d.ts +5 -5
- package/dist/frameworks/native/graphics/terminal-preview.d.ts +5 -0
- package/dist/frameworks/native/graphics/terminal-preview.js +33 -0
- package/dist/frameworks/native/index.d.ts +3 -0
- package/dist/frameworks/native/index.js +15 -0
- package/dist/frameworks/native/native-compile.d.ts +17 -0
- package/dist/frameworks/native/native-compile.js +170 -0
- package/dist/frameworks/native/native-config.d.ts +41 -0
- package/dist/frameworks/native/native-config.js +7 -0
- package/dist/frameworks/native/strategy.d.ts +97 -0
- package/dist/frameworks/native/strategy.js +664 -0
- package/dist/ir/board-resolver.d.ts +18 -23
- package/dist/ir/board-resolver.js +43 -401
- package/dist/ir/build-ir-state.d.ts +3 -0
- package/dist/ir/build-ir-state.js +42 -0
- package/dist/ir/build-ir.d.ts +1 -1
- package/dist/ir/build-ir.js +64 -45
- package/dist/ir/declaration-builders.js +1 -0
- package/dist/ir/expression-to-ir.js +17 -10
- package/dist/ir/hal/hal-emitter.d.ts +0 -2
- package/dist/ir/hal/hal-emitter.js +92 -41
- package/dist/ir/hal/hal-parser.d.ts +5 -5
- package/dist/ir/hal/hal-parser.js +128 -36
- package/dist/ir/hal/hal-plugins.d.ts +0 -1
- package/dist/ir/hal/hal-plugins.js +425 -716
- package/dist/ir/heap-analysis.js +2 -41
- package/dist/ir/identifier-collector.js +32 -20
- package/dist/ir/network-validation.js +7 -11
- package/dist/ir/ownership-analysis.js +75 -13
- package/dist/ir/peripheral-usage.d.ts +8 -2
- package/dist/ir/peripheral-usage.js +78 -149
- package/dist/ir/peripheral-validation.js +23 -3
- package/dist/ir/pin-capability-validation.d.ts +12 -0
- package/dist/ir/pin-capability-validation.js +61 -97
- package/dist/ir/pin-mode-validation.js +5 -5
- package/dist/ir/program-analysis.d.ts +8 -15
- package/dist/ir/program-analysis.js +140 -323
- package/dist/ir/pulldown-validation.js +11 -4
- package/dist/ir/resource-analysis.js +15 -3
- package/dist/ir/statement-to-ir.js +0 -6
- package/dist/ir/timing-validation.js +1 -1
- package/dist/ir/transformers/array-methods.js +11 -5
- package/dist/ir/transformers/call-statement.js +20 -87
- package/dist/ir/transformers/callback-context-registry.d.ts +1 -1
- package/dist/ir/transformers/callback-context-registry.js +8 -16
- package/dist/ir/transformers/control-flow.js +0 -13
- package/dist/ir/transformers/expressions.js +10 -9
- package/dist/ir/transformers/hal-call-resolver.d.ts +2 -2
- package/dist/ir/transformers/hal-call-resolver.js +24 -10
- package/dist/ir/transformers/hal-emit-helpers.d.ts +2 -2
- package/dist/ir/transformers/hal-emit-helpers.js +2 -2
- package/dist/ir/transformers/namespace-methods.js +1 -1
- package/dist/ir/transformers/ui-callback-lowering.d.ts +0 -2
- package/dist/ir/transformers/ui-callback-lowering.js +0 -24
- package/dist/ir/transformers/variables.js +338 -42
- package/dist/ir/try-catch-validation.js +4 -3
- package/dist/ir/type-resolution.js +15 -4
- package/dist/ir/validation-orchestrator.js +0 -9
- package/dist/libdef/cpp-to-decl.d.ts +0 -9
- package/dist/libdef/cpp-to-decl.js +0 -72
- package/dist/libdef/registry.d.ts +0 -1
- package/dist/libdef/registry.js +1 -24
- package/dist/library/catalog.d.ts +35 -0
- package/dist/library/catalog.js +67 -0
- package/dist/library/cli.d.ts +2 -0
- package/dist/library/cli.js +168 -0
- package/dist/library/init.d.ts +25 -0
- package/dist/library/init.js +397 -0
- package/dist/library/install.d.ts +9 -0
- package/dist/library/install.js +80 -0
- package/dist/library/registry-search.d.ts +34 -0
- package/dist/library/registry-search.js +50 -0
- package/dist/library/validate.d.ts +17 -0
- package/dist/library/validate.js +175 -0
- package/dist/library-packages.d.ts +95 -0
- package/dist/library-packages.js +275 -0
- package/dist/mapping/peripheral-names.js +9 -4
- package/dist/mapping/source-map.d.ts +3 -4
- package/dist/mapping/source-map.js +12 -18
- package/dist/orchestrator/graph-builder.d.ts +3 -3
- package/dist/orchestrator/graph-builder.js +29 -12
- package/dist/orchestrator/type-checker.d.ts +3 -3
- package/dist/orchestrator/type-checker.js +3 -3
- package/dist/platform/async-runtime.js +1 -1
- package/dist/platform/coop-scheduler-runtime.js +2 -2
- package/dist/platform/generic-debug-codegen.d.ts +36 -0
- package/dist/platform/generic-debug-codegen.js +185 -0
- package/dist/platform/generic-strategy.d.ts +3 -4
- package/dist/platform/generic-strategy.js +5 -80
- package/dist/platform/index.js +1 -1
- package/dist/platform/registry.d.ts +2 -2
- package/dist/platform/registry.js +2 -2
- package/dist/preview/client.js +17 -3
- package/dist/safety/asil-decorators.d.ts +32 -0
- package/dist/safety/asil-decorators.js +32 -0
- package/dist/safety/authoring.d.ts +85 -0
- package/dist/safety/authoring.js +61 -0
- package/dist/safety/engine.d.ts +3 -0
- package/dist/safety/engine.js +83 -0
- package/dist/safety/hal/ops.d.ts +48 -0
- package/dist/safety/hal/ops.js +46 -0
- package/dist/safety/iso26262/analyze.d.ts +13 -0
- package/dist/safety/iso26262/analyze.js +29 -0
- package/dist/safety/iso26262/asil.d.ts +10 -0
- package/dist/safety/iso26262/asil.js +22 -0
- package/dist/safety/iso26262/collect.d.ts +14 -0
- package/dist/safety/iso26262/collect.js +137 -0
- package/dist/safety/iso26262/goto-checker.d.ts +10 -0
- package/dist/safety/iso26262/goto-checker.js +72 -0
- package/dist/safety/iso26262/heap-checker.d.ts +7 -0
- package/dist/safety/iso26262/heap-checker.js +57 -0
- package/dist/safety/iso26262/init-checker.d.ts +13 -0
- package/dist/safety/iso26262/init-checker.js +127 -0
- package/dist/safety/iso26262/loop-checker.d.ts +7 -0
- package/dist/safety/iso26262/loop-checker.js +86 -0
- package/dist/safety/iso26262/recursion-checker.d.ts +9 -0
- package/dist/safety/iso26262/recursion-checker.js +134 -0
- package/dist/safety/iso26262/sidecar-writer.d.ts +25 -0
- package/dist/safety/iso26262/sidecar-writer.js +13 -0
- package/dist/safety/passes/pinMode-intercept.d.ts +3 -0
- package/dist/safety/passes/pinMode-intercept.js +60 -0
- package/dist/safety/runtime/mode-table.d.ts +5 -0
- package/dist/safety/runtime/mode-table.js +55 -0
- package/dist/safety/runtime/polyfills.d.ts +6 -0
- package/dist/safety/runtime/polyfills.js +12 -0
- package/dist/safety/runtime/result-struct.d.ts +11 -0
- package/dist/safety/runtime/result-struct.js +98 -0
- package/dist/safety/runtime/safe-int.d.ts +33 -0
- package/dist/safety/runtime/safe-int.js +170 -0
- package/dist/safety/runtime/safe-traits.d.ts +4 -0
- package/dist/safety/runtime/safe-traits.js +95 -0
- package/dist/safety/runtime/safe-variable.d.ts +39 -0
- package/dist/safety/runtime/safe-variable.js +226 -0
- package/dist/safety/runtime/vote.d.ts +8 -0
- package/dist/safety/runtime/vote.js +92 -0
- package/dist/safety/runtime/write-verify.d.ts +8 -0
- package/dist/safety/runtime/write-verify.js +71 -0
- package/dist/safety/safe-int-types.d.ts +45 -0
- package/dist/safety/safe-int-types.js +25 -0
- package/dist/safety/safe-variable-types.d.ts +29 -0
- package/dist/safety/safe-variable-types.js +19 -0
- package/dist/safety/safety-bridge.d.ts +5 -6
- package/dist/safety/safety-bridge.js +15 -28
- package/dist/safety/sidecar-bridge.d.ts +1 -3
- package/dist/safety/sidecar-bridge.js +3 -20
- package/dist/safety/specifiers.d.ts +6 -0
- package/dist/safety/specifiers.js +14 -0
- package/dist/safety-hook.d.ts +8 -7
- package/dist/safety-hook.js +12 -13
- package/dist/testing.d.ts +5 -6
- package/dist/testing.js +5 -5
- package/dist/transpile/resolution.d.ts +1 -1
- package/dist/transpile/resolution.js +18 -9
- package/dist/transpile/test-pins.d.ts +18 -0
- package/dist/transpile/test-pins.js +142 -0
- package/dist/transpile.d.ts +1 -2
- package/dist/transpile.js +90 -29
- package/dist/types.d.ts +45 -26
- package/dist/ui-hook.d.ts +1 -1
- package/dist/utils/cli.d.ts +2 -2
- package/dist/utils/cli.js +160 -157
- package/dist/utils/fs.d.ts +3 -4
- package/dist/utils/fs.js +4 -5
- package/dist/utils/strings.d.ts +0 -1
- package/dist/utils/strings.js +0 -8
- package/dist/utils/ui.d.ts +5 -2
- package/dist/utils/ui.js +13 -3
- package/package.json +158 -149
- package/dist/add-preset.d.ts +0 -4
- package/dist/add-preset.js +0 -74
- package/dist/api/shared/async-symbol-detector.d.ts +0 -11
- package/dist/api/shared/async-symbol-detector.js +0 -140
- package/dist/api/shared/native-display-op-resolver.d.ts +0 -10
- package/dist/api/shared/native-display-op-resolver.js +0 -64
- package/dist/create/board-checklist.d.ts +0 -2
- package/dist/create/board-checklist.js +0 -52
- package/dist/create/board-codegen.d.ts +0 -9
- package/dist/create/board-codegen.js +0 -238
- package/dist/create/board-generators.d.ts +0 -12
- package/dist/create/board-generators.js +0 -651
- package/dist/create/board-spec.d.ts +0 -637
- package/dist/create/board-spec.js +0 -214
- package/dist/create/init-templates.d.ts +0 -28
- package/dist/create/init-wizard.d.ts +0 -8
- package/dist/create/init-wizard.js +0 -182
- package/dist/install/framework-catalog.d.ts +0 -53
- package/dist/install/framework-catalog.js +0 -107
- package/dist/install/handle-install.d.ts +0 -35
- package/dist/install/handle-install.js +0 -177
- package/dist/install/index.d.ts +0 -4
- package/dist/install/index.js +0 -3
- package/dist/ir/pin-state-tracking.d.ts +0 -58
- package/dist/ir/pin-state-tracking.js +0 -182
- package/dist/ir/pwm-timer-sharing.d.ts +0 -4
- package/dist/ir/pwm-timer-sharing.js +0 -94
- package/dist/ir/timer0-pwm-timing-conflict.d.ts +0 -4
- package/dist/ir/timer0-pwm-timing-conflict.js +0 -72
- package/dist/libdef/component-decls.d.ts +0 -2
- package/dist/libdef/component-decls.js +0 -6
- package/dist/libdef/component-discovery.d.ts +0 -43
- package/dist/libdef/component-discovery.js +0 -83
- package/dist/theme-tokens.d.ts +0 -22
- package/dist/theme-tokens.js +0 -172
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "vscode-typecad-debug",
|
|
3
|
+
"displayName": "TypeCAD Debug",
|
|
4
|
+
"description": "Breakpoint debugging for TypeCAD embedded projects",
|
|
5
|
+
"version": "0.2.0",
|
|
6
|
+
"private": true,
|
|
7
|
+
"publisher": "typecad",
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "https://github.com/justind000/typecode.git"
|
|
12
|
+
},
|
|
13
|
+
"engines": {
|
|
14
|
+
"vscode": "^1.85.0"
|
|
15
|
+
},
|
|
16
|
+
"categories": [
|
|
17
|
+
"Debuggers"
|
|
18
|
+
],
|
|
19
|
+
"activationEvents": [
|
|
20
|
+
"onLanguage:typescript",
|
|
21
|
+
"workspaceContains:**/cuttlefish.config.ts"
|
|
22
|
+
],
|
|
23
|
+
"main": "./out/extension.js",
|
|
24
|
+
"contributes": {
|
|
25
|
+
"commands": [
|
|
26
|
+
{
|
|
27
|
+
"command": "typecad-debug.toggleBreakpoint",
|
|
28
|
+
"title": "TypeCAD: Toggle Breakpoint"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"command": "typecad-debug.clearAllBreakpoints",
|
|
32
|
+
"title": "TypeCAD: Clear All Breakpoints"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"command": "typecad-debug.debugWithBreakpoints",
|
|
36
|
+
"title": "TypeCAD: Debug with Breakpoints"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"command": "typecad-debug.syncBreakpoints",
|
|
40
|
+
"title": "TypeCAD: Sync Breakpoints from VS Code"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"command": "typecad-debug.generateDeclaration",
|
|
44
|
+
"title": "TypeCAD: Generate Declaration from C++"
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"keybindings": [
|
|
48
|
+
{
|
|
49
|
+
"command": "typecad-debug.toggleBreakpoint",
|
|
50
|
+
"key": "f9",
|
|
51
|
+
"when": "editorTextFocus && resourceExtname == .ts"
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"menus": {
|
|
55
|
+
"editor/context": [
|
|
56
|
+
{
|
|
57
|
+
"command": "typecad-debug.toggleBreakpoint",
|
|
58
|
+
"group": "debug",
|
|
59
|
+
"when": "resourceExtname == .ts"
|
|
60
|
+
}
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"scripts": {
|
|
65
|
+
"vscode:prepublish": "npm run compile",
|
|
66
|
+
"compile": "tsc -p ./",
|
|
67
|
+
"watch": "tsc -watch -p ./",
|
|
68
|
+
"package": "vsce package --no-yarn --no-dependencies"
|
|
69
|
+
},
|
|
70
|
+
"devDependencies": {
|
|
71
|
+
"@types/node": "^22.10.7",
|
|
72
|
+
"@types/vscode": "^1.85.0",
|
|
73
|
+
"@vscode/vsce": "^3.2.0",
|
|
74
|
+
"typescript": "^5.7.3"
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
MIT License with third-party attribution
|
|
2
|
+
|
|
3
|
+
Copyright (c) TypeCAD contributors
|
|
4
|
+
|
|
5
|
+
TextMate grammar and language configuration adapted from sveltejs/language-tools
|
|
6
|
+
(https://github.com/sveltejs/language-tools), Copyright (c) 2020-Present
|
|
7
|
+
sveltejs/language-tools contributors, MIT licensed:
|
|
8
|
+
|
|
9
|
+
Copyright (c) 2020-Present sveltejs/language-tools contributors
|
|
10
|
+
|
|
11
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
12
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
13
|
+
in the Software without restriction, including without limitation the rights
|
|
14
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
15
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
16
|
+
furnished to do so, subject to the following conditions:
|
|
17
|
+
|
|
18
|
+
The above copyright notice and this permission notice shall be included in
|
|
19
|
+
all copies or substantial portions of the Software.
|
|
20
|
+
|
|
21
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
22
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
23
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
24
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
25
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
26
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
27
|
+
SOFTWARE.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# TypeCAD UI (.ui) Syntax
|
|
2
|
+
|
|
3
|
+
Syntax highlighting and editor support for cuttlefish `.ui` single-file
|
|
4
|
+
components. A `.ui` file interleaves three streams — TypeScript in `<script>`,
|
|
5
|
+
CSS in `<style>`, and Svelte-style markup (`on:click={handler}`,
|
|
6
|
+
`{expression}` interpolations) — and the grammar highlights all three by
|
|
7
|
+
embedding VS Code's builtin TypeScript, CSS, and HTML grammars.
|
|
8
|
+
|
|
9
|
+
Beyond the grammar, the extension statically contributes:
|
|
10
|
+
|
|
11
|
+
- **Snippets** for the `.ui` idioms (`screen`, `button`, `bind`, `signal`,
|
|
12
|
+
`canvas`, `list`, …) — type the prefix and Tab.
|
|
13
|
+
- **Markdown injection** so ` ```ui ` fenced blocks highlight in docs.
|
|
14
|
+
- **File icons** for `.ui` files, shown when the active icon theme has no
|
|
15
|
+
mapping (VS Code's default Seti theme has none).
|
|
16
|
+
- **Word/indentation rules** so `{expr}` and `on:click` select as one word and
|
|
17
|
+
Enter indents inside tags and braces.
|
|
18
|
+
|
|
19
|
+
This is a grammar-only extension: no activation events, no code, no
|
|
20
|
+
dependencies beyond static contributions. It never runs anything.
|
|
21
|
+
|
|
22
|
+
## Why it lives here
|
|
23
|
+
|
|
24
|
+
`cuttlefish create` copies this folder into each new project's
|
|
25
|
+
`.vscode/extensions/typecad-ui/`. VS Code (1.89+, trusted workspaces) detects
|
|
26
|
+
workspace-bundled extensions and installs them scoped to that workspace — the
|
|
27
|
+
project carries its own highlighting with no marketplace install. The
|
|
28
|
+
scaffold also writes `.vscode/extensions.json` with a `forceInstall` entry so
|
|
29
|
+
current VS Code builds install it without a prompt once that feature ships.
|
|
30
|
+
|
|
31
|
+
## Attribution
|
|
32
|
+
|
|
33
|
+
The TextMate grammar and language configuration are adapted from the Svelte
|
|
34
|
+
team's work in [sveltejs/language-tools]
|
|
35
|
+
(https://github.com/sveltejs/language-tools) (`svelte-vscode/syntaxes/
|
|
36
|
+
svelte.tmLanguage.src.yaml` and `svelte-vscode/language-configuration.json`),
|
|
37
|
+
MIT licensed — see LICENSE. Adaptations: scopes renamed from `source.svelte`
|
|
38
|
+
to `source.typecad-ui`, Svelte built-in element patterns (`<svelte:*>`)
|
|
39
|
+
removed, folding markers adjusted for `<screen>` roots. The `.ui` format is a
|
|
40
|
+
Svelte-syntax subset, so the grammar is otherwise kept structurally identical
|
|
41
|
+
to stay close to upstream.
|
|
42
|
+
|
|
43
|
+
## Manual install (existing projects)
|
|
44
|
+
|
|
45
|
+
Copy this folder to `<project>/.vscode/extensions/typecad-ui/` and reload the
|
|
46
|
+
VS Code window. Commit it so collaborators get highlighting too.
|
|
47
|
+
|
|
48
|
+
## Regenerating the icon
|
|
49
|
+
|
|
50
|
+
`icon.png` is rendered by `scripts/render-typecad-ui-icon.mjs` at the repo
|
|
51
|
+
root (dependency-free SDF rasterizer). Re-run it after changing the design or
|
|
52
|
+
dimensions in that script.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"comments": {
|
|
3
|
+
"blockComment": ["<!--", "-->"]
|
|
4
|
+
},
|
|
5
|
+
"brackets": [
|
|
6
|
+
["<!--", "-->"],
|
|
7
|
+
["<", ">"],
|
|
8
|
+
["{", "}"],
|
|
9
|
+
["(", ")"],
|
|
10
|
+
["[", "]"]
|
|
11
|
+
],
|
|
12
|
+
"autoClosingPairs": [
|
|
13
|
+
{ "open": "{", "close": "}" },
|
|
14
|
+
{ "open": "[", "close": "]" },
|
|
15
|
+
{ "open": "(", "close": ")" },
|
|
16
|
+
{ "open": "'", "close": "'" },
|
|
17
|
+
{ "open": "\"", "close": "\"" },
|
|
18
|
+
{ "open": "`", "close": "`", "notIn": ["comment", "string"] },
|
|
19
|
+
{ "open": "<!--", "close": "-->", "notIn": ["comment", "string"] },
|
|
20
|
+
{ "open": "/**", "close": "*/", "notIn": ["string"] }
|
|
21
|
+
],
|
|
22
|
+
"autoCloseBefore": ";:.,=}])><`/ \n\t",
|
|
23
|
+
"surroundingPairs": [
|
|
24
|
+
{ "open": "'", "close": "'" },
|
|
25
|
+
{ "open": "\"", "close": "\"" },
|
|
26
|
+
{ "open": "`", "close": "`" },
|
|
27
|
+
{ "open": "{", "close": "}" },
|
|
28
|
+
{ "open": "[", "close": "]" },
|
|
29
|
+
{ "open": "(", "close": ")" },
|
|
30
|
+
{ "open": "<", "close": ">" }
|
|
31
|
+
],
|
|
32
|
+
"wordPattern": "({[^}]*})|([\\w:.$-]+)",
|
|
33
|
+
"indentationRules": {
|
|
34
|
+
"increaseIndentPattern": "(^.*\\{[^}\"']*$)|(^.*\\([^)\"']*$)|(^.*<(?!/)(?!.*/>)[^>]*>$)",
|
|
35
|
+
"decreaseIndentPattern": "^\\s*(\\}|\\)|</)"
|
|
36
|
+
},
|
|
37
|
+
"folding": {
|
|
38
|
+
"markers": {
|
|
39
|
+
"start": "^\\s*(//|/\\*\\*?)\\s*#?region\\b|^<(screen|style|script)[^>]*>|^\\s*<!--\\s*#region\\b",
|
|
40
|
+
"end": "^\\s*(//|/\\*\\*?)\\s*#?endregion\\b|^</(screen|style|script)>|^\\s*<!--\\s*#endregion\\b"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "typecad-ui",
|
|
3
|
+
"displayName": "TypeCAD UI (.ui) Syntax",
|
|
4
|
+
"description": "Syntax highlighting for cuttlefish .ui single-file components: TypeScript in <script>, CSS in <style>, Svelte-style markup directives and interpolations.",
|
|
5
|
+
"version": "0.1.0",
|
|
6
|
+
"publisher": "typecad",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"icon": "icon.png",
|
|
9
|
+
"engines": {
|
|
10
|
+
"vscode": "^1.89.0"
|
|
11
|
+
},
|
|
12
|
+
"categories": [
|
|
13
|
+
"Programming Languages"
|
|
14
|
+
],
|
|
15
|
+
"contributes": {
|
|
16
|
+
"languages": [
|
|
17
|
+
{
|
|
18
|
+
"id": "typecad-ui",
|
|
19
|
+
"aliases": [
|
|
20
|
+
"Cuttlefish UI",
|
|
21
|
+
"typecad-ui"
|
|
22
|
+
],
|
|
23
|
+
"extensions": [
|
|
24
|
+
".ui"
|
|
25
|
+
],
|
|
26
|
+
"icon": {
|
|
27
|
+
"light": "./file-icon-light.png",
|
|
28
|
+
"dark": "./file-icon-dark.png"
|
|
29
|
+
},
|
|
30
|
+
"configuration": "./language-configuration.json"
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
"grammars": [
|
|
34
|
+
{
|
|
35
|
+
"language": "typecad-ui",
|
|
36
|
+
"scopeName": "source.typecad-ui",
|
|
37
|
+
"path": "./syntaxes/typecad-ui.tmLanguage.json"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"scopeName": "markdown.typecad-ui.codeblock",
|
|
41
|
+
"path": "./syntaxes/markdown-ui.json",
|
|
42
|
+
"injectTo": [
|
|
43
|
+
"text.html.markdown"
|
|
44
|
+
]
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"snippets": [
|
|
48
|
+
{
|
|
49
|
+
"language": "typecad-ui",
|
|
50
|
+
"path": "./snippets/typecad-ui.json"
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"Import ui": {
|
|
3
|
+
"prefix": "import-ui",
|
|
4
|
+
"body": ["import { ui } from '@typecad/ui';"],
|
|
5
|
+
"description": "Import the ui runtime"
|
|
6
|
+
},
|
|
7
|
+
"Screen": {
|
|
8
|
+
"prefix": "screen",
|
|
9
|
+
"body": [
|
|
10
|
+
"<screen id=\"${1:id}\">",
|
|
11
|
+
" <body>",
|
|
12
|
+
" <header class=\"screenHeader\">",
|
|
13
|
+
" <a class=\"backLink\" href=\"#home\">< Back</a>",
|
|
14
|
+
" <h2 class=\"screenTitle\">${2:Title}</h2>",
|
|
15
|
+
" </header>",
|
|
16
|
+
" <main class=\"scrollBody\">",
|
|
17
|
+
" $0",
|
|
18
|
+
" </main>",
|
|
19
|
+
" </body>",
|
|
20
|
+
"</screen>"
|
|
21
|
+
],
|
|
22
|
+
"description": "New screen with header and scroll body"
|
|
23
|
+
},
|
|
24
|
+
"Button": {
|
|
25
|
+
"prefix": "button",
|
|
26
|
+
"body": [
|
|
27
|
+
"<button id=\"${1:id}\" class=\"btn btn-primary\" on:click={${2:handler}}>${3:Label}</button>"
|
|
28
|
+
],
|
|
29
|
+
"description": "Button with click handler"
|
|
30
|
+
},
|
|
31
|
+
"Text": {
|
|
32
|
+
"prefix": "text",
|
|
33
|
+
"body": ["<text id=\"${1:id}\" class=\"${2:badge}\">${3:text}</text>"],
|
|
34
|
+
"description": "Text element"
|
|
35
|
+
},
|
|
36
|
+
"Interpolation": {
|
|
37
|
+
"prefix": "interp",
|
|
38
|
+
"body": ["{${1:expr}}"],
|
|
39
|
+
"description": "Interpolated expression in markup"
|
|
40
|
+
},
|
|
41
|
+
"Signal": {
|
|
42
|
+
"prefix": "signal",
|
|
43
|
+
"body": ["export const ${1:name} = ui.signal(${2:0});"],
|
|
44
|
+
"description": "Reactive signal"
|
|
45
|
+
},
|
|
46
|
+
"Handler": {
|
|
47
|
+
"prefix": "handler",
|
|
48
|
+
"body": ["export function ${1:onTap}() {", " $0", "}"],
|
|
49
|
+
"description": "Exported event handler"
|
|
50
|
+
},
|
|
51
|
+
"Bind": {
|
|
52
|
+
"prefix": "bind",
|
|
53
|
+
"body": [
|
|
54
|
+
"ui.bind(screen.${1:elem}, '${2|text,visible,background,color,borderColor|}', () => ${3:expr});"
|
|
55
|
+
],
|
|
56
|
+
"description": "Bind an element property to an expression"
|
|
57
|
+
},
|
|
58
|
+
"Canvas": {
|
|
59
|
+
"prefix": "canvas",
|
|
60
|
+
"body": [
|
|
61
|
+
"ui.drawCanvas(screen.${1:elem}, (ctx) => {",
|
|
62
|
+
" ctx.fillScreen('${2:#101828}');",
|
|
63
|
+
" $0",
|
|
64
|
+
"});"
|
|
65
|
+
],
|
|
66
|
+
"description": "Canvas draw block"
|
|
67
|
+
},
|
|
68
|
+
"List": {
|
|
69
|
+
"prefix": "list",
|
|
70
|
+
"body": [
|
|
71
|
+
"ui.bindList(",
|
|
72
|
+
" screen.${1:elem},",
|
|
73
|
+
" () => ${2:count},",
|
|
74
|
+
" (i: number) => `${3:Row }${i}`,",
|
|
75
|
+
" (i: number) => { ${4:onTap(i)} },",
|
|
76
|
+
");"
|
|
77
|
+
],
|
|
78
|
+
"description": "Virtualized list binding"
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"scopeName": "markdown.typecad-ui.codeblock",
|
|
3
|
+
"fileTypes": [],
|
|
4
|
+
"injectionSelector": "L:text.html.markdown",
|
|
5
|
+
"patterns": [
|
|
6
|
+
{
|
|
7
|
+
"include": "#ui-code-block"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"repository": {
|
|
11
|
+
"ui-code-block": {
|
|
12
|
+
"begin": "(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(ui|cuttlefish)(\\s+[^`~]*)?$)",
|
|
13
|
+
"name": "markup.fenced_code.block.markdown",
|
|
14
|
+
"end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$",
|
|
15
|
+
"beginCaptures": {
|
|
16
|
+
"3": {
|
|
17
|
+
"name": "punctuation.definition.markdown"
|
|
18
|
+
},
|
|
19
|
+
"5": {
|
|
20
|
+
"name": "fenced_code.block.language"
|
|
21
|
+
},
|
|
22
|
+
"6": {
|
|
23
|
+
"name": "fenced_code.block.language.attributes"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"endCaptures": {
|
|
27
|
+
"3": {
|
|
28
|
+
"name": "punctuation.definition.markdown"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"patterns": [
|
|
32
|
+
{
|
|
33
|
+
"begin": "(^|\\G)(\\s*)(.*)",
|
|
34
|
+
"while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
|
|
35
|
+
"contentName": "meta.embedded.block.typecad-ui",
|
|
36
|
+
"patterns": [
|
|
37
|
+
{
|
|
38
|
+
"include": "source.typecad-ui"
|
|
39
|
+
}
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
]
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|