summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.agents/skills/pardes-9p/SKILL.md9
-rw-r--r--docs/fs.md7
2 files changed, 16 insertions, 0 deletions
diff --git a/.agents/skills/pardes-9p/SKILL.md b/.agents/skills/pardes-9p/SKILL.md
index 7cdca1a0..85f26ca5 100644
--- a/.agents/skills/pardes-9p/SKILL.md
+++ b/.agents/skills/pardes-9p/SKILL.md
@@ -94,6 +94,15 @@ echo 'sig INT' > "$m/pane/$t/pty/ctl" # interrupt
`busy: <program> is running` means the prompt is not free: a program holds
the terminal, so talk to it through `pty/data`.
+Ask the language server at a file pane's cursor (`addr` then `dot=addr`):
+
+```sh
+echo '/myFunc/' > "$m/pane/$n/addr"; echo 'dot=addr' > "$m/pane/$n/ctl"
+echo Hover > "$m/pane/$n/exec" # +Hover; Rename new, Diagnostics, Symbols
+echo Lspwhy > "$m/pane/$n/exec" # +Lsp: why the last query found what it did
+echo Lspinfo > "$m/pane/$n/exec" # which server, and its state
+```
+
## Follow what happens
```sh
diff --git a/docs/fs.md b/docs/fs.md
index 3e304b00..6a82b633 100644
--- a/docs/fs.md
+++ b/docs/fs.md
@@ -213,6 +213,13 @@ A line written to `exec` is a middle click:
A builtin that needs its argument (`Msg`, `Mount`, `Find`) written bare is
`wrong #args in control message "Msg"`, and so is one that takes none
written with one (`Config extra`).
+- the language server's words ask about a file pane's text at its cursor
+ (set it with `addr` and `dot=addr` first): `Hover` fills `+Hover`,
+ `Rename new` renames the symbol everywhere and lists the places,
+ `Diagnostics` and `Symbols` list the file's in `+Search`, `Lspinfo` says
+ which server serves the file and its state, and `Lspwhy` narrates the
+ last query step by step (in `+Lsp`), to tell why it found nothing. The
+ write returns once the answer is in; a pane with no file is refused.
- acme's words run as pardes's where it has one (`Put` is `Save`, `Delete`
a `Del` that does not ask); the rest (`Get`, `Putall`, `Snarf`, `Cut`,
`Paste`, `Zerox`, `Sort`, `Load`, `ID`, `Send`, `Tab`, `Indent`, `Local`,