diff --git a/Cargo.lock b/Cargo.lock index ced2201..980e917 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -29,6 +29,18 @@ dependencies = [ "cpufeatures", ] +[[package]] +name = "ahash" +version = "0.8.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + [[package]] name = "aho-corasick" version = "1.1.4" @@ -1336,6 +1348,30 @@ dependencies = [ "arrayvec", ] +[[package]] +name = "hjkl-bonsai" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "385797ea650dc6b580ad6439f2b568c345854e5768c4b007d889bc0479b0f373" +dependencies = [ + "ahash", + "anyhow", + "dirs", + "hjkl-theme", + "hjkl-xdg", + "libloading", + "libmimalloc-sys", + "memchr", + "regex", + "ropey", + "serde", + "thiserror 2.0.18", + "toml", + "tracing", + "tree-sitter", + "tree-sitter-language", +] + [[package]] name = "hjkl-buffer" version = "0.3.3" @@ -1347,6 +1383,17 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "hjkl-buffer" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c412a11100cff708c61d0c02af3220784c2cd8ec34a54c189389c8c8c365f1ac" +dependencies = [ + "regex", + "ropey", + "unicode-width", +] + [[package]] name = "hjkl-clipboard" version = "0.4.8" @@ -1377,33 +1424,79 @@ checksum = "ce37f6a04fabdbc19665db83f6879f87d40dc1e51e0b779ecace216b21a2b0dc" dependencies = [ "bitflags 2.11.1", "crossterm", - "hjkl-buffer", + "hjkl-buffer 0.3.3", "ratatui", "regex", "thiserror 2.0.18", ] +[[package]] +name = "hjkl-engine" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b891cee08af22738f253ad6beb8a4710ced082b3f6599902ad0ad0f393ce613" +dependencies = [ + "bitflags 2.11.1", + "hjkl-buffer 0.28.1", + "hjkl-lang", + "regex", + "ropey", + "thiserror 2.0.18", + "tracing", +] + [[package]] name = "hjkl-form" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "05640cecfd86b4baeb16d2423d3d23ea4f8ed30bd74a3a9e29e65e2d285ca621" dependencies = [ - "hjkl-buffer", - "hjkl-engine", + "hjkl-buffer 0.3.3", + "hjkl-engine 0.3.3", +] + +[[package]] +name = "hjkl-form" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85b67f77f85ca2ba776aad24163bb4f96644c9109f9712e79925e95fa7c2f7af" +dependencies = [ + "hjkl-buffer 0.28.1", + "hjkl-engine 0.28.1", + "hjkl-vim", +] + +[[package]] +name = "hjkl-keymap" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d73e116f6f105870b09af9224550fa51892e66db2df8fd15b2873d2d2a9ea667" +dependencies = [ + "bitflags 2.11.1", + "thiserror 2.0.18", +] + +[[package]] +name = "hjkl-lang" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4d720c02c19ce124faa349005e74a20352d31ce276fc8d9f2765630da079a50" +dependencies = [ + "anyhow", + "hjkl-bonsai", + "tracing", ] [[package]] name = "hjkl-picker" -version = "0.3.2" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27d1f6fcb06622c85a697bc1c5d6b63965c651242c83c0bf163499f64c6d6c32" +checksum = "16bfdd248f4060c5d96ba9cd336ff01925cb437958d62108bc1d3d158dadb599" dependencies = [ - "crossterm", - "hjkl-buffer", - "hjkl-form", + "hjkl-buffer 0.28.1", + "hjkl-engine 0.28.1", + "hjkl-form 0.28.1", "ignore", - "ratatui", "regex", ] @@ -1414,8 +1507,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e68aec168ae29d9b8cf3ff9d13057e9d608223d7ce190b24b864f24b43d2e14f" dependencies = [ "crossterm", - "hjkl-engine", - "hjkl-form", + "hjkl-engine 0.3.3", + "hjkl-form 0.3.2", "ratatui", ] @@ -1425,6 +1518,38 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5561355a7c5fa5dcb1a688c090d7110ab1b427c714df0152cc9605df7fb27024" +[[package]] +name = "hjkl-theme" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc11b02d8d7bed77272f42a7553c88356f4d239d98d5568495433d68cf61b824" +dependencies = [ + "serde", + "thiserror 2.0.18", + "toml", +] + +[[package]] +name = "hjkl-vim" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7857dcabb063880438563cb78520b680f4baf4271a33deabbca14fd820bc49c" +dependencies = [ + "hjkl-buffer 0.28.1", + "hjkl-engine 0.28.1", + "hjkl-keymap", +] + +[[package]] +name = "hjkl-xdg" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9903da4e4a1525fdb655db4a63711af4bf98bf4d318107b7e43d047ec4130894" +dependencies = [ + "dirs", + "thiserror 2.0.18", +] + [[package]] name = "hkdf" version = "0.12.4" @@ -1546,7 +1671,7 @@ dependencies = [ "bs58", "crossterm", "hjkl-clipboard", - "hjkl-form", + "hjkl-form 0.3.2", "hjkl-picker", "hjkl-ratatui", "hjkl-splash", @@ -1883,6 +2008,25 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "libloading" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60" +dependencies = [ + "cfg-if", + "windows-link", +] + +[[package]] +name = "libmimalloc-sys" +version = "0.1.49" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a45a52f43e1c16f667ccfe4dd8c85b7f7c204fd5e3bf46c5b0db9a5c3c0b8e9" +dependencies = [ + "cc", +] + [[package]] name = "libredox" version = "0.1.16" @@ -2742,6 +2886,16 @@ dependencies = [ "digest", ] +[[package]] +name = "ropey" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93411e420bcd1a75ddd1dc3caf18c23155eda2c090631a85af21ba19e97093b5" +dependencies = [ + "smallvec", + "str_indices", +] + [[package]] name = "rustc_version" version = "0.4.1" @@ -2955,6 +3109,7 @@ version = "1.0.150" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9" dependencies = [ + "indexmap", "itoa", "memchr", "serde", @@ -3117,6 +3272,18 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "str_indices" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d08889ec5408683408db66ad89e0e1f93dff55c73a4ccc71c427d5b277ee47e6" + +[[package]] +name = "streaming-iterator" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b2231b7c3057d5e4ad0156fb3dc807d900806020c5ffa3ee6ff2c8c76fb8520" + [[package]] name = "strsim" version = "0.11.1" @@ -3475,6 +3642,26 @@ dependencies = [ "tracing-log", ] +[[package]] +name = "tree-sitter" +version = "0.26.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dab76d0b724ba557954125188cf0633a1ca43199ced82d95c7b9c32cc3de1f3" +dependencies = [ + "cc", + "regex", + "regex-syntax", + "serde_json", + "streaming-iterator", + "tree-sitter-language", +] + +[[package]] +name = "tree-sitter-language" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "009994f150cc0cd50ff54917d5bc8bffe8cad10ca10d81c34da2ec421ae61782" + [[package]] name = "typenum" version = "1.20.0" diff --git a/Cargo.toml b/Cargo.toml index 8ffed7f..0bdc283 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,7 @@ toml = "1" hjkl-config = "0.27" hjkl-form = { version = "0.3", features = ["crossterm"] } hjkl-ratatui = "0.3" -hjkl-picker = "0.3" +hjkl-picker = "0.28" hjkl-clipboard = "0.4" hjkl-splash = "0.27" keyring = { version = "3", features = ["apple-native", "windows-native", "sync-secret-service", "crypto-rust", "vendored"] }