feat(lsp): document directives on hover and widen completion

Assisted-by: GLM 5.3
This commit is contained in:
2026-10-02 00:40:54 +02:00
parent 69dcbec8ef
commit 42bc1669d7
3 changed files with 290 additions and 15 deletions
+25 -9
View File
@@ -1,4 +1,4 @@
.TH GASM-LSP 1 "2026-09-19" "gasm" "User Commands"
.TH GASM-LSP 1 "2026-10-01" "gasm" "User Commands"
.SH NAME
gasm-lsp \- run the Plan 9 assembly language server
.SH SYNOPSIS
@@ -11,14 +11,30 @@ associate it with
files; the target architecture is inferred from the file suffix
(_amd64.s, _arm64.s, _riscv64.s, _loong64.s).
.PP
Provides completion, hover, document symbols, 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; definition, references and rename work across
every open document. Syntax highlighting is delivered as LSP semantic
tokens, so no editor-specific grammar is required.
Provides completion, hover, document symbols, 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. Completion offers the architecture's registers and
instructions, the TEXT, DATA and GLOBL directives, the annotation and
padding pseudo-ops (PCALIGN, FUNCDATA, PCDATA, the BYTE family) and the
textflag constants; hover documents mnemonics, registers,
pseudo-registers and the directives. Syntax highlighting is delivered
as LSP semantic tokens, so no editor-specific grammar is required.
.PP
Definition, references and rename work across every open document and
the wider workspace on disk: the server indexes the .s files under the
workspace root that the editor has never opened, an open buffer always
shadows its disk copy, and watched-file events together with a per-query
freshness check keep the index current.
.PP
The quick fixes add the missing textflag.h include, set the TEXT
argument area to the size the
.B //\ func
signature implies, declare that area when it is omitted entirely, add a
missing RET, and remove an unused label.
.SH EXIT STATUS
Runs until the client closes the session; exits 0 on a clean shutdown.
.SH SEE ALSO
.BR gasm (1)
.BR gasm (1),
.BR gasm\-lint (1)