Round 501-510: Testing frameworks, code quality, doc generators, embedded, FPGA, HPC (200 commands)
ober
572c127ea81d08303f24eaa305407b2f11de1b25
--- a/docs/jemacs-vs-emacs.md +++ b/docs/jemacs-vs-emacs.md @@ -4583,6 +4583,256 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features | ebib-import-file | :orange_circle: | Import file into Ebib | | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer | +### Round 510 — Lmod, Singularity, Apptainer, Charliecloud + +| Feature | Status | Notes | +|---------|--------|-------| +| `lmod-load` | :orange_circle: Scaffolded | Lmod: load module | +| `lmod-avail` | :orange_circle: Scaffolded | Lmod: available modules | +| `lmod-spider` | :orange_circle: Scaffolded | Lmod: spider search | +| `lmod-list` | :orange_circle: Scaffolded | Lmod: list loaded | +| `lmod-save` | :orange_circle: Scaffolded | Lmod: save collection | +| `singularity-build` | :orange_circle: Scaffolded | Singularity: build image | +| `singularity-run` | :orange_circle: Scaffolded | Singularity: run container | +| `singularity-exec` | :orange_circle: Scaffolded | Singularity: exec command | +| `singularity-shell` | :orange_circle: Scaffolded | Singularity: shell into | +| `singularity-pull` | :orange_circle: Scaffolded | Singularity: pull image | +| `apptainer-build` | :orange_circle: Scaffolded | Apptainer: build image | +| `apptainer-run` | :orange_circle: Scaffolded | Apptainer: run container | +| `apptainer-exec` | :orange_circle: Scaffolded | Apptainer: exec command | +| `apptainer-shell` | :orange_circle: Scaffolded | Apptainer: shell into | +| `apptainer-pull` | :orange_circle: Scaffolded | Apptainer: pull image | +| `charliecloud-build` | :orange_circle: Scaffolded | Charliecloud: build image | +| `charliecloud-run` | :orange_circle: Scaffolded | Charliecloud: run container | +| `charliecloud-pull` | :orange_circle: Scaffolded | Charliecloud: pull image | +| `charliecloud-push` | :orange_circle: Scaffolded | Charliecloud: push image | +| `charliecloud-list` | :orange_circle: Scaffolded | Charliecloud: list images | + +### Round 509 — CUDA ext, OpenCL, Spack, EasyBuild + +| Feature | Status | Notes | +|---------|--------|-------| +| `cuda-compile` | :orange_circle: Scaffolded | CUDA: compile kernel | +| `cuda-profile` | :orange_circle: Scaffolded | CUDA: profile execution | +| `cuda-memcheck` | :orange_circle: Scaffolded | CUDA: memory check | +| `cuda-debug` | :orange_circle: Scaffolded | CUDA: debug session | +| `cuda-info` | :orange_circle: Scaffolded | CUDA: device info | +| `opencl-info` | :orange_circle: Scaffolded | OpenCL: platform info | +| `opencl-compile` | :orange_circle: Scaffolded | OpenCL: compile kernel | +| `opencl-profile` | :orange_circle: Scaffolded | OpenCL: profile execution | +| `opencl-platform` | :orange_circle: Scaffolded | OpenCL: platform selection | +| `opencl-device` | :orange_circle: Scaffolded | OpenCL: device selection | +| `spack-install` | :orange_circle: Scaffolded | Spack: install package | +| `spack-find` | :orange_circle: Scaffolded | Spack: find packages | +| `spack-env` | :orange_circle: Scaffolded | Spack: environment | +| `spack-spec` | :orange_circle: Scaffolded | Spack: spec resolution | +| `spack-develop` | :orange_circle: Scaffolded | Spack: develop mode | +| `easybuild-install` | :orange_circle: Scaffolded | EasyBuild: install | +| `easybuild-search` | :orange_circle: Scaffolded | EasyBuild: search | +| `easybuild-robot` | :orange_circle: Scaffolded | EasyBuild: robot path | +| `easybuild-config` | :orange_circle: Scaffolded | EasyBuild: configuration | +| `easybuild-test` | :orange_circle: Scaffolded | EasyBuild: test build | + +### Round 508 — Icarus Verilog, GTKWave, SLURM ext, MPI + +| Feature | Status | Notes | +|---------|--------|-------| +| `iverilog-compile` | :orange_circle: Scaffolded | Icarus Verilog: compile | +| `iverilog-simulate` | :orange_circle: Scaffolded | Icarus Verilog: simulate | +| `iverilog-dump` | :orange_circle: Scaffolded | Icarus Verilog: dump signals | +| `iverilog-module` | :orange_circle: Scaffolded | Icarus Verilog: module info | +| `iverilog-vpi` | :orange_circle: Scaffolded | Icarus Verilog: VPI interface | +| `gtkwave-open` | :orange_circle: Scaffolded | GTKWave: open waveform | +| `gtkwave-zoom` | :orange_circle: Scaffolded | GTKWave: zoom control | +| `gtkwave-marker` | :orange_circle: Scaffolded | GTKWave: set marker | +| `gtkwave-signal` | :orange_circle: Scaffolded | GTKWave: add signal | +| `gtkwave-export` | :orange_circle: Scaffolded | GTKWave: export view | +| `slurm-submit` | :orange_circle: Scaffolded | SLURM: submit job | +| `slurm-queue` | :orange_circle: Scaffolded | SLURM: view queue | +| `slurm-cancel` | :orange_circle: Scaffolded | SLURM: cancel job | +| `slurm-info` | :orange_circle: Scaffolded | SLURM: job info | +| `slurm-partition` | :orange_circle: Scaffolded | SLURM: partition info | +| `mpi-run` | :orange_circle: Scaffolded | MPI: run program | +| `mpi-compile` | :orange_circle: Scaffolded | MPI: compile program | +| `mpi-info` | :orange_circle: Scaffolded | MPI: implementation info | +| `mpi-hostfile` | :orange_circle: Scaffolded | MPI: manage hostfile | +| `mpi-debug` | :orange_circle: Scaffolded | MPI: debug session | + +### Round 507 — PlatformIO ext, Yosys, nextpnr, Verilator + +| Feature | Status | Notes | +|---------|--------|-------| +| `platformio-build` | :orange_circle: Scaffolded | PlatformIO: build firmware | +| `platformio-upload` | :orange_circle: Scaffolded | PlatformIO: upload firmware | +| `platformio-monitor` | :orange_circle: Scaffolded | PlatformIO: serial monitor | +| `platformio-test` | :orange_circle: Scaffolded | PlatformIO: run tests | +| `platformio-check` | :orange_circle: Scaffolded | PlatformIO: static analysis | +| `yosys-synth` | :orange_circle: Scaffolded | Yosys: synthesize design | +| `yosys-read` | :orange_circle: Scaffolded | Yosys: read source | +| `yosys-write` | :orange_circle: Scaffolded | Yosys: write output | +| `yosys-script` | :orange_circle: Scaffolded | Yosys: run script | +| `yosys-show` | :orange_circle: Scaffolded | Yosys: show design | +| `nextpnr-place` | :orange_circle: Scaffolded | nextpnr: place design | +| `nextpnr-route` | :orange_circle: Scaffolded | nextpnr: route design | +| `nextpnr-pack` | :orange_circle: Scaffolded | nextpnr: pack design | +| `nextpnr-timing` | :orange_circle: Scaffolded | nextpnr: timing analysis | +| `nextpnr-gui` | :orange_circle: Scaffolded | nextpnr: GUI viewer | +| `verilator-lint` | :orange_circle: Scaffolded | Verilator: lint check | +| `verilator-compile` | :orange_circle: Scaffolded | Verilator: compile | +| `verilator-trace` | :orange_circle: Scaffolded | Verilator: trace signals | +| `verilator-coverage` | :orange_circle: Scaffolded | Verilator: coverage | +| `verilator-threads` | :orange_circle: Scaffolded | Verilator: multi-thread | + +### Round 506 — OpenOCD, GDB Server, J-Link, ST-Link + +| Feature | Status | Notes | +|---------|--------|-------| +| `openocd-flash` | :orange_circle: Scaffolded | OpenOCD: flash firmware | +| `openocd-debug` | :orange_circle: Scaffolded | OpenOCD: debug session | +| `openocd-reset` | :orange_circle: Scaffolded | OpenOCD: reset target | +| `openocd-halt` | :orange_circle: Scaffolded | OpenOCD: halt target | +| `openocd-telnet` | :orange_circle: Scaffolded | OpenOCD: telnet interface | +| `gdb-server-connect` | :orange_circle: Scaffolded | GDB Server: connect | +| `gdb-server-monitor` | :orange_circle: Scaffolded | GDB Server: monitor command | +| `gdb-server-load` | :orange_circle: Scaffolded | GDB Server: load firmware | +| `gdb-server-break` | :orange_circle: Scaffolded | GDB Server: set breakpoint | +| `gdb-server-step` | :orange_circle: Scaffolded | GDB Server: step execution | +| `jlink-flash` | :orange_circle: Scaffolded | J-Link: flash firmware | +| `jlink-erase` | :orange_circle: Scaffolded | J-Link: erase chip | +| `jlink-reset` | :orange_circle: Scaffolded | J-Link: reset target | +| `jlink-rtt` | :orange_circle: Scaffolded | J-Link: RTT viewer | +| `jlink-swd` | :orange_circle: Scaffolded | J-Link: SWD interface | +| `stlink-flash` | :orange_circle: Scaffolded | ST-Link: flash firmware | +| `stlink-erase` | :orange_circle: Scaffolded | ST-Link: erase chip | +| `stlink-reset` | :orange_circle: Scaffolded | ST-Link: reset target | +| `stlink-info` | :orange_circle: Scaffolded | ST-Link: probe info | +| `stlink-probe` | :orange_circle: Scaffolded | ST-Link: detect probes | + +### Round 505 — MkDocs, Docusaurus, Hugo ext, Gatsby + +| Feature | Status | Notes | +|---------|--------|-------| +| `mkdocs-build` | :orange_circle: Scaffolded | MkDocs: build site | +| `mkdocs-serve` | :orange_circle: Scaffolded | MkDocs: serve locally | +| `mkdocs-deploy` | :orange_circle: Scaffolded | MkDocs: deploy | +| `mkdocs-new` | :orange_circle: Scaffolded | MkDocs: new project | +| `mkdocs-gh-deploy` | :orange_circle: Scaffolded | MkDocs: GitHub Pages deploy | +| `docusaurus-start` | :orange_circle: Scaffolded | Docusaurus: start dev server | +| `docusaurus-build` | :orange_circle: Scaffolded | Docusaurus: build site | +| `docusaurus-deploy` | :orange_circle: Scaffolded | Docusaurus: deploy | +| `docusaurus-swizzle` | :orange_circle: Scaffolded | Docusaurus: swizzle component | +| `docusaurus-clear` | :orange_circle: Scaffolded | Docusaurus: clear cache | +| `hugo-build` | :orange_circle: Scaffolded | Hugo: build site | +| `hugo-serve` | :orange_circle: Scaffolded | Hugo: serve locally | +| `hugo-new` | :orange_circle: Scaffolded | Hugo: new content | +| `hugo-deploy` | :orange_circle: Scaffolded | Hugo: deploy site | +| `hugo-mod` | :orange_circle: Scaffolded | Hugo: module management | +| `gatsby-build` | :orange_circle: Scaffolded | Gatsby: build site | +| `gatsby-develop` | :orange_circle: Scaffolded | Gatsby: develop server | +| `gatsby-serve` | :orange_circle: Scaffolded | Gatsby: serve production | +| `gatsby-clean` | :orange_circle: Scaffolded | Gatsby: clean cache | +| `gatsby-repl` | :orange_circle: Scaffolded | Gatsby: REPL | + +### Round 504 — Coveralls, Codecov, Snyk ext, Sphinx ext + +| Feature | Status | Notes | +|---------|--------|-------| +| `coveralls-upload` | :orange_circle: Scaffolded | Coveralls: upload coverage | +| `coveralls-config` | :orange_circle: Scaffolded | Coveralls: configuration | +| `coveralls-parallel` | :orange_circle: Scaffolded | Coveralls: parallel builds | +| `coveralls-badge` | :orange_circle: Scaffolded | Coveralls: badge URL | +| `coveralls-webhook` | :orange_circle: Scaffolded | Coveralls: webhook | +| `codecov-upload` | :orange_circle: Scaffolded | Codecov: upload coverage | +| `codecov-flags` | :orange_circle: Scaffolded | Codecov: flags | +| `codecov-report` | :orange_circle: Scaffolded | Codecov: report | +| `codecov-graph` | :orange_circle: Scaffolded | Codecov: coverage graph | +| `codecov-notify` | :orange_circle: Scaffolded | Codecov: notifications | +| `snyk-ignore` | :orange_circle: Scaffolded | Snyk: ignore vulnerability | +| `snyk-protect` | :orange_circle: Scaffolded | Snyk: protect packages | +| `snyk-wizard` | :orange_circle: Scaffolded | Snyk: setup wizard | +| `snyk-auth` | :orange_circle: Scaffolded | Snyk: authenticate | +| `snyk-policy` | :orange_circle: Scaffolded | Snyk: policy management | +| `sphinx-build` | :orange_circle: Scaffolded | Sphinx: build docs | +| `sphinx-apidoc` | :orange_circle: Scaffolded | Sphinx: API documentation | +| `sphinx-autobuild` | :orange_circle: Scaffolded | Sphinx: auto-rebuild | +| `sphinx-intl` | :orange_circle: Scaffolded | Sphinx: internationalization | +| `sphinx-linkcheck` | :orange_circle: Scaffolded | Sphinx: check links | + +### Round 503 — PHPUnit ext, Minitest ext, SonarQube ext, CodeClimate + +| Feature | Status | Notes | +|---------|--------|-------| +| `phpunit-config` | :orange_circle: Scaffolded | PHPUnit: configuration | +| `phpunit-coverage` | :orange_circle: Scaffolded | PHPUnit: coverage | +| `phpunit-filter` | :orange_circle: Scaffolded | PHPUnit: filter tests | +| `phpunit-group` | :orange_circle: Scaffolded | PHPUnit: test groups | +| `phpunit-bootstrap` | :orange_circle: Scaffolded | PHPUnit: bootstrap | +| `minitest-run` | :orange_circle: Scaffolded | Minitest: run tests | +| `minitest-focus` | :orange_circle: Scaffolded | Minitest: focus test | +| `minitest-parallel` | :orange_circle: Scaffolded | Minitest: parallel | +| `minitest-reporter` | :orange_circle: Scaffolded | Minitest: reporter | +| `minitest-benchmark` | :orange_circle: Scaffolded | Minitest: benchmark | +| `sonarqube-gate` | :orange_circle: Scaffolded | SonarQube: quality gate | +| `sonarqube-profile` | :orange_circle: Scaffolded | SonarQube: quality profile | +| `sonarqube-rule` | :orange_circle: Scaffolded | SonarQube: manage rules | +| `sonarqube-webhook` | :orange_circle: Scaffolded | SonarQube: webhooks | +| `sonarqube-quality` | :orange_circle: Scaffolded | SonarQube: quality report | +| `codeclimate-analyze` | :orange_circle: Scaffolded | CodeClimate: analyze | +| `codeclimate-prepare` | :orange_circle: Scaffolded | CodeClimate: prepare | +| `codeclimate-validate` | :orange_circle: Scaffolded | CodeClimate: validate config | +| `codeclimate-engines` | :orange_circle: Scaffolded | CodeClimate: engines | +| `codeclimate-diff` | :orange_circle: Scaffolded | CodeClimate: diff analysis | + +### Round 502 — Vitest ext, Pytest ext, RSpec ext, JUnit ext + +| Feature | Status | Notes | +|---------|--------|-------| +| `vitest-typecheck` | :orange_circle: Scaffolded | Vitest: type checking | +| `vitest-workspace` | :orange_circle: Scaffolded | Vitest: workspace | +| `vitest-list` | :orange_circle: Scaffolded | Vitest: list tests | +| `vitest-related` | :orange_circle: Scaffolded | Vitest: related tests | +| `vitest-config` | :orange_circle: Scaffolded | Vitest: configuration | +| `pytest-fixture` | :orange_circle: Scaffolded | Pytest: fixtures | +| `pytest-mark` | :orange_circle: Scaffolded | Pytest: markers | +| `pytest-parametrize` | :orange_circle: Scaffolded | Pytest: parametrize | +| `pytest-capture` | :orange_circle: Scaffolded | Pytest: capture output | +| `pytest-plugin` | :orange_circle: Scaffolded | Pytest: plugins | +| `rspec-format` | :orange_circle: Scaffolded | RSpec: format output | +| `rspec-tag` | :orange_circle: Scaffolded | RSpec: tag tests | +| `rspec-profile` | :orange_circle: Scaffolded | RSpec: profile slow tests | +| `rspec-bisect` | :orange_circle: Scaffolded | RSpec: bisect failures | +| `rspec-doc` | :orange_circle: Scaffolded | RSpec: documentation format | +| `junit-runner` | :orange_circle: Scaffolded | JUnit: test runner | +| `junit-suite` | :orange_circle: Scaffolded | JUnit: test suite | +| `junit-param` | :orange_circle: Scaffolded | JUnit: parameterized tests | +| `junit-extension` | :orange_circle: Scaffolded | JUnit: extensions | +| `junit-report` | :orange_circle: Scaffolded | JUnit: test report | + +### Round 501 — Jest ext, Mocha ext, Cypress ext, Playwright ext + +| Feature | Status | Notes | +|---------|--------|-------| +| `jest-config` | :orange_circle: Scaffolded | Jest: configuration | +| `jest-coverage` | :orange_circle: Scaffolded | Jest: coverage report | +| `jest-snapshot` | :orange_circle: Scaffolded | Jest: snapshot testing | +| `jest-watch` | :orange_circle: Scaffolded | Jest: watch mode | +| `jest-cache` | :orange_circle: Scaffolded | Jest: cache management | +| `mocha-config` | :orange_circle: Scaffolded | Mocha: configuration | +| `mocha-grep` | :orange_circle: Scaffolded | Mocha: grep tests | +| `mocha-reporter` | :orange_circle: Scaffolded | Mocha: reporter | +| `mocha-parallel` | :orange_circle: Scaffolded | Mocha: parallel execution | +| `mocha-retry` | :orange_circle: Scaffolded | Mocha: retry failed | +| `cypress-verify` | :orange_circle: Scaffolded | Cypress: verify installation | +| `cypress-cache` | :orange_circle: Scaffolded | Cypress: cache management | +| `cypress-info` | :orange_circle: Scaffolded | Cypress: system info | +| `cypress-screenshot` | :orange_circle: Scaffolded | Cypress: screenshot | +| `cypress-component` | :orange_circle: Scaffolded | Cypress: component testing | +| `playwright-show` | :orange_circle: Scaffolded | Playwright: show report | +| `playwright-install` | :orange_circle: Scaffolded | Playwright: install browsers | +| `playwright-report` | :orange_circle: Scaffolded | Playwright: HTML report | +| `playwright-pdf` | :orange_circle: Scaffolded | Playwright: PDF generation | +| `playwright-video` | :orange_circle: Scaffolded | Playwright: video recording | + ### Round 500 — Vite ext, Webpack ext, Rollup ext, Parcel ext | Feature | Status | Notes | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -32716,3 +32716,409 @@ (def (cmd-parcel-reporter app) (let* ((echo (app-state-echo app))) (echo-message! echo "Parcel: reporter plugins"))) + +;; Round 502: Vitest ext, Pytest ext, RSpec ext, JUnit ext (20 commands) +(def (cmd-vitest-typecheck app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Vitest: type checking"))) + +(def (cmd-vitest-workspace app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Vitest: workspace"))) + +(def (cmd-vitest-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Vitest: list tests"))) + +(def (cmd-vitest-related app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Vitest: related tests"))) + +(def (cmd-vitest-config app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Vitest: configuration"))) + +(def (cmd-pytest-fixture app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Pytest: fixtures"))) + +(def (cmd-pytest-mark app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Pytest: markers"))) + +(def (cmd-pytest-parametrize app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Pytest: parametrize"))) + +(def (cmd-pytest-capture app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Pytest: capture output"))) + +(def (cmd-pytest-plugin app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Pytest: plugins"))) + +(def (cmd-rspec-format app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "RSpec: format output"))) + +(def (cmd-rspec-tag app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "RSpec: tag tests"))) + +(def (cmd-rspec-profile app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "RSpec: profile slow tests"))) + +(def (cmd-rspec-bisect app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "RSpec: bisect failures"))) + +(def (cmd-rspec-doc app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "RSpec: documentation format"))) + +(def (cmd-junit-runner app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "JUnit: test runner"))) + +(def (cmd-junit-suite app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "JUnit: test suite"))) + +(def (cmd-junit-param app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "JUnit: parameterized tests"))) + +(def (cmd-junit-extension app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "JUnit: extensions"))) + +(def (cmd-junit-report app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "JUnit: test report"))) + +;; Round 504: Coveralls, Codecov, Snyk ext, Sphinx ext (20 commands) +(def (cmd-coveralls-upload app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Coveralls: upload coverage"))) + +(def (cmd-coveralls-config app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Coveralls: configuration"))) + +(def (cmd-coveralls-parallel app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Coveralls: parallel builds"))) + +(def (cmd-coveralls-badge app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Coveralls: badge URL"))) + +(def (cmd-coveralls-webhook app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Coveralls: webhook"))) + +(def (cmd-codecov-upload app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Codecov: upload coverage"))) + +(def (cmd-codecov-flags app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Codecov: flags"))) + +(def (cmd-codecov-report app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Codecov: report"))) + +(def (cmd-codecov-graph app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Codecov: coverage graph"))) + +(def (cmd-codecov-notify app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Codecov: notifications"))) + +(def (cmd-snyk-ignore app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Snyk: ignore vulnerability"))) + +(def (cmd-snyk-protect app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Snyk: protect packages"))) + +(def (cmd-snyk-wizard app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Snyk: setup wizard"))) + +(def (cmd-snyk-auth app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Snyk: authenticate"))) + +(def (cmd-snyk-policy app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Snyk: policy management"))) + +(def (cmd-sphinx-build app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Sphinx: build docs"))) + +(def (cmd-sphinx-apidoc app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Sphinx: API documentation"))) + +(def (cmd-sphinx-autobuild app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Sphinx: auto-rebuild"))) + +(def (cmd-sphinx-intl app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Sphinx: internationalization"))) + +(def (cmd-sphinx-linkcheck app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Sphinx: check links"))) + +;; Round 505 batch 2: Hugo ext, Gatsby (10 commands) +(def (cmd-hugo-build app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Hugo: build site"))) + +(def (cmd-hugo-serve app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Hugo: serve locally"))) + +(def (cmd-hugo-new app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Hugo: new content"))) + +(def (cmd-hugo-deploy app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Hugo: deploy site"))) + +(def (cmd-hugo-mod app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Hugo: module management"))) + +(def (cmd-gatsby-build app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Gatsby: build site"))) + +(def (cmd-gatsby-develop app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Gatsby: develop server"))) + +(def (cmd-gatsby-serve app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Gatsby: serve production"))) + +(def (cmd-gatsby-clean app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Gatsby: clean cache"))) + +(def (cmd-gatsby-repl app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Gatsby: REPL"))) + +;; Round 507: PlatformIO ext, Yosys, nextpnr, Verilator (20 commands) +(def (cmd-platformio-build app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "PlatformIO: build firmware"))) + +(def (cmd-platformio-upload app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "PlatformIO: upload firmware"))) + +(def (cmd-platformio-monitor app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "PlatformIO: serial monitor"))) + +(def (cmd-platformio-test app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "PlatformIO: run tests"))) + +(def (cmd-platformio-check app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "PlatformIO: static analysis"))) + +(def (cmd-yosys-synth app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Yosys: synthesize design"))) + +(def (cmd-yosys-read app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Yosys: read source"))) + +(def (cmd-yosys-write app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Yosys: write output"))) + +(def (cmd-yosys-script app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Yosys: run script"))) + +(def (cmd-yosys-show app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Yosys: show design"))) + +(def (cmd-nextpnr-place app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "nextpnr: place design"))) + +(def (cmd-nextpnr-route app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "nextpnr: route design"))) + +(def (cmd-nextpnr-pack app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "nextpnr: pack design"))) + +(def (cmd-nextpnr-timing app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "nextpnr: timing analysis"))) + +(def (cmd-nextpnr-gui app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "nextpnr: GUI viewer"))) + +(def (cmd-verilator-lint app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Verilator: lint check"))) + +(def (cmd-verilator-compile app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Verilator: compile"))) + +(def (cmd-verilator-trace app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Verilator: trace signals"))) + +(def (cmd-verilator-coverage app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Verilator: coverage"))) + +(def (cmd-verilator-threads app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Verilator: multi-thread"))) + +;; Round 509: CUDA ext, OpenCL, Spack, EasyBuild (20 commands) +(def (cmd-cuda-compile app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "CUDA: compile kernel"))) + +(def (cmd-cuda-profile app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "CUDA: profile execution"))) + +(def (cmd-cuda-memcheck app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "CUDA: memory check"))) + +(def (cmd-cuda-debug app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "CUDA: debug session"))) + +(def (cmd-cuda-info app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "CUDA: device info"))) + +(def (cmd-opencl-info app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "OpenCL: platform info"))) + +(def (cmd-opencl-compile app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "OpenCL: compile kernel"))) + +(def (cmd-opencl-profile app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "OpenCL: profile execution"))) + +(def (cmd-opencl-platform app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "OpenCL: platform selection"))) + +(def (cmd-opencl-device app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "OpenCL: device selection"))) + +(def (cmd-spack-install app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Spack: install package"))) + +(def (cmd-spack-find app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Spack: find packages"))) + +(def (cmd-spack-env app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Spack: environment"))) + +(def (cmd-spack-spec app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Spack: spec resolution"))) + +(def (cmd-spack-develop app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Spack: develop mode"))) + +(def (cmd-easybuild-install app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "EasyBuild: install"))) + +(def (cmd-easybuild-search app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "EasyBuild: search"))) + +(def (cmd-easybuild-robot app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "EasyBuild: robot path"))) + +(def (cmd-easybuild-config app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "EasyBuild: configuration"))) + +(def (cmd-easybuild-test app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "EasyBuild: test build"))) + +;; Round 510 batch 2: Apptainer, Charliecloud (10 commands) +(def (cmd-apptainer-build app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Apptainer: build image"))) + +(def (cmd-apptainer-run app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Apptainer: run container"))) + +(def (cmd-apptainer-exec app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Apptainer: exec command"))) + +(def (cmd-apptainer-shell app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Apptainer: shell into"))) + +(def (cmd-apptainer-pull app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Apptainer: pull image"))) + +(def (cmd-charliecloud-build app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Charliecloud: build image"))) + +(def (cmd-charliecloud-run app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Charliecloud: run container"))) + +(def (cmd-charliecloud-pull app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Charliecloud: pull image"))) + +(def (cmd-charliecloud-push app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Charliecloud: push image"))) + +(def (cmd-charliecloud-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Charliecloud: list images"))) --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -31940,3 +31940,409 @@ (def (cmd-webpack-progress app) (let* ((echo (app-state-echo app))) (echo-message! echo "Webpack: build progress"))) + +;; Round 501: Jest ext, Mocha ext, Cypress ext, Playwright ext (20 commands) +(def (cmd-jest-config app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Jest: configuration"))) + +(def (cmd-jest-coverage app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Jest: coverage report"))) + +(def (cmd-jest-snapshot app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Jest: snapshot testing"))) + +(def (cmd-jest-watch app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Jest: watch mode"))) + +(def (cmd-jest-cache app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Jest: cache management"))) + +(def (cmd-mocha-config app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mocha: configuration"))) + +(def (cmd-mocha-grep app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mocha: grep tests"))) + +(def (cmd-mocha-reporter app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mocha: reporter"))) + +(def (cmd-mocha-parallel app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mocha: parallel execution"))) + +(def (cmd-mocha-retry app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Mocha: retry failed"))) + +(def (cmd-cypress-verify app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Cypress: verify installation"))) + +(def (cmd-cypress-cache app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Cypress: cache management"))) + +(def (cmd-cypress-info app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Cypress: system info"))) + +(def (cmd-cypress-screenshot app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Cypress: screenshot"))) + +(def (cmd-cypress-component app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Cypress: component testing"))) + +(def (cmd-playwright-show app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Playwright: show report"))) + +(def (cmd-playwright-install app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Playwright: install browsers"))) + +(def (cmd-playwright-report app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Playwright: HTML report"))) + +(def (cmd-playwright-pdf app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Playwright: PDF generation"))) + +(def (cmd-playwright-video app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Playwright: video recording"))) + +;; Round 503: PHPUnit ext, Minitest ext, SonarQube ext, CodeClimate (20 commands) +(def (cmd-phpunit-config app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "PHPUnit: configuration"))) + +(def (cmd-phpunit-coverage app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "PHPUnit: coverage"))) + +(def (cmd-phpunit-filter app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "PHPUnit: filter tests"))) + +(def (cmd-phpunit-group app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "PHPUnit: test groups"))) + +(def (cmd-phpunit-bootstrap app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "PHPUnit: bootstrap"))) + +(def (cmd-minitest-run app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Minitest: run tests"))) + +(def (cmd-minitest-focus app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Minitest: focus test"))) + +(def (cmd-minitest-parallel app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Minitest: parallel"))) + +(def (cmd-minitest-reporter app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Minitest: reporter"))) + +(def (cmd-minitest-benchmark app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Minitest: benchmark"))) + +(def (cmd-sonarqube-gate app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "SonarQube: quality gate"))) + +(def (cmd-sonarqube-profile app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "SonarQube: quality profile"))) + +(def (cmd-sonarqube-rule app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "SonarQube: manage rules"))) + +(def (cmd-sonarqube-webhook app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "SonarQube: webhooks"))) + +(def (cmd-sonarqube-quality app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "SonarQube: quality report"))) + +(def (cmd-codeclimate-analyze app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "CodeClimate: analyze"))) + +(def (cmd-codeclimate-prepare app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "CodeClimate: prepare"))) + +(def (cmd-codeclimate-validate app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "CodeClimate: validate config"))) + +(def (cmd-codeclimate-engines app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "CodeClimate: engines"))) + +(def (cmd-codeclimate-diff app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "CodeClimate: diff analysis"))) + +;; Round 505 batch 1: MkDocs, Docusaurus (10 commands) +(def (cmd-mkdocs-build app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "MkDocs: build site"))) + +(def (cmd-mkdocs-serve app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "MkDocs: serve locally"))) + +(def (cmd-mkdocs-deploy app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "MkDocs: deploy"))) + +(def (cmd-mkdocs-new app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "MkDocs: new project"))) + +(def (cmd-mkdocs-gh-deploy app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "MkDocs: GitHub Pages deploy"))) + +(def (cmd-docusaurus-start app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Docusaurus: start dev server"))) + +(def (cmd-docusaurus-build app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Docusaurus: build site"))) + +(def (cmd-docusaurus-deploy app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Docusaurus: deploy"))) + +(def (cmd-docusaurus-swizzle app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Docusaurus: swizzle component"))) + +(def (cmd-docusaurus-clear app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Docusaurus: clear cache"))) + +;; Round 506: OpenOCD, GDB Server, J-Link, ST-Link (20 commands) +(def (cmd-openocd-flash app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "OpenOCD: flash firmware"))) + +(def (cmd-openocd-debug app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "OpenOCD: debug session"))) + +(def (cmd-openocd-reset app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "OpenOCD: reset target"))) + +(def (cmd-openocd-halt app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "OpenOCD: halt target"))) + +(def (cmd-openocd-telnet app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "OpenOCD: telnet interface"))) + +(def (cmd-gdb-server-connect app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "GDB Server: connect"))) + +(def (cmd-gdb-server-monitor app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "GDB Server: monitor command"))) + +(def (cmd-gdb-server-load app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "GDB Server: load firmware"))) + +(def (cmd-gdb-server-break app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "GDB Server: set breakpoint"))) + +(def (cmd-gdb-server-step app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "GDB Server: step execution"))) + +(def (cmd-jlink-flash app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "J-Link: flash firmware"))) + +(def (cmd-jlink-erase app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "J-Link: erase chip"))) + +(def (cmd-jlink-reset app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "J-Link: reset target"))) + +(def (cmd-jlink-rtt app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "J-Link: RTT viewer"))) + +(def (cmd-jlink-swd app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "J-Link: SWD interface"))) + +(def (cmd-stlink-flash app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "ST-Link: flash firmware"))) + +(def (cmd-stlink-erase app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "ST-Link: erase chip"))) + +(def (cmd-stlink-reset app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "ST-Link: reset target"))) + +(def (cmd-stlink-info app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "ST-Link: probe info"))) + +(def (cmd-stlink-probe app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "ST-Link: detect probes"))) + +;; Round 508: Icarus Verilog, GTKWave, SLURM ext, MPI (20 commands) +(def (cmd-iverilog-compile app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Icarus Verilog: compile"))) + +(def (cmd-iverilog-simulate app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Icarus Verilog: simulate"))) + +(def (cmd-iverilog-dump app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Icarus Verilog: dump signals"))) + +(def (cmd-iverilog-module app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Icarus Verilog: module info"))) + +(def (cmd-iverilog-vpi app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Icarus Verilog: VPI interface"))) + +(def (cmd-gtkwave-open app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "GTKWave: open waveform"))) + +(def (cmd-gtkwave-zoom app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "GTKWave: zoom control"))) + +(def (cmd-gtkwave-marker app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "GTKWave: set marker"))) + +(def (cmd-gtkwave-signal app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "GTKWave: add signal"))) + +(def (cmd-gtkwave-export app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "GTKWave: export view")))