Ir al contenido

VS Code

La extensión httui-lang para VS Code bundlea highlight de tree-sitter + el servidor LSP en una sola instalación. Funciona en archivos .httui y en runbooks .md (solo regiones fenced).

  1. Abre VS Code.
  2. Panel de Extensions (Cmd+Shift+X).
  3. Busca “httui”.
  4. Instala httui-lang (publisher: httuicom).

O desde la línea de comandos:

Ventana de terminal
code --install-extension httuicom.httui-lang

Si quieres side-loadear un pre-release:

  1. Descarga httui-lang-<version>.vsix desde Releases.
  2. Panel de Extensions → menú ⋯ → Install from VSIX.
  • Syntax highlight para archivos .httui (vía gramática TextMate
    • tree-sitter cuando el pipeline tree-sitter de VS Code lo habilita)
  • LSP: hover, completion, go-to-definition, diagnostics, rename
  • Snippets: http, db, expect → scaffolds expandibles
  • Run code lens arriba de cada bloque (si la desktop app de httui también está corriendo — envía un mensaje a ella vía la extensión httui/blockRun)

La extensión lee la config del vault automáticamente cuando abrís una carpeta que parece un vault (tiene .httui/, runbooks/, connections.toml, o envs/).

O setea manualmente en settings.json:

{
"httui.vault": "/Users/you/runbooks",
"httui.env": "staging",
"httui.lspPath": "auto",
"httui.runCodeLens": true,
"httui.diagnosticsLevel": "warning"
}
SettingDefaultNotas
httui.vaultautoPath al vault activo; auto = current workspace folder si parece un vault
httui.envde user.tomlEnv activo para hover/resolución
httui.lspPathautoPath al binario httui-lsp; auto = bundled con la extensión
httui.runCodeLenstrueMuestra el lens “Run” arriba de cada bloque (no-op si el desktop no está corriendo)
httui.diagnosticsLevelwarningoff, error, warning, info
httui.format.onSavefalseAuto-format on save

Cmd+Shift+P luego busca:

ComandoAcción
httui: Set active environment…Elige de envs/*.toml
httui: Run block under cursorEnvía al desktop de httui si está corriendo
httui: Run all blocks in fileIgual
httui: Show resolved valuePop-over con la resolución actual del {{ref}} bajo el cursor
httui: Open vaultFolder picker para el vault path
httui: Restart LSP serverCuando el LSP se confunde, más rápido que recargar la ventana

Bindings default (sobreescribe en keybindings.json):

AcciónmacOSLinux/Windows
Run block under cursorCmd+Shift+RCtrl+Shift+R
Show resolved valueCmd+K Cmd+RCtrl+K Ctrl+R
Go to alias definitionF12 (go-to-def estándar)F12

Tipea el trigger y presiona Tab:

TriggerInserta
httpScaffold de bloque HTTP
httpaBloque HTTP con alias=
httpexpectBloque HTTP + sección # expect:
dbScaffold de bloque DB
expectSolo una sección # expect:

Cuando abrís un archivo .md con fence blocks de httui, la extensión inyecta el comportamiento del lenguaje httui en las regiones fenced:

  • El body de la fence obtiene highlight de httui + LSP
  • Hover/completion/diagnostics funcionan dentro de la fence
  • Fuera de la fence, comportamiento normal de markdown

Sin config especial — las reglas de injection shipean con la extensión.

Revisa el panel Output → canal “httui-lang”. Lo más común:

SíntomaCausa probableFix
”Couldn’t find httui-lsp”Binario bundled no extraídoReinstala la extensión; o setea httui.lspPath a un binario instalado manualmente
El LSP arranca luego saleError de config del vaultAbre connections.toml / envs/*.toml y revisa la sintaxis
Sin completionsLSP arrancó pero el vault no fue detectadoSetea httui.vault explícitamente

El pipeline de tree-sitter de VS Code es opt-in para algunos usuarios. El fallback es TextMate (shipea con la extensión) — mismos colores, ligeramente menos preciso. Para forzar tree-sitter:

{
"editor.experimental.useTreeSitter": true
}

Si tienes >100 runbooks, hover/completion puede laggear en el primer open. Solución:

{
"httui.workspaceIndexing": "lazy"
}

El modo lazy indexa un runbook solo cuando se abre, vs eager (todos en startup).