Repository navigation
Show the capability directory on Raku, Perl and Clojure reference pages and fix Raku order, links and code blocks - #320
Merged
Merged
Conversation
…ry references
why: Lua, Rust and TypeScript server pages draw their "What is on here"
directory as a table, but the shell only folds a directory whose
reference lines use a spelling it knows for the port. Erlang, OCaml
and Common Lisp fell back to the shared rustdoc, XML doc, Javadoc and
Go forms, so a directory written in any of the three would stay prose.
what:
- Read EEP-48 code spans (`fun/1`, `mod:fun/1`, `t:type/0`,
`c:callback/1`, `m:module`) for Erlang
- Read odoc references ({!Client.connect}, {{!x}text}) for OCaml
- Read package-qualified code spans (`libtmux:fetch-snapshot`) for
Common Lisp
- Cover each in the per-port directory table, with an atom, a tuple,
plain code spans and unqualified names as negatives
why: "A tmux server" pointed OCaml at Libtmux_unix.Client.t, an opaque type alias with no documentation and no members, so the page readers reach from every other port's server page and the core home was empty. The module holds the client's functions and its documentation, as Erlang's tmux_server and Elixir's LibTmux.Server do. what: - Point the server concept and its Eio variant at Libtmux_unix.Client and Libtmux_eio.Client - Point the core home's server object at Libtmux_unix.Client
why: The client class page had no Members list, unlike every other port's server page: Common Lisp operations are package functions, so the adapter filed all of them under the package. what: - Give each libtmux function whose first required parameter is the client the client class as its parent; macros, functions without a client first and other packages keep the package - Show such a member by its package-qualified name, as Common Lisp writes it, never through the class - Test both, with controls for a function without a client, one that takes the client later and another package's function
why: Mapping the OCaml server concept to Libtmux_unix.Client left the concept test expecting the Client.t type, so the test failed on the branch before any model changed. what: - Expect the server concept of OCaml to resolve to the Libtmux_unix.Client module symbol, which carries the capability directory
…ges are HTML why: libtmux-erlang writes its README header in HTML so ex_doc renders it: a centered <h1> title and <a><img></a> badges. Staging read only a Markdown title and Markdown badge images, so the Getting started page kept a second h1 and hotlinked three img.shields.io badges and a GitHub Actions badge that every other port serves from the site's origin. The Erlang pin to the current master fails the off-origin badge tests until staging reads the HTML form. what: - Read a centered <h1> title as the README title, as a centered Markdown heading already is, so the page keeps one heading - Render the img.shields.io badges inside an HTML block to files on the site's origin and drop a status badge with its link, as for Markdown badges; refuse an HTML badge the localizer cannot render - Share the badge rendering between the Markdown and HTML paths - Expect a staged README written as HTML to hold no off-origin badge and no <h1>, and fail the badge unit test without the HTML path
why: The Erlang reference page cannot show the "What is on here" capability directory until the model carries the prose it is built from. libtmux-erlang PR #15 adds that directory to the tmux_server module docs, and the committed model, guide cache and manifest still described the pre-PR master 539c7297c. The pin is the PR head, which merges into master with a merge commit, so the revision stays reachable after the merge. what: - Pin Erlang to libtmux/libtmux-erlang@33fd7fe98 and regenerate its model and path data (exported with OTP 29.1.2 and the same exporter digest as before), tmux usage, guide cache, manifest packages and mention index with the repository's generators - Adopt the source change between the pins: the tmux_server module doc gains the capability directory, and no other declaration or doc comment changed, so the other 324 symbols move only by line number - Re-anchor the three tmux_server.erl evidence lines of the reviewed usage entries to their new positions; no claim or rule changed - Take the rewritten README and reader guides into the guide cache: the README gains the send-keys and capture, query planner and command batching sections and an HTML header with badges, which staging now reads, and the guides cut their paragraph walls - Add the three programs the repository gained, typing_demo.erl, plan_demo.erl and batch_demo.erl, to the examples index, link all eighteen at the new revision, and expect eighteen in the index test - Leave the landing example and its recording at the revision where the program was recorded: examples/ gained files but the recorded program is unchanged Source refs: libtmux/libtmux-erlang PR #15 head 33fd7fe985454e375d5ac8533043cabf4a0b2fa5, previous pin 539c7297ceae65a1cf683e0836eae0a1ccd34d64.
why: The OCaml reference page cannot show the "What is on here" capability directory until the model carries the prose it is built from. libtmux-ocaml PR #10 adds that directory to the Client module docs, and the committed model, guide cache and manifest still described the pre-PR master 205dfda49. The pin is the PR head, which merges into master with a merge commit, so the revision stays reachable after the merge. what: - Pin OCaml to libtmux/libtmux-ocaml@ca4b6c0cb and regenerate its model and path data (exported with OCaml 5.5.2 and odoc-parser 3.2.2, the toolchain recorded in the previous model), tmux usage, guide cache and manifest packages with the repository's generators; the mention index is unchanged - Adopt the source change between the pins: the Libtmux_unix.Client module doc gains the capability directory, and the examples moved their docs:begin markers so the code attached to fifteen other symbols, such as Client.capture, Window.panes and Workspace.client, is now the marked region of the program - Re-anchor the unix/streaming.ml evidence lines of the reviewed usage entries to their new positions; no claim or rule changed - Take the rewritten reader guides into the guide cache: getting started, bootstrap, graph, queries, control, streaming, showcases, packages, compatibility, status and workspaces - Refresh the example sources cached at the model revision: the send-keys showcase now splits a pane, captures its screen and resizes it, and the graph showcase, whose excerpts feed the landing page, moved its marked region and module aliases without changing the excerpted lines - Describe the send-keys showcase accordingly, add the two programs the repository gained, query_plan.ml and workspace_plan.ml, to the examples index, link all twenty-two at the new revision, and expect twenty-two in the index test - Leave the Core player recording at the revision where it was recorded: re-recording the showcase is a separate step Source refs: libtmux/libtmux-ocaml PR #10 head ca4b6c0cb8ccccfe54d93ec67067070a9d33aeb9, previous pin 205dfda49742592b479247049d186956e4a4cfe9.
…tory why: The Common Lisp reference page cannot show the "What is on here" capability directory until the model carries the prose it is built from, and the client class cannot list its operations as members until the model is regenerated with the reparenting the extractor now applies. libtmux-lisp PR #10 adds the directory to the client class docstring, and the committed model, guide cache and manifest still described the pre-PR master e6f319c42. The pin is the PR head, which merges into master with a merge commit, so the revision stays reachable after the merge. what: - Pin Common Lisp to libtmux/libtmux-lisp@a29c6b96e and regenerate its model, sidebar and path data (exported with SBCL 2.6.10 and ASDF 3.3.7, the runtime recorded in the previous model, from a clean checkout with the locked dependencies), tmux usage, guide cache, manifest packages and mention index with the repository's generators - Adopt the source change between the pins: the client class docstring gains the capability directory, and the 86 client-first functions now have the client class as their parent, which is the only other model difference besides line numbers - Keep every reviewed tmux usage claim: no source file under src/ moved a cited line, so only the usage file's revision binding changes - Take the rewritten README and reader guides into the guide cache: the README gains linked API sections and the guides break their paragraphs into bullets - Refresh the workspace example cached for the landing page at the model revision: workspace.lisp gained package and explain regions, and the excerpted lines are unchanged - Add the program the repository gained, drive-panes.lisp, to the examples index, link all eleven files at the new revision, and expect seven programs and four support files in the index test - Leave the Core player recording at the revision where it was recorded: re-recording the quickstart is a separate step Source refs: libtmux/libtmux-lisp PR #10 head a29c6b96e1c78501dff5073b538ae3180b0e63e3, previous pin e6f319c4257789cfe39547af001c718975f0a2ef.
…dels carry their directory why: The directory readers for Erlang, OCaml and Common Lisp were tested against synthetic prose only, so a model pinned before the native docs gained their directory passed every test while the reference page showed no table. The same gap hid that the Lisp client class had no members until the model was regenerated with the reparenting. what: - Fold the real doc of tmux_server, Libtmux_unix.Client and libtmux:client with groupDirectory and expect a directory of eight rows, each naming at least one member - Expect the Common Lisp client class to be the parent of its client-first functions, such as fetch-snapshot and send-text - Both checks fail on the models pinned before the three repins: no directory on any of the three owners and no members on the client class
… longer makes why: At the new Common Lisp pin the concurrency guide says "There is no asyncio or event-loop integration" in plain prose; the earlier text put `asyncio` in a code span, which linked Python's asyncio module. The evidence still held that destination, so the destination check failed: the evidence names a link no source generates. what: - Remove the docs.python.org asyncio module row from the API destination evidence (`verify-api-destinations.mjs --missing`: no request made, only the row no source generates is dropped)
why: libtmux-perl's README now shows a shields CPAN version badge for each distribution (cpan/v/LibTmux and the Async and Workspace distributions). Staging the README from master threw "unsupported badge", so the Perl docs build stopped before it published. what: - Map shields' cpan version service (label "cpan", no qualifier) to the registry version of the named distribution, which registry.json already carries for all three Perl distributions - Cover it with the registry badge table in port-guide-badges.test.ts
why: The Java Gradle install named libtmux-bom:0.1.0 and the Swift
Package.swift install named from: "0.1.0" as literals, so the registry
refresh to Java 0.1.2 and Swift 0.1.1 left both landing pages offering
the first release while every other port's install moved.
what:
- Write both installs with the {version} placeholder that installsFor
fills from the registry entry (or the page's own release on a versioned
tree)
- Word the Swift note for any release
- Test that the Java and Swift installs name the registry's version
…ise and keep -async twins beside their originals why: The Raku `LibTmux::Server` page ranked `snapshot` 2nd and `snapshot-async` 45th: no `-async` twin was a concept variant, so all seven sorted by name in the tail, up to 43 places from the method they mirror. 31 of the 46 members ranked by name alone, so `options`, `hooks`, `environment` and the `query-*` selections sat among `clone` and `max-output-bytes`. what: - Record each `-async` twin of a concept method as a variant of that concept - Map `query-sessions`, `query-windows` and `query-panes` to the search concepts that Perl and Lua map their query methods to, with `query` and `query-async` as variants because they take the entity as an argument - Map `options` to `server-options` and `global-options`, and `hooks`, `environment` and `buffers` to the server hooks, server environment and list-buffers concepts, as variants beside the facade method that realises each - Map `open-control` and its twin to `attach-session`, as Rust and Java map their control-mode attach - Leave unmapped what realises no shared concept: `new`, `close`, `endpoint`, `explain`, `owned`, `query-window-links`, `key-bindings` and the size limits - Let a Raku twin read its original's tier, concept and mention count when it has none of its own, and sort a twin by its original's name, so a twin follows its original when only the original has a concept or is discussed in a guide
… class being described why: On the Raku `LibTmux::Server` page, `start`, `attach`, `snapshot`, `run-batch`, `from-env` and `capabilities` rendered as plain code although `Server` declares each. The Raku tokenizer was configured with `literal-code`, copied from Haskell, so every one-backtick span became a `code` span and never reached the resolver; the page linked only the tmux command names that `linkTmuxDoc` finds in code spans (`new-session`, `kill-server`). The exporter's padding (`` ` start ` ``) is not the cause: the tokenizer already strips one space from each side as CommonMark does, and the live page shows `start` unpadded. what: - Drop `literal-code` from the Raku doc syntax, so a one-backtick span is a reference resolved from the class being described outward; a doubled span stays literal - Leave a Raku span that names no symbol whole as plain code: its hyphens and `:adverb(...)` colons read as operators between names in the shared literal tokenizer, which linked `:deadline(Instant)` to `Report.deadline` - Test padded and unpadded spans against the committed model: each Server method links to its own member, `capabilities` goes to Server's from Server and to Snapshot's from Snapshot, and `TMUX`, `:parse-only` and a doubled span link nothing - A tmux command that is also a member (`new-session`, `kill-server`) now links its member on the HTML page; the Markdown export keeps the tmux link
why: On the Perl `LibTmux::Server` page the CONTRACT heading sat directly under the SYNOPSIS code block. Perl writes a POD heading as `p.rubric`, and the body prose rule `dl.py > dd .gp-sphinx-api-description p` (0,2,3) outranks the rubric rule `dl.py > dd .rubric` (0,2,2), so the heading takes no top margin and gets its gap only from the paragraph above it: 8px after a paragraph, 0 after a code block, which has no margin of its own. what: - Give `.gp-sphinx-api-description > .api-prose-code` the 0.5rem bottom margin a paragraph has; two adjacent blocks still collapse to their 1rem gap, and the last block of a body is still trimmed to 0 - Test with the shipped stylesheets in Happy DOM that the gap after a code block equals the gap after a paragraph and that the test fails at 0 without the rule
…rences and fold Perl's why: The Raku, Perl and Clojure server pages cannot show the capability directory once their native docs carry it. `BY_PORT` had no entry for the three, so they read the shared rustdoc, XML, Javadoc and Go spellings, which none of them writes (a Go link `[Server.Kill]` folded a row on all three), and none of the three spellings their exporters hand over folded. `ApiProse` also skipped the fold for Perl, because a Perl heading is a section anchor and a heading-led row would drop its id. what: - Read Raku's code spans of method and type names, padded or not, with an optional call (`has-session(:name)`), and a package-qualified name with its method (`LibTmux::Server.start`); a name with only a short qualifier is no reference, as the tokenizer's index leaves it unresolved - Read Perl's `:obj:` role, which Pod::Simple's `L</name>` becomes, with the pattern Haddock already uses; a Perl code span stays literal - Read Clojure's cljdoc wiki links, `[[open!]]`, `[[libtmux.data/windows]]` and `[[target label]]`, with the target characters the tokenizer accepts - Fold only bold-led rows for Perl, so a POD heading keeps its anchor, and call `groupDirectory` for every port in `ApiProse` - Test each port's references against fixtures shaped like its docstring (a heading, bold-led rows, a reference paragraph and a `- Label: refs` list), its negatives (a prose sentence with a code span or link, adverbs, variables, a Go link), and a rendered `ApiProse` that failed for Perl before
…it names why: The Server description writes `has-session(:name)` and `has-session(:id)`, and the directory reader accepts a Raku call with its arguments. The index resolved only an empty call, so a call with an adverb stayed plain although the guide resolver already resolves `has-session(:name)` to `Server.has-session`. what: - Resolve a Raku name followed by an argument list to the name before the parenthesis, for a bare, a qualified or a method name - Leave a call on a variable, `$server.has-session(:name)`, and a call of a name nothing declares as plain code
why: The Raku reference page cannot show the "What is on here" capability directory until the model carries the prose it is built from. libtmux-raku PR #16 adds that directory to the LibTmux::Server class doc and fixes how the exporter writes the doc, and the committed model, guide cache and manifest still described the pre-PR master 8293da87d. The pin is the merge commit of the PR, which is on master. what: - Pin Raku to libtmux/libtmux-raku@ae97f9f87 and regenerate its model and path data (exported with Rakudo 2026.09, the compiler recorded in the previous model; the exporter digest moves because tools/export-docs.raku changed), tmux usage, guide cache, manifest packages and mention index with the repository's generators - Adopt the source change between the pins: the Server doc gains the directory, Pod code blocks are fenced as raku, code spans are written without padding and wrapped list items keep their indent; the model keeps 1069 symbols with none added or removed and 95 docs changed - Keep every reviewed tmux usage claim: no evidence line moved, so only the usage file's revision binding changes - Take the rewritten README and examples guide into the guide cache: the README becomes task sections with linked API headings, and the examples guide lists the two programs the repository gained, explain-query.raku and resize-panes.raku - Move the mention index with the new guides: one symbol mention gained, one lost, and the README's file name `quickstart.raku` reads as a dotted name nothing declares, which takes the dangling count from 56 to 57 against a ceiling of 60 - Leave the landing example, its recording and the home fixture at 9a9838047f15: quickstart.raku is unchanged between the pins Source refs: libtmux/libtmux-raku master ae97f9f87b73db63d4ab3cabb108a195f64e4f6f (PR #16), previous pin 8293da87dc45f61ea2a68d1cc5327b4e62892732.
why: The Perl reference page cannot show the "What is on here" capability directory until the model carries the prose it is built from. libtmux-perl PR #20 adds that directory to the LibTmux::Server module doc, writes each entry as a POD link the Perl adapter turns into an API reference, and makes the exporter dedent verbatim blocks and export POD lists. The committed model, guide cache and manifest packages still described a1cab0324, the 0.003 CPAN release, which predates all of it. The pin is the merge commit of the PR, which is on master. what: - Pin Perl to libtmux/libtmux-perl@388f27171 and regenerate its API model and path data (exported with Perl 5.44.0 and PPI 1.291, the toolchain recorded in the previous model; the exporter digest moves because scripts/export-api.pl changed), tmux usage, guide cache, example sources, manifest packages and mention index with the repository's generators - Adopt the source change between the pins: the LibTmux::Server doc gains the directory and SYNOPSIS blocks and lists are exported as written; the model keeps 634 symbols with none added or removed and 51 docs changed - Keep every reviewed tmux usage claim: all of them hold at the new revision, so only the usage file's revision binding moves - Take the restructured README and reader guides into the guide cache: eleven of the twelve guides changed, and the examples guide lists the four core programs the repository gained, explain.pl, graph.pl, input.pl and select.pl - Move the cached examples/workspace.pl to the new revision; its bytes are unchanged - Review the six README badge links to the three CPAN distribution pages, each in the shields form the guide cache keeps and the localized form the stager writes; the destinations already have passing records, so the evidence file is unchanged and `verify-api-destinations.mjs --missing` requests nothing - Leave perl-pod.json as it is: it records the latest CPAN release, which is still 0.003, and `gen-perl-pod.mjs --check` reports it current - Move three POD-link tests from LibTmux::Server to LibTmux::Pane: they assumed the page's source is the file the 0.003 release shipped, which Server.pm no longer is, so its POD link now names the release and says the page documents other source; every other module still matches the release - Leave the landing example, its recording and the home fixture at a1cab0324b60: examples/quickstart.pl and scripts/lib/LibTmuxFixture.pm are unchanged between the pins Source refs: libtmux/libtmux-perl master 388f27171ee6256dc7dbaef6f878d394f9ca474a (PR #20), previous pin a1cab0324b600a5df6e34b92590b5c3bd8f79c69.
why: The Clojure reference page cannot show the "What is on here" capability directory until the model carries the prose it is built from. libtmux-java PR #165 adds that directory to the libtmux.core/open! docstring, with each entry written as a cljdoc [[name]] link, and the committed model, guide cache and manifest packages still described 941f2162. The pin is the merge commit of the PR, which is on master. what: - Pin Clojure to libtmux/libtmux-java@9cbaef3e0 and regenerate its model and path data (exported with Clojure 1.12.6 through the repository's Gradle exporter, the same exporter digest as before), tmux usage, guide cache, manifest packages and mention index with the repository's generators - Adopt the source change between the pins: the open! docstring gains the directory, and no other declaration or doc comment changed; the model keeps 90 symbols with none added or removed, and the other 32 differ only in the revision their example install commands check out - Re-anchor the reviewed usage entries to their new positions, 108 lines later in core.clj and six later in Pane.java; no claim or rule changed - Take the reader guides into the guide cache: the Clojure guide and the two package READMEs - Link the thirteen example programs on the examples page at the new revision; the programs are unchanged between the pins, and the mention index is unchanged - Leave the landing example, its recording and the home fixture at 941f2162062b: the change to core.clj is documentation only - Leave the Java, Kotlin and Scala models at a0ecbc16d: PR #165 changed only Clojure sources, and moving those three models adopts the 325 commits since that revision, which is a separate repin Source refs: libtmux/libtmux-java master 9cbaef3e0949fb4a76e5f259f3cb04bf5ebba46e (PR #165), previous Clojure pin 941f2162062b6d118c68b7d1c23417e0d2cea124.
…dels carry their directory why: The directory readers for Raku, Perl and Clojure were tested against synthetic prose only, so a model pinned before the native docs gained their directory passed every test while the reference page showed no table, as the three server pages did until their repins. The Raku page also depends on the exporter fencing its code blocks, which no test read. what: - Fold the real doc of LibTmux::Server on Raku and Perl and of libtmux.core/open! on Clojure with groupDirectory and expect a directory of seven, ten and nine rows holding 46, 43 and 62 references, each row naming at least one - Expect the Raku Server doc to carry fenced raku code blocks and to link start, attach, run-batch and from-env to the members of Server - The three directory checks and the Raku check fail on the models pinned before the three repins: no directory on any of the three owners and no fenced block on the Raku Server
…age does why: The Markdown export of a symbol links a code span to the member it names only for the ports listed in `symbolMarkdown`: Perl, PowerShell, Scala, TypeScript, OCaml and Haskell. Raku was missing, so the Markdown of `LibTmux::Server` left `start`, `from-env`, `run-batch` and every other method name plain, and linked only the tmux command names, while the HTML page links each of them to its member. what: - Add raku to the ports whose descriptions the Markdown export resolves - Test against the real Raku model that the Server description's `start`, `from-env`, `run-batch` and `snapshot` link to a page of the Raku reference and not to the tmux manual; the test fails with raku missing from the list
…ribes why: a3ba4d5 made a one-backtick Raku span a reference, and a bare name then fell through to the global name lookup, which takes a member of any class that shares the name: `bell` on LibTmux::Catalogue, a list of tmux format names, reached WindowLink.bell, and `outcome` on LibTmux::Command reached Batch::Report.outcome. The guard against another class's member hid the plain words on the page, but site/test/literal-links.test.ts compares the page with the same linker minus that guard, so the docs PR's CI failed on 58 new dropped rows. The guard also dropped what is right on LibTmux::Selection, where `where`, `filter` and `first` are members of Selection::Selection, the module's own class, which is not a type that encloses the page. A hyphenated name never reached the guard, so `timeout-ms` on LibTmux::Transport linked Control::Connection.timeout-ms. what: - Resolve a bare Raku name, a plain word or a hyphenated or capitalised identifier, only from the symbol described, the types that enclose it and the class a module is named for; a name no class in scope declares stays plain code, and a type, a module, a function, a qualified name and a call resolve as before - Let an identifier (`to-json`, `ACCEPTS`) also name a member of a class declared directly in the module described, as the Query page does for Filter; a plain word does not, as `reset` on the Model page is a shell command and not PaneRef.reset - Use the same scope in the other-owner guard for Raku, so the correct links on the Selection and Query::Plan pages survive it - Test the rule against the committed Raku model: Catalogue's `bell`, `x` and `status` and Command's `outcome` resolve to nothing, Selection's `where`, `filter`, `first` and `map` link, Server's `start` links - Leave the reviewed link lists as they are: the 58 new guard-dropped rows no longer exist, so none is added Raku prose links, whole span, before and after: 160 to 132. 44 are lost: 29 Catalogue field names that reached an attribute of another class, 9 on the LibTmux overview, 6 on Batch and Transport that reached Control::Connection. 16 are gained: 14 on the Selection, Layout and Query::Plan pages, 2 Server methods on the overview.
…port's mount why: Erlang's README header is HTML (written for ex_doc), so its localized badges reach the page as raw `<img src="/badges/…">` tags. The site-root rewrite only visits elements, so those paths stayed root-absolute: the PR preview's isolation check found them escaping /pr-317/, and on libtmux.org /badges/ at the root answers 403, so the badges would ship broken. what: - Rewrite `src="/badges/…"` inside raw HTML nodes with the same own-mount rule a Markdown badge takes (the port build's mount, under any preview root) - Test both the port mount and a preview root for an HTML header badge
tony
temporarily deployed
to
docs-preview-cleanup
November 15, 2026 03:28 — with
GitHub Actions
Inactive
This was referenced Nov 15, 2026
This was referenced Nov 15, 2026
This branch was previously deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Raku, Perl and Clojure reference pages lacked the "What is on here" capability directory the other ports show. Raku's server page also listed its members poorly, left most method names in its description unlinked and rendered its code examples as run-on paragraphs, and Perl's descriptions put no gap between a code block and the next heading.
Closes #318. Builds on #317 (this branch starts at its head); merge #317 first.
What changes
Native directories (merged upstream, repinned here)
ae97f9f87) adds a 7-row directory toLibTmux::Server, fences indented Pod code blocks asraku, and writes code spans without padding.388f27171) adds a 10-row directory toLibTmux::Serverwith method links, and dedents verbatim blocks.9cbaef3e0) adds a 9-row directory tolibtmux.core/open!with[[name]]links.Shell
api-directory.tsreads Raku code spans (hyphenated names,has-session(:name)), Perl:obj:roles and Clojure[[target]]links; Perl descriptions now fold directories too.-asynctwin is a variant of its synchronous method's concept and sorts beside it; query, options, hooks, environment and buffers map to the shared concepts.start,attach,run-batchandfrom-envlink to their members (94 whole-span links, none partial); the Markdown twin links them too.Data
Effect
LibTmux::ServerLibTmux::Serverlibtmux.core/open!Verification
--check.After merge
IAM trust for the merge revision, then the Raku, Perl and Java (Clojure) repins and publishes.