docs: sync rule counts and feature lists with the new capabilities

Assisted-by: GLM 5.3 Flash
This commit is contained in:
2026-08-30 21:42:12 +02:00
parent b4da13d0f6
commit 96cc70731f
2 changed files with 15 additions and 7 deletions
+5 -4
View File
@@ -17,7 +17,7 @@ developer tooling to Plan 9 assembly on amd64, arm64, riscv64 and loong64.
- **Formatter.** `gasm fmt` canonicalises indentation, operand spacing,
per-function mnemonic alignment and blank-line layout: `gofmt` for assembly,
operating recursively on directories the way `go fmt` does.
- **Linter.** `gasm lint` runs 17 conservative static checks, among them
- **Linter.** `gasm lint` runs 18 conservative static checks, among them
`undefined-label`, `abi-argsize` (declared frame vs the `// func` signature),
`register-clobber` (Go ABI register liveness over the control-flow graph),
`stack-imbalance`, `abi0-register-args` and `unencodable-instruction`.
@@ -33,9 +33,10 @@ developer tooling to Plan 9 assembly on amd64, arm64, riscv64 and loong64.
breakpoints (optionally conditional), hardware watchpoints, register and
memory inspection, and headless script runs with label-level coverage.
- **Language server.** `gasm lsp` serves completion, hover, document symbols,
diagnostics, semantic-token highlighting, go-to-definition, find references,
rename, formatting, inlay hints, code actions, signature help, document
highlights and workspace symbol search over stdio.
push and pull diagnostics, semantic-token highlighting, go-to-definition,
find references, rename, formatting, inlay hints, code actions, signature
help, document highlights, workspace symbol search, #include document
links and folding ranges over stdio.
- **Comparators and audits.** `gasm diff` compares the machine code of two
assembly files byte-for-byte, `gasm profile` shows basic-block structure,
`gasm audit-instructions` diffs the encoder against the installed toolchain,
+10 -3
View File
@@ -100,8 +100,8 @@ are `unknown-instruction`, `operand-count`, `undefined-label`,
`duplicate-label`, `missing-ret`, `missing-textflag-include`, `abi-argsize`,
`unreachable-code`, `register-clobber`, `funcdata-pcdata`, `unused-label`,
`invalid-textflag`, `stack-imbalance`, `register-width-mismatch`,
`abi0-register-args`, `nonportable-register-name` and
`unencodable-instruction`. Every diagnostic carries a stable
`abi0-register-args`, `nonportable-register-name`,
`unencodable-instruction` and `reserved-register-write`. Every diagnostic carries a stable
code so callers can disable rules individually, and arch-specific rules switch
off entirely when the target architecture cannot be inferred from the file name.
@@ -192,6 +192,10 @@ document store, republishes diagnostics on every change, and provides:
(the frame size after the TEXT argument area), signature help (the callee's
`// func` signature while the cursor is on a `CALL`), and code actions
offering quick fixes for the `missing-ret` and `unused-label` diagnostics.
- **document information**: pull diagnostics (`textDocument/diagnostic`),
#include document links (resolved against the document directory, then
`$GOROOT/pkg/include`) and folding ranges (one collapsible region per
TEXT function body).
Semantic tokens are the key to editor-agnostic highlighting: the editor renders
them from the standard LSP legend, so no editor-specific grammar is needed.
@@ -389,7 +393,10 @@ invokes a single function with user-supplied buffers (patterns: zero, ones,
seq, or hex), printing the ABI0 argument block before and after the call,
useful for partial functions (e.g. decoders) that crash on random input but
should succeed on valid data; `--args name=value,...` supplies scalar
arguments (decimal or `0x` hex) alongside the buffers. `gasm verify
arguments (decimal or `0x` hex) alongside the buffers. `--save-corpus`
records every input that crashes or mismatches as replayable JSON, and
`--replay` re-runs saved entries in isolated child processes, reporting
whether each reproduces. `gasm verify
--ground-truth` compares the
assembled machine code byte-for-byte against `go tool asm` (relocation sites
masked), reporting any encoding drift.