From a025ce0538da5db4b92393a17de0dd94c58e704c Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Mon, 14 Oct 2024 14:11:09 -0500 Subject: [PATCH 1/4] Add warning about `rust-analyzer` not working if you clone and use the repo directly > Yes, you are right, if you just clone the repository and try to edit the exercises, the language server will not work. This is one downside of the current approach. But this only affects developing exercises. > > The new method of doing Rustlings is to install Rustlings using `cargo install rustlings` (not published yet), then running `rustlings init`. No repo cloning happens. Instead, the directory `rustlings/` will be created where you find the exercises. The language server works there out of the box :) > > I need to add a warning when people try to work on the exercises from the repository. Thanks pointing this out. > > -- @mo8it, https://github.com/rust-lang/rustlings/issues/1935#issuecomment-2067664066 Other references: - Previous `rustlings lsp` command: https://github.com/rust-lang/rustlings/pull/1026 - The changelog says "LSP support out of the box", https://github.com/rust-lang/rustlings/blob/main/CHANGELOG.md#lsp-support-out-of-the-box --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index b65920f2..8a23edeb 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,15 @@ rustlings Our general recommendation is [VS Code](https://code.visualstudio.com/) with the [rust-analyzer plugin](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer). But any editor that supports [rust-analyzer](https://rust-analyzer.github.io/) should be enough for working on the exercises. +
+If you cloned the repository and rust-analyzer isn't working… (click to expand) + +The intended way to run Rustlings is to install the binary and run `rustlings init` as described above. This generates a `Cargo.toml` (different than what you see in the repository) that includes the each excersise as a separate binary target which is enough for `rust-analyzer` to work. + +If you just clone the repository and try to run and edit the exercises directly, the language server will not work. This is one downside of the current approach. But this only affects developing exercises. + +
+ ### Terminal While working with Rustlings, please use a modern terminal for the best user experience. From 60e0d4ae8a763f089d85e16de6c13a59588fb332 Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Wed, 16 Oct 2024 11:01:41 -0500 Subject: [PATCH 2/4] Fix some grammar --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8a23edeb..abc8507d 100644 --- a/README.md +++ b/README.md @@ -85,9 +85,9 @@ But any editor that supports [rust-analyzer](https://rust-analyzer.github.io/) s
If you cloned the repository and rust-analyzer isn't working… (click to expand) -The intended way to run Rustlings is to install the binary and run `rustlings init` as described above. This generates a `Cargo.toml` (different than what you see in the repository) that includes the each excersise as a separate binary target which is enough for `rust-analyzer` to work. +The intended way to run Rustlings is to install the binary and run `rustlings init` as described above. This generates a `Cargo.toml` (different than what you see in the repository) that includes each excersise as a separate binary target which is enough for `rust-analyzer` to work. -If you just clone the repository and try to run and edit the exercises directly, the language server will not work. This is one downside of the current approach. But this only affects developing exercises. +If you just clone the repository and try to run and edit the exercises directly, the language server will not work. Please follow the instructions above instead.
From 2bccdcbd2cbc2006885a2b375a05b06a10b28684 Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Wed, 16 Oct 2024 11:07:42 -0500 Subject: [PATCH 3/4] Use simple caution message with expand for more details --- README.md | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index abc8507d..f97a25ee 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,18 @@ cargo install rustlings +> [!CAUTION] +> Don't try to clone the repository to do the exercises! `rust-analyzer` won't work in that case. Please follow the instructions above instead. +> +>
+> Why? +> +>The intended way to run Rustlings is to install the binary and run `rustlings init` as described above. This generates a `Cargo.toml` (different than what you see in the repository) that includes each exercise as a separate binary target which is enough for `rust-analyzer` to work. +> +>If you just clone the repository and try to run and edit the exercises directly, the language server will not work. +> +>
+ ### Initialization After installing Rustlings, run the following command to initialize the `rustlings/` directory: @@ -82,15 +94,6 @@ rustlings Our general recommendation is [VS Code](https://code.visualstudio.com/) with the [rust-analyzer plugin](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer). But any editor that supports [rust-analyzer](https://rust-analyzer.github.io/) should be enough for working on the exercises. -
-If you cloned the repository and rust-analyzer isn't working… (click to expand) - -The intended way to run Rustlings is to install the binary and run `rustlings init` as described above. This generates a `Cargo.toml` (different than what you see in the repository) that includes each excersise as a separate binary target which is enough for `rust-analyzer` to work. - -If you just clone the repository and try to run and edit the exercises directly, the language server will not work. Please follow the instructions above instead. - -
- ### Terminal While working with Rustlings, please use a modern terminal for the best user experience. From fa6680ff76e322af0f096986ebce89243d902cad Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Wed, 16 Oct 2024 11:09:09 -0500 Subject: [PATCH 4/4] Correctly point to sections --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f97a25ee..c8148801 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ cargo install rustlings >
> Why? > ->The intended way to run Rustlings is to install the binary and run `rustlings init` as described above. This generates a `Cargo.toml` (different than what you see in the repository) that includes each exercise as a separate binary target which is enough for `rust-analyzer` to work. +>The intended way to run Rustlings is to install the binary and run `rustlings init` as described in the installation/initialization sections. This generates a `Cargo.toml` (different than what you see in the repository) that includes each exercise as a separate binary target which is enough for `rust-analyzer` to work. > >If you just clone the repository and try to run and edit the exercises directly, the language server will not work. >