ZIm/crates/scripting_tool
Michael Sloan 205f9a9f03
Add lua script access to code using cx + reuse project search logic (#26269)
Access to `cx` will be needed for anything that queries entities. In
this commit this is use of `WorktreeStore::find_search_candidates`. In
the future it will be things like access to LSP / tree-sitter outlines /
etc.

Changes to support access to `cx` from functions provided to the Lua
script:

* Adds a channel of requests that require a `cx`. Work enqueued to this
channel is run on the foreground thread.

* Adds `async` and `send` features to `mlua` crate so that async rust
functions can be used from Lua.

* Changes uses of `Rc<RefCell<...>>` to `Arc<Mutex<...>>` so that the
futures are `Send`.

One benefit of reusing project search logic for search candidates is
that it properly ignores paths.

Release Notes:

- N/A
2025-03-07 10:02:49 +00:00
..
src Add lua script access to code using cx + reuse project search logic (#26269) 2025-03-07 10:02:49 +00:00
Cargo.toml Add lua script access to code using cx + reuse project search logic (#26269) 2025-03-07 10:02:49 +00:00
LICENSE-GPL Add initial scripting_tool (#26066) 2025-03-04 17:59:19 -05:00