diff --git a/Cargo.lock b/Cargo.lock index 6547693..df5adbc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -959,6 +959,19 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "project-runner" +version = "0.1.0" +dependencies = [ + "herdr-client", + "nucleo-matcher", + "ratatui", + "serde", + "serde_json", + "tempfile", + "unicode-segmentation", +] + [[package]] name = "quote" version = "1.0.47" diff --git a/Cargo.toml b/Cargo.toml index 26ddf93..2246716 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ resolver = "3" # Rust plugins must be listed here. Plugins in other languages live under # plugins/ too but are not cargo members. -members = ["crates/herdr-client", "plugins/command-palette", "plugins/git-glance"] +members = ["crates/herdr-client", "plugins/command-palette", "plugins/git-glance", "plugins/project-runner"] [workspace.package] edition = "2024" diff --git a/README.md b/README.md index 5581aaa..d182ad5 100644 --- a/README.md +++ b/README.md @@ -121,3 +121,32 @@ no editor opens. A failed commit keeps your message in the prompt. never takes the index lock from an agent or editor working in the same repo. - Git errors show in the footer. The full text goes to `~/.local/state/herdr/plugins/jacob.git-glance/glance.log`. + +## Project runner (`plugins/project-runner`) + +Popup picker for the `package.json` scripts of the focused pane's project. +Pick one and it runs in a new tab (or split) as ` run