diff --git a/Cargo.lock b/Cargo.lock index 0ea025c45a2..a16700fab1a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -191,7 +191,7 @@ dependencies = [ "crypto-hash", "curl", "curl-sys", - "env_logger 0.7.0", + "env_logger 0.7.1", "filetime", "flate2", "fs2", @@ -214,7 +214,7 @@ dependencies = [ "miow 0.3.3", "num_cpus", "opener", - "percent-encoding", + "percent-encoding 2.1.0", "remove_dir_all", "rustc-workspace-hack", "rustfix", @@ -230,7 +230,7 @@ dependencies = [ "termcolor", "toml", "unicode-width", - "url", + "url 2.1.0", "walkdir", "winapi 0.3.7", ] @@ -316,7 +316,7 @@ dependencies = [ "smallvec 1.0.0", "toml", "unicode-normalization", - "url", + "url 2.1.0", ] [[package]] @@ -375,11 +375,11 @@ source = "git+https://github.com/rust-lang/cargo?rev=972b9f55a72e3eae21c826b2f80 dependencies = [ "anyhow", "curl", - "percent-encoding", + "percent-encoding 2.1.0", "serde", "serde_derive", "serde_json", - "url", + "url 2.1.0", ] [[package]] @@ -503,21 +503,20 @@ version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71f31892cd5c62e414316f2963c5689242c43d8e7bbcaaeca97e5e28c95d91d9" dependencies = [ - "proc-macro2 1.0.1", - "quote 1.0.2", - "syn 1.0.3", + "proc-macro2", + "quote", + "syn", ] [[package]] name = "derive_more" -version = "0.13.0" +version = "0.99.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f57d78cf3bd45270dad4e70c21ec77a960b36c7a841ff9db76aaa775a8fb871" +checksum = "2159be042979966de68315bce7034bb000c775f22e3e834e1c52ff78f041cae8" dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.13", - "rustc_version", - "syn 0.15.44", + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -584,9 +583,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39ecdb7dd54465526f0a56d666e3b2dd5f3a218665a030b6e4ad9e70fa95d8fa" +checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36" dependencies = [ "atty", "humantime 1.3.0", @@ -611,9 +610,9 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08" dependencies = [ - "proc-macro2 1.0.1", - "quote 1.0.2", - "syn 1.0.3", + "proc-macro2", + "quote", + "syn", "synstructure", ] @@ -746,7 +745,7 @@ dependencies = [ "log", "openssl-probe", "openssl-sys", - "url", + "url 2.1.0", ] [[package]] @@ -758,7 +757,7 @@ dependencies = [ "curl", "git2", "log", - "url", + "url 2.1.0", ] [[package]] @@ -826,6 +825,17 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9b6c53306532d3c8e8087b44e6580e10db51a023cf9b433cea2ac38066b92da" +[[package]] +name = "idna" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + [[package]] name = "idna" version = "0.2.0" @@ -925,9 +935,9 @@ checksum = "92c245af8786f6ac35f95ca14feca9119e71339aaab41e878e7cdd655c97e9e5" [[package]] name = "jsonrpc-client-transports" -version = "13.0.0" +version = "14.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb6fd4acf48d1f17eb7b0e27ab7043c16f063ad0aa7020ec92a431648286c2f" +checksum = "0a9ae166c4d1f702d297cd76d4b55758ace80272ffc6dbb139fdc1bf810de40b" dependencies = [ "failure", "futures", @@ -939,13 +949,14 @@ dependencies = [ "serde", "serde_json", "tokio", + "url 1.7.2", ] [[package]] name = "jsonrpc-core" -version = "13.2.0" +version = "14.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91d767c183a7e58618a609499d359ce3820700b3ebb4823a18c343b4a2a41a0d" +checksum = "fe3b688648f1ef5d5072229e2d672ecb92cbff7d1c79bcf3fd5898f3f3df0970" dependencies = [ "futures", "log", @@ -956,30 +967,30 @@ dependencies = [ [[package]] name = "jsonrpc-core-client" -version = "13.0.0" +version = "14.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6b0a3dc76953d88cdb47f5fe4ae21abcabc8d7edf4951ebce42db5c722d6698" +checksum = "080dc110be17701097df238fad3c816d4a478a1899dfbcf8ec8957dd40ec7304" dependencies = [ "jsonrpc-client-transports", ] [[package]] name = "jsonrpc-derive" -version = "13.0.0" +version = "14.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e2d4475549bc0126690788ed5107573c8917f97db5298f0043fb73d46fc498" +checksum = "8609af8f63b626e8e211f52441fcdb6ec54f1a446606b10d5c89ae9bf8a20058" dependencies = [ "proc-macro-crate", - "proc-macro2 0.4.30", - "quote 0.6.13", - "syn 0.15.44", + "proc-macro2", + "quote", + "syn", ] [[package]] name = "jsonrpc-ipc-server" -version = "13.0.0" +version = "14.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ec122d46ed08c2ccb42a9fe83b921a7be4f94902631684a4ea763a9059b861" +checksum = "b579cd0840d7db3ebaadf52f6f31ec601a260e78d610e44f68634f919e34497a" dependencies = [ "jsonrpc-core", "jsonrpc-server-utils", @@ -991,9 +1002,9 @@ dependencies = [ [[package]] name = "jsonrpc-pubsub" -version = "13.0.0" +version = "14.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583f5930821dbc043236fe5d672d496ead7ff83d21351146598386c66fe8722a" +checksum = "3453625f0f0f5cd6d6776d389d73b7d70fcc98620b7cbb1cbbb1f6a36e95f39a" dependencies = [ "jsonrpc-core", "log", @@ -1003,16 +1014,15 @@ dependencies = [ [[package]] name = "jsonrpc-server-utils" -version = "13.0.0" +version = "14.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04f18ca34046c249751fe90428e77e9570beaa03b33a108e74418a586063d07d" +checksum = "95b7635e618a0edbbe0d2a2bbbc69874277c49383fcf6c3c0414491cfb517d22" dependencies = [ "bytes", "globset", "jsonrpc-core", "lazy_static", "log", - "num_cpus", "tokio", "tokio-codec", "unicase", @@ -1135,7 +1145,7 @@ dependencies = [ "serde", "serde_json", "serde_repr", - "url", + "url 2.1.0", ] [[package]] @@ -1343,6 +1353,12 @@ dependencies = [ "winapi 0.3.7", ] +[[package]] +name = "percent-encoding" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" + [[package]] name = "percent-encoding" version = "2.1.0" @@ -1376,18 +1392,9 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aeccfe4d5d8ea175d5f0e4a2ad0637e0f4121d63bd99d356fb1f39ab2e7c6097" dependencies = [ - "proc-macro2 1.0.1", - "quote 1.0.2", - "syn 1.0.3", -] - -[[package]] -name = "proc-macro2" -version = "0.4.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" -dependencies = [ - "unicode-xid 0.1.0", + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -1396,7 +1403,7 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c5c2380ae88876faae57698be9e9775e3544decad214599c3a6266cca6ac802" dependencies = [ - "unicode-xid 0.2.0", + "unicode-xid", ] [[package]] @@ -1423,35 +1430,26 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07589615d719a60c8dd8a4622e7946465dfef20d1a428f969e3443e7386d5f45" -[[package]] -name = "quote" -version = "0.6.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" -dependencies = [ - "proc-macro2 0.4.30", -] - [[package]] name = "quote" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe" dependencies = [ - "proc-macro2 1.0.1", + "proc-macro2", ] [[package]] name = "racer" -version = "2.1.29" +version = "2.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6d7ffceb4da3e0a29c18986f0469c209f4db3ab9f2ffe286eaa1104a3e5028" +checksum = "29e9de5b4aedb212b93d75c02ac6d35df85b2db0edd85fbc6a61c073348aae2c" dependencies = [ "bitflags", "clap", "derive_more", - "env_logger 0.6.2", - "humantime 1.3.0", + "env_logger 0.7.1", + "humantime 2.0.0", "lazy_static", "log", "rls-span", @@ -1586,7 +1584,7 @@ dependencies = [ "clippy_lints", "crossbeam-channel", "difference", - "env_logger 0.7.0", + "env_logger 0.7.1", "futures", "heck", "home", @@ -1620,7 +1618,7 @@ dependencies = [ "tokio-process", "tokio-timer", "toml", - "url", + "url 2.1.0", "walkdir", ] @@ -1668,7 +1666,7 @@ name = "rls-rustc" version = "0.6.0" dependencies = [ "clippy_lints", - "env_logger 0.7.0", + "env_logger 0.7.1", "futures", "log", "rand", @@ -1782,7 +1780,7 @@ version = "610.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64eac8a0e6efb8f55292aa24be0208c7c0538236c613e79952fd1fa3d54bcf8e" dependencies = [ - "unicode-xid 0.2.0", + "unicode-xid", ] [[package]] @@ -1792,9 +1790,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f99795e8be4877e9e05d59f201e1740c1cf673364655def5848606d9e25b75af" dependencies = [ "itertools", - "proc-macro2 1.0.1", - "quote 1.0.2", - "syn 1.0.3", + "proc-macro2", + "quote", + "syn", "synstructure", ] @@ -1936,9 +1934,9 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b19836fdb238d3f321427a41b87e6c2e9ac132f209d1dc55c55fae8d1df3996f" dependencies = [ - "proc-macro2 1.0.1", - "quote 1.0.2", - "syn 1.0.3", + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -2043,9 +2041,9 @@ version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb4dc18c61206b08dc98216c98faa0232f4337e1e1b8574551d5bad29ea1b425" dependencies = [ - "proc-macro2 1.0.1", - "quote 1.0.2", - "syn 1.0.3", + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -2074,9 +2072,9 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd02c7587ec314570041b2754829f84d873ced14a96d1fd1823531e11db40573" dependencies = [ - "proc-macro2 1.0.1", - "quote 1.0.2", - "syn 1.0.3", + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -2184,20 +2182,9 @@ checksum = "2ae9e5165d463a0dea76967d021f8d0f9316057bf5163aa2a4843790e842ff37" dependencies = [ "heck", "proc-macro-error", - "proc-macro2 1.0.1", - "quote 1.0.2", - "syn 1.0.3", -] - -[[package]] -name = "syn" -version = "0.15.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" -dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.13", - "unicode-xid 0.1.0", + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -2206,9 +2193,9 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "158521e6f544e7e3dcfc370ac180794aa38cb34a1b1e07609376d4adcf429b93" dependencies = [ - "proc-macro2 1.0.1", - "quote 1.0.2", - "unicode-xid 0.2.0", + "proc-macro2", + "quote", + "unicode-xid", ] [[package]] @@ -2217,10 +2204,10 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545" dependencies = [ - "proc-macro2 1.0.1", - "quote 1.0.2", - "syn 1.0.3", - "unicode-xid 0.2.0", + "proc-macro2", + "quote", + "syn", + "unicode-xid", ] [[package]] @@ -2599,12 +2586,6 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7007dbd421b92cc6e28410fe7362e2e0a2503394908f417b68ec8d1c364c4e20" -[[package]] -name = "unicode-xid" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" - [[package]] name = "unicode-xid" version = "0.2.0" @@ -2617,15 +2598,26 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" +[[package]] +name = "url" +version = "1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" +dependencies = [ + "idna 0.1.5", + "matches", + "percent-encoding 1.0.1", +] + [[package]] name = "url" version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b414f6c464c879d7f9babf951f23bc3743fb7313c081b2e6ca719067ea9d61" dependencies = [ - "idna", + "idna 0.2.0", "matches", - "percent-encoding", + "percent-encoding 2.1.0", "serde", ] diff --git a/Cargo.toml b/Cargo.toml index 6a0eb645b5a..13eae29316c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -37,12 +37,12 @@ env_logger = "0.7" futures = { version = "0.1", optional = true } home = "0.5.1" itertools = "0.8" -jsonrpc-core = "13.2" +jsonrpc-core = "14" lsp-types = { version = "0.60", features = ["proposed"] } lazy_static = "1" log = "0.4" num_cpus = "1" -racer = { version = "2.1.29", default-features = false } +racer = { version = "2.1.31", default-features = false } rand = "0.7" rayon = "1" rustc_tools_util = "0.2" diff --git a/rls-ipc/Cargo.toml b/rls-ipc/Cargo.toml index fbc4935136f..940d8b10528 100644 --- a/rls-ipc/Cargo.toml +++ b/rls-ipc/Cargo.toml @@ -9,10 +9,11 @@ repository = "https://github.com/rust-lang/rls" categories = ["development-tools"] [dependencies] -jsonrpc-core = "13" -jsonrpc-core-client = "13" -jsonrpc-derive = "13" -jsonrpc-ipc-server = { version = "13", optional = true } +jsonrpc-core = "14" +jsonrpc-core-client = "14" +jsonrpc-derive = "14" +# Pin 14.0.3 to use single parity-tokio-ipc version (0.2) +jsonrpc-ipc-server = { version = "=14.0.3", optional = true } rls-data = "0.19" serde = { version = "1.0", features = ["derive"] } diff --git a/rls/src/actions/hover.rs b/rls/src/actions/hover.rs index 6eef856187a..a786162e7b3 100644 --- a/rls/src/actions/hover.rs +++ b/rls/src/actions/hover.rs @@ -546,6 +546,7 @@ fn racer_match_to_def(ctx: &InitActionContext, m: &racer::Match) -> Option fn to_def_kind(kind: &MatchType) -> DefKind { match kind { MatchType::Struct(_) => DefKind::Struct, + MatchType::Union(_) => DefKind::Union, MatchType::Module => DefKind::Mod, MatchType::MatchArm => DefKind::Local, MatchType::Function | MatchType::Method(_) => DefKind::Function, diff --git a/rls/src/lsp_data.rs b/rls/src/lsp_data.rs index 28ad5a15175..3d3171a3c4e 100644 --- a/rls/src/lsp_data.rs +++ b/rls/src/lsp_data.rs @@ -160,7 +160,8 @@ pub fn source_kind_from_def_kind(k: DefKind) -> SymbolKind { pub fn completion_kind_from_match_type(m: racer::MatchType) -> CompletionItemKind { match m { racer::MatchType::Crate | racer::MatchType::Module => CompletionItemKind::Module, - racer::MatchType::Struct(_) => CompletionItemKind::Class, + racer::MatchType::Struct(_) => CompletionItemKind::Struct, + racer::MatchType::Union(_) => CompletionItemKind::Struct, racer::MatchType::Enum(_) => CompletionItemKind::Enum, racer::MatchType::StructField | racer::MatchType::EnumVariant(_) => { CompletionItemKind::Field