Files
l0ng-ai 2bf412ff0d feat(plugins): let plugin code open streaming log tabs (#2082)
views.open-log-tab(key, title, process-log) (SDK host::open_log_tab) opens the read-only log tab a web view opens with open-log-tab, from a command or event of a window, reusing the Services pane's process-log.

The host checks the process grant and limits when called and remembers what each key runs in that window; the tab starts it by key (plugin_log_tab_spawn) through the web-view PTY checks: pinned program, trusted project, session cap, lifecycle and grant revocation. Remote windows report that these tabs aren't available there yet.
2026-11-08 10:01:35 +08:00
..

Document indexer test fixture

A small line-oriented test language (.idx), unrelated to any framework: def key, ref key, alias prefix# target# and symbols prefix. References also produce gutter markers. symbols uses host-supplied UTF-16 syntax ranges. invalid key deliberately returns an out-of-bounds range.

Used by cargo test -p ide-host --test plugin_indexing to exercise the optional WIT export, lifecycle invalidation, permissions, per-window isolation, candidate selection and warm memory-only lookups. It is not a marketplace plugin.

The fixture requires project.read. Its API 1.2 manifest is retained to check compatibility; Find Usages and Rename consume the same anchors on API 1.3 hosts.

Build with plugins/build.sh crates/ide-plugin/tests/fixtures/indexer, then load this directory as a development plugin in a trusted scratch project containing:

# definition.idx
def route
ref route

# usage.idx
ref route

The filenames and comment lines above describe two separate files. Invoke Find Usages on either route anchor: three locations should appear. Rename route to new.route: the preview must contain all three anchors. Cancel leaves both files unchanged; applying changes both files, and one Undo restores both.

Run cargo test -p ide-host --test plugin_indexing --test plugin_refactoring for the real Wasm graph and preview/apply/undo checks, including UTF-16 names, aliases, duplicate anchors and stale files.