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
This commit is contained in:
parent
b0d1024f66
commit
205f9a9f03
4 changed files with 222 additions and 105 deletions
|
@ -15,10 +15,15 @@ doctest = false
|
|||
[dependencies]
|
||||
anyhow.workspace = true
|
||||
assistant_tool.workspace = true
|
||||
futures.workspace = true
|
||||
gpui.workspace = true
|
||||
mlua.workspace = true
|
||||
parking_lot.workspace = true
|
||||
project.workspace = true
|
||||
regex.workspace = true
|
||||
schemars.workspace = true
|
||||
serde.workspace = true
|
||||
serde_json.workspace = true
|
||||
smol.workspace = true
|
||||
util.workspace = true
|
||||
workspace.workspace = true
|
||||
regex.workspace = true
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue