mirror of
https://github.com/sehugg/8bitworkshop.git
synced 2026-10-24 08:02:27 +00:00
vscode: remove .z extension, tweaks
This commit is contained in:
1 parent
5b7aa38cb9
commit
8f3d5a4870
6 files changed
+23
-12
No files matched your search
@@ -13,8 +13,12 @@ First preview.
|
||||
- Toolchains download on first use, checked against built-in hashes.
|
||||
- Compiler and emulator crashes send an error report to 8bitworkshop.com,
|
||||
following VS Code's `telemetry.telemetryLevel` setting. See the README.
|
||||
- The Atari 2600 now stops at breakpoints and steps by instruction, not by
|
||||
frame, and can step back.
|
||||
- Debugging with <kbd>F5</kbd>: breakpoints on lines, functions and
|
||||
conditions; step, step over, step out, step back and reverse continue;
|
||||
a timeline to scrub through the recording while paused.
|
||||
- Debug views: registers, the machine's internal state (the IDE's Debug
|
||||
Tree), symbols, a call stack walked from return addresses, and
|
||||
disassembly. Memory opens in VS Code's Hex Editor.
|
||||
- `.s`, `.asm`, `.inc` and `.a` files in a project get the highlighting
|
||||
for the platform's CPU. `.acme` files get 6502 highlighting.
|
||||
- An `8bws` command in the integrated terminal builds and runs programs
|
||||
|
||||
@@ -258,7 +258,7 @@ is; a `.c` file anywhere else sees nothing from us.
|
||||
**Rule 2: claim a language ID only where nobody else does.**
|
||||
|
||||
- *Extensions only 8bitworkshop uses* (`.dasm`, `.ca65`, `.acme`, `.xa`,
|
||||
`.nesasm`, `.z`, `.xasm`, `.lwasm`, `.vasm`, `.wiz`, `.ecs`, `.bb`,
|
||||
`.nesasm`, `.zmac`, `.xasm`, `.lwasm`, `.vasm`, `.wiz`, `.ecs`, `.bb`,
|
||||
`.cc2600`, `.cc7800`, ...): list them in
|
||||
`contributes.languages[].extensions`, generated from `toolmeta.ts`.
|
||||
Before each release, check the Marketplace for collisions.
|
||||
@@ -1453,6 +1453,12 @@ vicdual, williams, zx. Since then (2026-09-26), vcs and arm32 work too. These do
|
||||
| `vector-*` | no frames | Vector video isn't forwarded; the webview needs line drawing (`VectorVideo.drawLine` ops). |
|
||||
| `kim1` | no frames | LED display, no raster video; needs its own view. |
|
||||
|
||||
**TODO: hidden until they run** (2026-09-29). `vector-z80color`,
|
||||
`vector-ataricolor` (no frames) and `williams-z80` (`Worker is not
|
||||
defined`) are in `SKIP_PLATFORMS` in `scripts/presetindex.ts`, so New
|
||||
Project and Open Example don't offer them. Take each out of that list once
|
||||
the survey shows it producing frames.
|
||||
|
||||
Also:
|
||||
- **Start timeout.** A platform whose `start()` never settles leaves the
|
||||
panel blank with no error (the CLI already reports "never finished
|
||||
@@ -2379,7 +2385,7 @@ do them when a platform is the priority (VCS needs 3–4).
|
||||
share; `scripts/syntaxes.ts` writes `out/syntaxes/`. `test/syntaxes.test.ts`
|
||||
tokenizes with `vscode-textmate` and checks `package.json` against
|
||||
`makeContributions()`. Only extensions no one else uses are claimed
|
||||
(`.dasm .ca65 .xa .nesasm .z .zmac .sgb .xasm .lwasm`); `.s .asm .inc .a`
|
||||
(`.dasm .ca65 .xa .nesasm .zmac .sgb .xasm .lwasm`); `.s .asm .inc .a`
|
||||
wait for per-project language assignment (Rule 2).
|
||||
- Decided: no C grammar of our own. C goes to clangd/cpptools with our
|
||||
headers, defines and shims (`cheaders.ts`, §4 "C: feed clangd and
|
||||
|
||||
@@ -386,7 +386,6 @@
|
||||
"Z80"
|
||||
],
|
||||
"extensions": [
|
||||
".z",
|
||||
".zmac",
|
||||
".sgb"
|
||||
],
|
||||
|
||||
@@ -6,12 +6,11 @@
|
||||
//
|
||||
// writes <outDir>/8bitworkshop-<pack>-<ideVersion>-<hash>.tar.br and
|
||||
// out/assets.json. Upload the packs to the asset server (ASSET_URLS in
|
||||
// extension.ts). --quality trades size for speed: 11 (the default, for
|
||||
// releases) takes minutes; 5 takes seconds.
|
||||
// extension.ts). --quality trades size for speed: 11 (the default)
|
||||
// takes minutes; 8 is nearly as small and much faster.
|
||||
//
|
||||
// `npm run package` packs a quick (quality 5) bundle so dev installs work;
|
||||
// the release scripts (`npm run package:release`, `npm run vsce-publish`,
|
||||
// `npm run ovsx-publish`) pack at full quality first. `vscode:prepublish`
|
||||
// `npm run package` packs at quality 8, which we ship; `npm run
|
||||
// package:release`, `vsce-publish` and `ovsx-publish` pack at 11. `vscode:prepublish`
|
||||
// only builds, so vsce never repacks the assets on its own.
|
||||
|
||||
import * as fs from 'fs';
|
||||
|
||||
@@ -21,7 +21,10 @@ import type { PresetIndex, TemplateInfo } from '../src/presettypes';
|
||||
// families from the IDE's platform menu that the extension can't run
|
||||
const SKIP_FAMILIES = ['MAME/Other', 'Interpreters'];
|
||||
// platforms we never offer in the extension, even if the menu lists them
|
||||
const SKIP_PLATFORMS = ['x86', 'vectrex', 'exidy', 'arm32'];
|
||||
// TODO: vector-* need vector video in the webview, williams-z80 a headless
|
||||
// sound Worker (notes/PLAN.md, "platforms that don't run in the extension")
|
||||
const SKIP_PLATFORMS = ['x86', 'vectrex', 'exidy', 'arm32',
|
||||
'vector-z80color', 'vector-ataricolor', 'williams-z80'];
|
||||
|
||||
const rootDir = path.resolve(process.argv[2] || path.join(__dirname, '../..'));
|
||||
const outFile = path.resolve(process.argv[3] || path.join(__dirname, 'presets.json'));
|
||||
|
||||
@@ -49,7 +49,7 @@ export const ASM_LANGUAGES: AsmLanguage[] = [
|
||||
{
|
||||
id: '8bws-z80', cpu: 'z80',
|
||||
aliases: ['Z80 Assembly', 'Z80'],
|
||||
extensions: ['.z', '.zmac', '.sgb'],
|
||||
extensions: ['.zmac', '.sgb'],
|
||||
opcodes: uniq([...K.opcodesZ80, ...K.opcodesGBZ80]),
|
||||
registers: K.registersZ80,
|
||||
conditions: K.conditionsZ80,
|
||||
|
||||
Reference in new issue
Block a user