Skip to content

feat: add the tooling component for editor language support - #13

Merged
NenkaLab merged 2 commits into
masterfrom
feat/tooling-component
Oct 7, 2026
Merged

NenkaLab merged 2 commits into
masterfrom
feat/tooling-component

Conversation

@NenkaLab

@NenkaLab NenkaLab commented Oct 7, 2026 •

Copy link
Copy Markdown
Member

Summary

A fourth plugin component, tooling, lets a plugin help the editor understand a language: diagnostics, completion, hover and signature help over the text the host sends. It runs no scripts and is not part of a project's configuration.

  • LanguageTools, ToolingFactory, ToolingContext, ToolingHost (read-only access to files the host allows) and the data types in contract/tooling.
  • ToolingEndpoint (plugin side) and RemoteLanguageTools (host side) over the existing RpcPeer. Calls arrive on one thread in order, and questions the host has given up on are skipped. Configuring may take a longer setupTimeoutMs, since a tooling often loads its compiler there.
  • PluginService.tooling, PluginRole.TOOLING and <tooling languages> in the manifest.
  • TCK: ToolingHarness and ToolingConformance. Readme section.

No AIDL change, so BinderContract.VERSION and the protocol version stay as they are.

Test plan

  • :contract:test (new ToolingSessionTest, 11 cases), :android:testDebugUnitTest, :tck:test.

@NenkaLab NenkaLab changed the title Feat/tooling component feat: add the tooling component for editor language support Oct 7, 2026
@NenkaLab
NenkaLab merged commit 504a43f into master Oct 7, 2026
1 check passed
@NenkaLab
NenkaLab deleted the feat/tooling-component branch October 7, 2026 06:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant