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, - **Formatter.** `gasm fmt` canonicalises indentation, operand spacing,
per-function mnemonic alignment and blank-line layout: `gofmt` for assembly, per-function mnemonic alignment and blank-line layout: `gofmt` for assembly,
operating recursively on directories the way `go fmt` does. 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), `undefined-label`, `abi-argsize` (declared frame vs the `// func` signature),
`register-clobber` (Go ABI register liveness over the control-flow graph), `register-clobber` (Go ABI register liveness over the control-flow graph),
`stack-imbalance`, `abi0-register-args` and `unencodable-instruction`. `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 breakpoints (optionally conditional), hardware watchpoints, register and
memory inspection, and headless script runs with label-level coverage. memory inspection, and headless script runs with label-level coverage.
- **Language server.** `gasm lsp` serves completion, hover, document symbols, - **Language server.** `gasm lsp` serves completion, hover, document symbols,
diagnostics, semantic-token highlighting, go-to-definition, find references, push and pull diagnostics, semantic-token highlighting, go-to-definition,
rename, formatting, inlay hints, code actions, signature help, document find references, rename, formatting, inlay hints, code actions, signature
highlights and workspace symbol search over stdio. 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 - **Comparators and audits.** `gasm diff` compares the machine code of two
assembly files byte-for-byte, `gasm profile` shows basic-block structure, assembly files byte-for-byte, `gasm profile` shows basic-block structure,
`gasm audit-instructions` diffs the encoder against the installed toolchain, `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`, `duplicate-label`, `missing-ret`, `missing-textflag-include`, `abi-argsize`,
`unreachable-code`, `register-clobber`, `funcdata-pcdata`, `unused-label`, `unreachable-code`, `register-clobber`, `funcdata-pcdata`, `unused-label`,
`invalid-textflag`, `stack-imbalance`, `register-width-mismatch`, `invalid-textflag`, `stack-imbalance`, `register-width-mismatch`,
`abi0-register-args`, `nonportable-register-name` and `abi0-register-args`, `nonportable-register-name`,
`unencodable-instruction`. Every diagnostic carries a stable `unencodable-instruction` and `reserved-register-write`. Every diagnostic carries a stable
code so callers can disable rules individually, and arch-specific rules switch 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. 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 (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 `// func` signature while the cursor is on a `CALL`), and code actions
offering quick fixes for the `missing-ret` and `unused-label` diagnostics. 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 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. 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, 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 useful for partial functions (e.g. decoders) that crash on random input but
should succeed on valid data; `--args name=value,...` supplies scalar 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 --ground-truth` compares the
assembled machine code byte-for-byte against `go tool asm` (relocation sites assembled machine code byte-for-byte against `go tool asm` (relocation sites
masked), reporting any encoding drift. masked), reporting any encoding drift.