Skip to content

refactor(tool): convert lsp tool internals to Effect#21806

Merged
kitlangton merged 1 commit intodevfrom
kit/tool-effect-lsp
Apr 10, 2026
Merged

refactor(tool): convert lsp tool internals to Effect#21806
kitlangton merged 1 commit intodevfrom
kit/tool-effect-lsp

Conversation

@kitlangton
Copy link
Copy Markdown
Contributor

Mechanical conversion of the lsp tool's execute method from async/await to Effect.gen + Effect.promise, with Effect.runPromise at the boundary. No behavioral change — precursor to eventually making tool execute return Effect natively.

@kitlangton kitlangton force-pushed the kit/tool-effect-lsp branch 4 times, most recently from 9739128 to c82b886 Compare April 10, 2026 13:48
Switch from Tool.define with static LSP.* namespace calls to
Tool.defineEffect with the LSP.Service Effect service. All LSP
operations (definition, references, hover, etc.) are now direct
yield* calls on the service instance instead of Effect.promise
wrappers around static async methods.
@kitlangton kitlangton force-pushed the kit/tool-effect-lsp branch from c82b886 to 61149de Compare April 10, 2026 13:53
@kitlangton kitlangton marked this pull request as ready for review April 10, 2026 13:58
@kitlangton kitlangton merged commit 8063e0b into dev Apr 10, 2026
9 of 10 checks passed
@kitlangton kitlangton deleted the kit/tool-effect-lsp branch April 10, 2026 14:07
luke-barge-cko added a commit to luke-barge-cko/opencode-cko that referenced this pull request Apr 10, 2026
* refactor(tool): convert question tool internals to Effect (anomalyco#21808)

* refactor(tool): convert lsp tool internals to Effect (anomalyco#21806)

* chore: generate

* refactor(tool): convert plan tool internals to Effect (anomalyco#21807)

* refactor(tui): switch to global events and start passing workspace param (anomalyco#21719)

* refactor(tool): convert webfetch tool internals to Effect (anomalyco#21809)

* chore: generate

* refactor(tool): convert websearch tool internals to Effect (anomalyco#21810)

* chore: generate

* refactor(tool): convert codesearch tool internals to Effect (anomalyco#21811)

* rector(core,tui): handle workspace state in project context, add workspace status, improve ui (anomalyco#21896)

* refactor(tool): convert bash to defineEffect with ChildProcessSpawner (anomalyco#21895)

* chore: generate

* convert glob tool to Tool.defineEffect (anomalyco#21897)

* chore: generate

* tweak: make it so disabling uv or ruff fmters disables both (anomalyco#21921)

* convert list tool to Tool.defineEffect (anomalyco#21899)

* chore: generate

* refactor(tool): convert write tool to Tool.defineEffect (anomalyco#21901)

* zen: nemotron doc

* chore: generate

* refactor: convert edit tool to Tool.defineEffect (anomalyco#21904)

* chore: generate

---------

Co-authored-by: Kit Langton <kit.langton@gmail.com>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: James Long <longster@gmail.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Frank <frank@anoma.ly>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant