Compare commits
7 commits
Author | SHA1 | Date | |
---|---|---|---|
|
836a07ad6e | ||
|
8cde5ce43f | ||
|
29cec6445c | ||
|
880a729f48 | ||
|
25b4794d3e | ||
|
9748c0fd60 | ||
|
5abb3c86b4 |
229
Cargo.lock
generated
229
Cargo.lock
generated
|
@ -264,12 +264,13 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.0.83"
|
||||
version = "1.1.37"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
|
||||
checksum = "40545c26d092346d8a8dab71ee48e7685a7a9cba76e634790c215b41a4a7b4cf"
|
||||
dependencies = [
|
||||
"jobserver",
|
||||
"libc",
|
||||
"shlex",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -946,9 +947,9 @@ checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
|
|||
|
||||
[[package]]
|
||||
name = "jobserver"
|
||||
version = "0.1.27"
|
||||
version = "0.1.32"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d"
|
||||
checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
@ -1002,7 +1003,9 @@ dependencies = [
|
|||
"tree-sitter-bash",
|
||||
"tree-sitter-c",
|
||||
"tree-sitter-c-sharp",
|
||||
"tree-sitter-cmake",
|
||||
"tree-sitter-cpp",
|
||||
"tree-sitter-dockerfile",
|
||||
"tree-sitter-elixir",
|
||||
"tree-sitter-erlang",
|
||||
"tree-sitter-go",
|
||||
|
@ -1010,17 +1013,18 @@ dependencies = [
|
|||
"tree-sitter-java",
|
||||
"tree-sitter-javascript",
|
||||
"tree-sitter-json",
|
||||
"tree-sitter-kotlin",
|
||||
"tree-sitter-lua",
|
||||
"tree-sitter-md",
|
||||
"tree-sitter-objc",
|
||||
"tree-sitter-php",
|
||||
"tree-sitter-python",
|
||||
"tree-sitter-r",
|
||||
"tree-sitter-ruby",
|
||||
"tree-sitter-rust",
|
||||
"tree-sitter-scala",
|
||||
"tree-sitter-swift",
|
||||
"tree-sitter-toml",
|
||||
"tree-sitter-typescript",
|
||||
"tree-sitter-yaml",
|
||||
"uuid",
|
||||
]
|
||||
|
||||
|
@ -1523,14 +1527,14 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "regex"
|
||||
version = "1.9.5"
|
||||
version = "1.11.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
|
||||
checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
"regex-automata 0.3.8",
|
||||
"regex-syntax 0.7.5",
|
||||
"regex-automata 0.4.8",
|
||||
"regex-syntax 0.8.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1544,13 +1548,13 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "regex-automata"
|
||||
version = "0.3.8"
|
||||
version = "0.4.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
|
||||
checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
"regex-syntax 0.7.5",
|
||||
"regex-syntax 0.8.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1565,6 +1569,12 @@ version = "0.7.5"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
|
||||
|
||||
[[package]]
|
||||
name = "regex-syntax"
|
||||
version = "0.8.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
|
||||
|
||||
[[package]]
|
||||
name = "reqwest"
|
||||
version = "0.11.20"
|
||||
|
@ -1852,6 +1862,12 @@ dependencies = [
|
|||
"lazy_static",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "shlex"
|
||||
version = "1.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
|
||||
|
||||
[[package]]
|
||||
name = "signal-hook-registry"
|
||||
version = "1.4.1"
|
||||
|
@ -1920,6 +1936,12 @@ version = "0.4.1"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5f026164926842ec52deb1938fae44f83dfdb82d0a5b0270c5bd5935ab74d6dd"
|
||||
|
||||
[[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.10.0"
|
||||
|
@ -2321,232 +2343,267 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "tree-sitter"
|
||||
version = "0.20.10"
|
||||
version = "0.24.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e747b1f9b7b931ed39a548c1fae149101497de3c1fc8d9e18c62c1a66c683d3d"
|
||||
checksum = "f9871f16d6cf5c4757dcf30d5d2172a2df6987c510c017bbb7abfb7f9aa24d06"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"regex",
|
||||
"regex-syntax 0.8.5",
|
||||
"streaming-iterator",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-bash"
|
||||
version = "0.20.3"
|
||||
version = "0.23.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "096f57b3b44c04bfc7b21a4da44bfa16adf1f88aba18993b8478a091076d0968"
|
||||
checksum = "3aa5e1c6bd02c0053f3f68edcf5d8866b38a8640584279e30fca88149ce14dda"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-c"
|
||||
version = "0.20.6"
|
||||
version = "0.23.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "30b03bdf218020057abee831581a74bff8c298323d6c6cd1a70556430ded9f4b"
|
||||
checksum = "c8b3fb515e498e258799a31d78e6603767cd6892770d9e2290ec00af5c3ad80b"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-c-sharp"
|
||||
version = "0.20.0"
|
||||
version = "0.23.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b9ab3dc608f34924fa9e10533a95f62dbc14b6de0ddd7107722eba66fe19ae31"
|
||||
checksum = "04c0f6d2209a3cd6d0bb9d2934715da15a15710d3c09c7c1ecd4c9804c3ecd10"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-cmake"
|
||||
version = "0.5.0"
|
||||
source = "git+https://code.blarg.ca/gered/tree-sitter-cmake.git?branch=tree-sitter-language#2a50b3b0ce318f11489dc8ec95ef165a84a262bf"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-cpp"
|
||||
version = "0.20.3"
|
||||
version = "0.23.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "23b4b625f46a7370544b9cf0545532c26712ae49bfc02eb09825db358b9f79e1"
|
||||
checksum = "1d67e862242878d6ee50e1e5814f267ee3eea0168aea2cdbd700ccfb4c74b6d3"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-dockerfile"
|
||||
version = "0.2.0"
|
||||
source = "git+https://code.blarg.ca/gered/tree-sitter-dockerfile.git?branch=tree-sitter-language#ca73f2e024e2d6d92ddd785f7275ab2c6b6666eb"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-elixir"
|
||||
version = "0.1.0"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9a9916f3e1c80b3c8aab8582604e97e8720cb9b893489b347cf999f80f9d469e"
|
||||
checksum = "97bf0efa4be41120018f23305b105ad4dfd3be1b7f302dc4071d0e6c2dec3a32"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-erlang"
|
||||
version = "0.4.0"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "93ced5145ebb17f83243bf055b74e108da7cc129e12faab4166df03f59b287f4"
|
||||
checksum = "489bf4fed178fc0192ef47bf4570225558723952b8c88233704fd91445b45a8e"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-go"
|
||||
version = "0.20.0"
|
||||
version = "0.23.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1ad6d11f19441b961af2fda7f12f5d0dac325f6d6de83836a1d3750018cc5114"
|
||||
checksum = "caf57626e4c9b6d6efaf8a8d5ee1241c5f178ae7bfdf693713ae6a774f01424e"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-html"
|
||||
version = "0.20.0"
|
||||
version = "0.23.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "017822b6bd42843c4bd67fabb834f61ce23254e866282dd93871350fd6b7fa1d"
|
||||
checksum = "7d52d710a3723360ebade986d3f0ae2aa2c3bcfb87bb1cdf60988ec51c81c40d"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-java"
|
||||
version = "0.20.2"
|
||||
version = "0.23.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2adc5696bf5abf761081d7457d2bb82d0e3b28964f4214f63fd7e720ef462653"
|
||||
checksum = "b38b26736e6e97421760201f7a91c859f3b0d44382d48ac18aa963828f784ebf"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-javascript"
|
||||
version = "0.20.1"
|
||||
version = "0.23.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "edbc663376bdd294bd1f0a6daf859aedb9aa5bdb72217d7ad8ba2d5314102cf7"
|
||||
checksum = "59e1f62f8babb640b909f30675d1addeb1f17802f2a4d2af287569753b243977"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-json"
|
||||
version = "0.20.1"
|
||||
version = "0.24.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "50d82d2e33ee675dc71289e2ace4f8f9cf96d36d81400e9dae5ea61edaf5dea6"
|
||||
checksum = "35cc3c8d2fec2ba6d6a4d1cdf83153e1230d0de30742b875d857f8b9bbe042d0"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-kotlin"
|
||||
version = "0.3.1"
|
||||
name = "tree-sitter-language"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1b5f367466210220a194a2d8831fc12d15aa13305e7bcdf2dba47714aa328e86"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
]
|
||||
checksum = "e8ddffe35a0e5eeeadf13ff7350af564c6e73993a24db62caee1822b185c2600"
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-lua"
|
||||
version = "0.0.19"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0968cf4962ead1d26da28921dde1fd97407e7bbcf2f959cd20cf04ba2daa9421"
|
||||
checksum = "5cdb9adf0965fec58e7660cbb3a059dbb12ebeec9459e6dcbae3db004739641e"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-md"
|
||||
version = "0.1.5"
|
||||
version = "0.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5a237fa10f6b466b76c783c79b08cc172581e547ef1dbb6ddf1f8b4e230157e1"
|
||||
checksum = "17f968c22a01010b83fc960455ae729db08dbeb6388617d9113897cb9204b030"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-objc"
|
||||
version = "3.0.0"
|
||||
name = "tree-sitter-php"
|
||||
version = "0.23.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8f465c1a24f400b1e4837c97ef350954dea05ff72030f6808fb3945e04fe0b27"
|
||||
checksum = "8c9e1c3e04e8aca119bebc6d26ea06b961e91c57c54d389531a62db2e8c79036"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-python"
|
||||
version = "0.20.4"
|
||||
version = "0.23.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e6c93b1b1fbd0d399db3445f51fd3058e43d0b4dcff62ddbdb46e66550978aa5"
|
||||
checksum = "65661b1a3e24139e2e54207e47d910ab07e28790d78efc7d5dc3a11ce2a110eb"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-r"
|
||||
version = "0.19.5"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "522c13f4cc46213148b19d4ad40a988ffabd51fd90eb7de759844fbde49bda0c"
|
||||
checksum = "51759bc3400109e5e5e09e80745d9e787655634e9c3b6e736eeaef44e7bcec0b"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-ruby"
|
||||
version = "0.20.0"
|
||||
version = "0.23.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0ac30cbb1560363ae76e1ccde543d6d99087421e228cc47afcec004b86bb711a"
|
||||
checksum = "6ec5ee842e27791e0adffa0b2a177614de51d2a26e5c7e84d014ed7f097e5ed0"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-rust"
|
||||
version = "0.20.4"
|
||||
version = "0.23.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b0832309b0b2b6d33760ce5c0e818cb47e1d72b468516bfe4134408926fa7594"
|
||||
checksum = "cffbbcb780348fbae8395742ae5b34c1fd794e4085d43aac9f259387f9a84dc8"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-scala"
|
||||
version = "0.20.2"
|
||||
version = "0.23.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "93df43ab4f2b3299fe97e73eb9b946bbca453b402bea8debf1fa69ab4e28412b"
|
||||
checksum = "a7394987e126e3b36dc94a89e48544bea8542db66a62532f6d19930685cc1230"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-swift"
|
||||
version = "0.4.0"
|
||||
version = "0.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "452e6ee0a14b82a0dcd93400b8d3fe3784fdbd775191a89ef84586e5ccec6be7"
|
||||
checksum = "d65aeb41726119416567d0333ec17580ac4abfb96db1f67c4bd638c65f9992fe"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-toml"
|
||||
version = "0.20.0"
|
||||
source = "git+https://code.blarg.ca/gered/tree-sitter-toml.git?branch=tree-sitter-language#0975ccfb7d7c567cbf21d24bf198ff9515af371e"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-typescript"
|
||||
version = "0.20.3"
|
||||
version = "0.23.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a75049f0aafabb2aac205d7bb24da162b53dcd0cfb326785f25a2f32efa8071a"
|
||||
checksum = "aecf1585ae2a9dddc2b1d4c0e2140b2ec9876e2a25fd79de47fcf7dae0384685"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tree-sitter-yaml"
|
||||
version = "0.6.1"
|
||||
source = "git+https://code.blarg.ca/gered/tree-sitter-yaml.git?branch=tree-sitter-language#9ffe10a1b805e9ddcb926e7b0602ea7fc1b7f1e0"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"tree-sitter-language",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
|
@ -33,29 +33,32 @@ tower-lsp = "0.20"
|
|||
tracing = "0.1"
|
||||
tracing-appender = "0.2"
|
||||
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
|
||||
tree-sitter = "0.20"
|
||||
tree-sitter-bash = "0.20"
|
||||
tree-sitter-c = "0.20"
|
||||
tree-sitter-cpp = "0.20"
|
||||
tree-sitter-c-sharp = "0.20"
|
||||
tree-sitter-elixir = "0.1"
|
||||
tree-sitter-erlang = "0.4"
|
||||
tree-sitter-go = "0.20"
|
||||
tree-sitter-html = "0.20"
|
||||
tree-sitter-java = "0.20"
|
||||
tree-sitter-javascript = "0.20"
|
||||
tree-sitter-json = "0.20"
|
||||
tree-sitter-kotlin = "0.3.1"
|
||||
tree-sitter-lua = "0.0.19"
|
||||
tree-sitter-md = "0.1"
|
||||
tree-sitter-objc = "3"
|
||||
tree-sitter-python = "0.20"
|
||||
tree-sitter-r = "0.19"
|
||||
tree-sitter-ruby = "0.20"
|
||||
tree-sitter-rust = "0.20"
|
||||
tree-sitter-scala = "0.20"
|
||||
tree-sitter-swift = "0.4"
|
||||
tree-sitter-typescript = "0.20"
|
||||
tree-sitter = "0.24.3"
|
||||
tree-sitter-bash = "0.23.1"
|
||||
tree-sitter-c = "0.23.1"
|
||||
tree-sitter-cmake = { git = "https://code.blarg.ca/gered/tree-sitter-cmake.git", branch = "tree-sitter-language" }
|
||||
tree-sitter-cpp = "0.23.1"
|
||||
tree-sitter-c-sharp = "0.23.0"
|
||||
tree-sitter-dockerfile = { git = "https://code.blarg.ca/gered/tree-sitter-dockerfile.git", branch = "tree-sitter-language" }
|
||||
tree-sitter-elixir = "0.3.1"
|
||||
tree-sitter-erlang = "0.9.0"
|
||||
tree-sitter-go = "0.23.1"
|
||||
tree-sitter-html = "0.23.0"
|
||||
tree-sitter-java = "0.23.2"
|
||||
tree-sitter-javascript = "0.23.0"
|
||||
tree-sitter-json = "0.24.1"
|
||||
tree-sitter-lua = "0.2.0"
|
||||
tree-sitter-md = "0.3.2"
|
||||
tree-sitter-php = "0.23.5"
|
||||
tree-sitter-python = "0.23.2"
|
||||
tree-sitter-r = "1.1.0"
|
||||
tree-sitter-ruby = "0.23.0"
|
||||
tree-sitter-rust = "0.23.0"
|
||||
tree-sitter-scala = "0.23.2"
|
||||
tree-sitter-swift = "0.6.0"
|
||||
tree-sitter-toml = { git = "https://code.blarg.ca/gered/tree-sitter-toml.git", branch = "tree-sitter-language" }
|
||||
tree-sitter-typescript = "0.23.0"
|
||||
tree-sitter-yaml = { git = "https://code.blarg.ca/gered/tree-sitter-yaml.git", branch = "tree-sitter-language" }
|
||||
|
||||
[dependencies.uuid]
|
||||
version = "1.4"
|
||||
|
|
|
@ -99,14 +99,26 @@ fn parse_llamacpp_text(text: &str) -> Result<Vec<Generation>> {
|
|||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
struct OllamaGeneration {
|
||||
response: String,
|
||||
struct OllamaGenerationChoiceMessage {
|
||||
role: String,
|
||||
content: String,
|
||||
}
|
||||
|
||||
impl From<OllamaGeneration> for Generation {
|
||||
fn from(value: OllamaGeneration) -> Self {
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
struct OllamaGenerationChoice {
|
||||
index: i32,
|
||||
message: OllamaGenerationChoiceMessage,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
struct OllamaGeneration {
|
||||
choices: Vec<OllamaGenerationChoice>
|
||||
}
|
||||
|
||||
impl From<OllamaGenerationChoice> for Generation {
|
||||
fn from(value: OllamaGenerationChoice) -> Self {
|
||||
Generation {
|
||||
generated_text: value.response,
|
||||
generated_text: value.message.content,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -118,13 +130,13 @@ enum OllamaAPIResponse {
|
|||
Error(APIError),
|
||||
}
|
||||
|
||||
fn build_ollama_headers() -> HeaderMap {
|
||||
HeaderMap::new()
|
||||
fn build_ollama_headers(api_token: Option<&String>, ide: Ide) -> Result<HeaderMap> {
|
||||
build_api_headers(api_token, ide)
|
||||
}
|
||||
|
||||
fn parse_ollama_text(text: &str) -> Result<Vec<Generation>> {
|
||||
match serde_json::from_str(text)? {
|
||||
OllamaAPIResponse::Generation(gen) => Ok(vec![gen.into()]),
|
||||
OllamaAPIResponse::Generation(completion) => Ok(completion.choices.into_iter().map(|x| x.into()).collect()),
|
||||
OllamaAPIResponse::Error(err) => Err(Error::Ollama(err)),
|
||||
}
|
||||
}
|
||||
|
@ -227,7 +239,9 @@ pub(crate) fn build_body(
|
|||
request_body.insert("prompt".to_owned(), Value::String(prompt));
|
||||
}
|
||||
Backend::Ollama { .. } | Backend::OpenAi { .. } => {
|
||||
request_body.insert("prompt".to_owned(), Value::String(prompt));
|
||||
request_body.insert("messages".to_owned(), json!([
|
||||
{ "role": "user", "content": prompt }
|
||||
]));
|
||||
request_body.insert("model".to_owned(), Value::String(model));
|
||||
request_body.insert("stream".to_owned(), Value::Bool(false));
|
||||
}
|
||||
|
@ -243,7 +257,7 @@ pub(crate) fn build_headers(
|
|||
match backend {
|
||||
Backend::HuggingFace { .. } => build_api_headers(api_token, ide),
|
||||
Backend::LlamaCpp { .. } => Ok(build_llamacpp_headers()),
|
||||
Backend::Ollama { .. } => Ok(build_ollama_headers()),
|
||||
Backend::Ollama { .. } => build_ollama_headers(api_token, ide),
|
||||
Backend::OpenAi { .. } => build_openai_headers(api_token, ide),
|
||||
Backend::Tgi { .. } => build_tgi_headers(api_token, ide),
|
||||
}
|
||||
|
|
|
@ -6,123 +6,93 @@ use crate::error::{Error, Result};
|
|||
use crate::language_id::LanguageId;
|
||||
|
||||
fn get_parser(language_id: LanguageId) -> Result<Parser> {
|
||||
match language_id {
|
||||
let language = match language_id {
|
||||
LanguageId::Bash => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_bash::language())?;
|
||||
Ok(parser)
|
||||
Some(tree_sitter_bash::LANGUAGE)
|
||||
}
|
||||
LanguageId::C => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_c::language())?;
|
||||
Ok(parser)
|
||||
Some(tree_sitter_c::LANGUAGE)
|
||||
}
|
||||
LanguageId::Cmake => {
|
||||
Some(tree_sitter_cmake::LANGUAGE)
|
||||
}
|
||||
LanguageId::Cpp => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_cpp::language())?;
|
||||
Ok(parser)
|
||||
Some(tree_sitter_cpp::LANGUAGE)
|
||||
}
|
||||
LanguageId::CSharp => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_c_sharp::language())?;
|
||||
Ok(parser)
|
||||
Some(tree_sitter_c_sharp::LANGUAGE)
|
||||
}
|
||||
LanguageId::Dockerfile => {
|
||||
Some(tree_sitter_dockerfile::LANGUAGE)
|
||||
}
|
||||
LanguageId::Elixir => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_elixir::language())?;
|
||||
Ok(parser)
|
||||
Some(tree_sitter_elixir::LANGUAGE)
|
||||
}
|
||||
LanguageId::Erlang => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_erlang::language())?;
|
||||
Ok(parser)
|
||||
Some(tree_sitter_erlang::LANGUAGE)
|
||||
}
|
||||
LanguageId::Go => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_go::language())?;
|
||||
Ok(parser)
|
||||
Some(tree_sitter_go::LANGUAGE)
|
||||
}
|
||||
LanguageId::Html => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_html::language())?;
|
||||
Ok(parser)
|
||||
Some(tree_sitter_html::LANGUAGE)
|
||||
}
|
||||
LanguageId::Java => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_java::language())?;
|
||||
Ok(parser)
|
||||
Some(tree_sitter_java::LANGUAGE)
|
||||
}
|
||||
LanguageId::JavaScript | LanguageId::JavaScriptReact => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_javascript::language())?;
|
||||
Ok(parser)
|
||||
Some(tree_sitter_javascript::LANGUAGE)
|
||||
}
|
||||
LanguageId::Json => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_json::language())?;
|
||||
Ok(parser)
|
||||
}
|
||||
LanguageId::Kotlin => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_kotlin::language())?;
|
||||
Ok(parser)
|
||||
Some(tree_sitter_json::LANGUAGE)
|
||||
}
|
||||
LanguageId::Lua => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_lua::language())?;
|
||||
Ok(parser)
|
||||
Some(tree_sitter_lua::LANGUAGE)
|
||||
}
|
||||
LanguageId::Markdown => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_md::language())?;
|
||||
Ok(parser)
|
||||
Some(tree_sitter_md::LANGUAGE)
|
||||
}
|
||||
LanguageId::ObjectiveC => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_objc::language())?;
|
||||
Ok(parser)
|
||||
LanguageId::Php => {
|
||||
Some(tree_sitter_php::LANGUAGE_PHP)
|
||||
}
|
||||
LanguageId::Python => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_python::language())?;
|
||||
Ok(parser)
|
||||
Some(tree_sitter_python::LANGUAGE)
|
||||
}
|
||||
LanguageId::R => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_r::language())?;
|
||||
Ok(parser)
|
||||
Some(tree_sitter_r::LANGUAGE)
|
||||
}
|
||||
LanguageId::Ruby => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_ruby::language())?;
|
||||
Ok(parser)
|
||||
Some(tree_sitter_ruby::LANGUAGE)
|
||||
}
|
||||
LanguageId::Rust => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_rust::language())?;
|
||||
Ok(parser)
|
||||
Some(tree_sitter_rust::LANGUAGE)
|
||||
}
|
||||
LanguageId::Scala => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_scala::language())?;
|
||||
Ok(parser)
|
||||
Some(tree_sitter_scala::LANGUAGE)
|
||||
}
|
||||
LanguageId::Swift => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_swift::language())?;
|
||||
Ok(parser)
|
||||
Some(tree_sitter_swift::LANGUAGE)
|
||||
}
|
||||
LanguageId::Toml => {
|
||||
Some(tree_sitter_toml::LANGUAGE)
|
||||
}
|
||||
LanguageId::TypeScript => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_typescript::language_typescript())?;
|
||||
Ok(parser)
|
||||
Some(tree_sitter_typescript::LANGUAGE_TYPESCRIPT)
|
||||
}
|
||||
LanguageId::TypeScriptReact => {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(tree_sitter_typescript::language_tsx())?;
|
||||
Ok(parser)
|
||||
Some(tree_sitter_typescript::LANGUAGE_TSX)
|
||||
}
|
||||
LanguageId::Unknown => Ok(Parser::new()),
|
||||
LanguageId::Yaml => {
|
||||
Some(tree_sitter_yaml::LANGUAGE)
|
||||
}
|
||||
LanguageId::Unknown => None,
|
||||
};
|
||||
if let Some(language) = language {
|
||||
let mut parser = Parser::new();
|
||||
parser.set_language(&language.into())?;
|
||||
Ok(parser)
|
||||
} else {
|
||||
Ok(Parser::new())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -5,8 +5,10 @@ use std::fmt;
|
|||
pub(crate) enum LanguageId {
|
||||
Bash,
|
||||
C,
|
||||
Cmake,
|
||||
Cpp,
|
||||
CSharp,
|
||||
Dockerfile,
|
||||
Elixir,
|
||||
Erlang,
|
||||
Go,
|
||||
|
@ -15,18 +17,19 @@ pub(crate) enum LanguageId {
|
|||
JavaScript,
|
||||
JavaScriptReact,
|
||||
Json,
|
||||
Kotlin,
|
||||
Lua,
|
||||
Markdown,
|
||||
ObjectiveC,
|
||||
Php,
|
||||
Python,
|
||||
R,
|
||||
Ruby,
|
||||
Rust,
|
||||
Scala,
|
||||
Swift,
|
||||
Toml,
|
||||
TypeScript,
|
||||
TypeScriptReact,
|
||||
Yaml,
|
||||
Unknown,
|
||||
}
|
||||
|
||||
|
@ -35,8 +38,10 @@ impl fmt::Display for LanguageId {
|
|||
match self {
|
||||
Self::Bash => write!(f, "shellscript"),
|
||||
Self::C => write!(f, "c"),
|
||||
Self::Cmake => write!(f, "cmake"),
|
||||
Self::Cpp => write!(f, "cpp"),
|
||||
Self::CSharp => write!(f, "csharp"),
|
||||
Self::Dockerfile => write!(f, "dockerfile"),
|
||||
Self::Elixir => write!(f, "elixir"),
|
||||
Self::Erlang => write!(f, "erlang"),
|
||||
Self::Go => write!(f, "go"),
|
||||
|
@ -45,18 +50,19 @@ impl fmt::Display for LanguageId {
|
|||
Self::JavaScript => write!(f, "javascript"),
|
||||
Self::JavaScriptReact => write!(f, "javascriptreact"),
|
||||
Self::Json => write!(f, "json"),
|
||||
Self::Kotlin => write!(f, "kotlin"),
|
||||
Self::Lua => write!(f, "lua"),
|
||||
Self::Markdown => write!(f, "markdown"),
|
||||
Self::ObjectiveC => write!(f, "objective-c"),
|
||||
Self::Php => write!(f, "php"),
|
||||
Self::Python => write!(f, "python"),
|
||||
Self::R => write!(f, "r"),
|
||||
Self::Ruby => write!(f, "ruby"),
|
||||
Self::Rust => write!(f, "rust"),
|
||||
Self::Scala => write!(f, "scala"),
|
||||
Self::Swift => write!(f, "swift"),
|
||||
Self::Toml => write!(f, "toml"),
|
||||
Self::TypeScript => write!(f, "typescript"),
|
||||
Self::TypeScriptReact => write!(f, "typescriptreact"),
|
||||
Self::Yaml => write!(f, "yaml"),
|
||||
Self::Unknown => write!(f, "unknown"),
|
||||
}
|
||||
}
|
||||
|
@ -66,8 +72,10 @@ impl From<&str> for LanguageId {
|
|||
fn from(value: &str) -> Self {
|
||||
match value {
|
||||
"c" => Self::C,
|
||||
"cmake" => Self::Cmake,
|
||||
"cpp" => Self::Cpp,
|
||||
"csharp" => Self::CSharp,
|
||||
"dockerfile" => Self::Dockerfile,
|
||||
"elixir" => Self::Elixir,
|
||||
"erlang" => Self::Erlang,
|
||||
"go" => Self::Go,
|
||||
|
@ -76,19 +84,22 @@ impl From<&str> for LanguageId {
|
|||
"javascript" => Self::JavaScript,
|
||||
"javascriptreact" => Self::JavaScriptReact,
|
||||
"json" => Self::Json,
|
||||
"kotlin" => Self::Kotlin,
|
||||
"lua" => Self::Lua,
|
||||
"markdown" => Self::Markdown,
|
||||
"objective-c" => Self::ObjectiveC,
|
||||
"php" => Self::Php,
|
||||
"python" => Self::Python,
|
||||
"r" => Self::R,
|
||||
"ruby" => Self::Ruby,
|
||||
"rust" => Self::Rust,
|
||||
"scala" => Self::Scala,
|
||||
"shellscript" => Self::Bash,
|
||||
"sh" => Self::Bash,
|
||||
"swift" => Self::Swift,
|
||||
"toml" => Self::Toml,
|
||||
"typescript" => Self::TypeScript,
|
||||
"typescriptreact" => Self::TypeScriptReact,
|
||||
"yaml" => Self::Yaml,
|
||||
"yaml.ansible" => Self::Yaml,
|
||||
_ => Self::Unknown,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -77,6 +77,20 @@ fn should_complete(document: &Document, position: Position) -> Result<Completion
|
|||
column: column + 1,
|
||||
},
|
||||
);
|
||||
|
||||
// HACK?: It's not entirely clear to me what the below commented out block of code that was originally being
|
||||
// used was trying to accomplish. What I found is that in a lot of cases, even when the document was
|
||||
// parsed into some known language with a document tree present, the logic below would end up returning
|
||||
// CompletionType::SingleLine ... usually because the specific scenario didn't fall into the root node
|
||||
// check at the start.
|
||||
// So far, with the below simplified to just return CompletionType::MultiLine in all cases where the
|
||||
// document tree is parsed into some known language _seems_ to work better? Certainly I get much less
|
||||
// forced single-line completions which was extremely disappointing and irritating to see!
|
||||
if current_node.is_some() {
|
||||
return Ok(CompletionType::MultiLine);
|
||||
}
|
||||
|
||||
/*
|
||||
if let Some(node) = current_node {
|
||||
if node == tree.root_node() {
|
||||
return Ok(CompletionType::MultiLine);
|
||||
|
@ -110,6 +124,7 @@ fn should_complete(document: &Document, position: Position) -> Result<Completion
|
|||
return Ok(CompletionType::MultiLine);
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
let start_idx = document.text.try_line_to_char(row)?;
|
||||
// XXX: We treat the end of a document as a newline
|
||||
|
@ -441,19 +456,19 @@ fn build_url(backend: Backend, model: &str, disable_url_path_completion: bool) -
|
|||
}
|
||||
}
|
||||
Backend::Ollama { mut url } => {
|
||||
if url.ends_with("/api/generate") {
|
||||
if url.ends_with("/v1/chat/completions") {
|
||||
url
|
||||
} else if url.ends_with("/api/") {
|
||||
url.push_str("generate");
|
||||
} else if url.ends_with("/v1/") {
|
||||
url.push_str("chat/completions");
|
||||
url
|
||||
} else if url.ends_with("/api") {
|
||||
url.push_str("/generate");
|
||||
} else if url.ends_with("/v1") {
|
||||
url.push_str("/chat/completions");
|
||||
url
|
||||
} else if url.ends_with('/') {
|
||||
url.push_str("api/generate");
|
||||
url.push_str("v1/chat/completions");
|
||||
url
|
||||
} else {
|
||||
url.push_str("/api/generate");
|
||||
url.push_str("/v1/chat/completions");
|
||||
url
|
||||
}
|
||||
}
|
||||
|
|
2
rust-toolchain.toml
Normal file
2
rust-toolchain.toml
Normal file
|
@ -0,0 +1,2 @@
|
|||
[toolchain]
|
||||
channel = "1.79.0"
|
Loading…
Reference in a new issue