Skip to main content

Crate isml_lsp

Crate isml_lsp 

Source
Expand description

A language server for SFCC checkouts, answering from the checkout alone: no instance, no network.

Modules§

api
The dw.* API index, generated by examples/generate-api.rs and embedded: the checkout has no .d.ts.
cartridgepath
Cartridge path order, which is not in the source: from editor settings, site archives or dw.json. Settings win: dw.json is personal and usually ignored, and site archives are rarely checked out.
complete
Completion: context_at decides where the cursor is, then Completer what to offer there.
custom
x.custom.y and preference reads, with the type of x guessed from its name. Conservative: an unknown receiver yields nothing, an ambiguous one yields every candidate type.
diagnose
Unknown custom attributes: SFCC returns undefined for a typo rather than failing.
errors
Pending SFCC error count from log-diff, shown via LSP progress (the only channel Zed renders for an extension).
hover
Route hover: who declares it, in what order, and which one a request reaches.
isml
The ISML tag set, so editors stop offering HTML-mode guesses like <is:include>.
live
The value under the cursor while debugging. Zed asks a debug adapter nothing on hover, so sfcc-dap answers on localhost.
metadata
Custom attributes from the metadata XML in the repository, the only local record of what x.custom.y may be.
reference
resolve
routes
SFRA route override chains: a replace to the left, or a missing superModule extend, silently discards handlers.
server
sync
Uploader state via LSP progress, Zed’s only status channel for an extension. Only uploading and failed are shown: a progress item that never ends reads as a stuck spinner.
validate
Form definitions and steptypes.json: read only at run time, so typos otherwise surface in production.
workspace