mirror of
https://github.com/rust-lang/rustlings.git
synced 2024-12-27 07:46:29 +00:00
157 lines
No EOL
6.8 KiB
HTML
157 lines
No EOL
6.8 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en" id="oranda" class="dark">
|
|
<head>
|
|
<title>rustlings</title>
|
|
|
|
<meta property="og:url" content="https://rustlings.cool" />
|
|
|
|
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
|
|
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
|
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
|
|
|
<meta property="og:type" content="website" />
|
|
<meta property="og:title" content="rustlings" />
|
|
|
|
|
|
|
|
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
|
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
|
|
|
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<div class="page-body">
|
|
|
|
<div class="repo_banner">
|
|
<a href="https://github.com/rust-lang/rustlings">
|
|
<div class="github-icon" aria-hidden="true"></div>
|
|
Check out our GitHub!
|
|
</a>
|
|
</div>
|
|
|
|
|
|
<main>
|
|
<header>
|
|
|
|
<h1 class="title">rustlings</h1>
|
|
|
|
<nav class="nav">
|
|
<ul>
|
|
<li><a href="/">Home</a></li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li><a href="/changelog/">Changelog</a></li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</header>
|
|
|
|
|
|
<div>
|
|
<h1>Rustlings 6.0.0</h1>
|
|
<div class="releases-body">
|
|
|
|
|
|
<section class="release ">
|
|
|
|
<div class="release-info">
|
|
<span class="flex items-center gap-2">
|
|
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
|
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
|
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
|
v6.0.0
|
|
</span>
|
|
<span class="flex items-center gap-2">
|
|
|
|
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
|
Jul 3 2024 at 13:43 UTC
|
|
|
|
</span>
|
|
</div>
|
|
<div class="release-body">
|
|
<p>This release is the result of a complete rewrite to deliver a ton of new features and improvements ✨
|
|
The most important changes are highlighted below.</p>
|
|
<h3>Installation</h3>
|
|
<p>The installation has been simplified a lot!
|
|
To install Rustlings after installing Rust, all what you need to do now is running the following command:</p>
|
|
<pre style="background-color:#263238;"><span style="color:#82aaff;">cargo install rustlings
|
|
</span></pre>
|
|
|
|
<p>Yes, this means that Rustlings is now on <a href="https://crates.io/crates/rustlings" rel="noopener noreferrer">crates.io</a> 🎉</p>
|
|
<p>You can read about the motivations of this change in <a href="https://github.com/rust-lang/rustlings/issues/1919" rel="noopener noreferrer">this issue</a>.</p>
|
|
<h3>UI/UX</h3>
|
|
<ul>
|
|
<li>The UI is now responsive when the terminal is resized.</li>
|
|
<li>The progress bar was moved to the bottom so that you can always see your progress and the current exercise to work on.</li>
|
|
<li>The current exercise path is now a terminal link. It will open the exercise file in your default editor when you click on it.</li>
|
|
<li>A small prompt is now always shown at the bottom. It allows you to choose an action by entering a character. For example, entering <code>h</code> will show you the hint of the current exercise.</li>
|
|
<li>The comment "I AM NOT DONE!" doesn't exist anymore. Instead of needing to remove it to go to the next exercise, you need to enter <code>n</code> in the terminal.</li>
|
|
</ul>
|
|
<h3>List mode</h3>
|
|
<p>A new list mode was added!
|
|
You can enter it by entering <code>l</code> in the watch mode.
|
|
It offers the following features:</p>
|
|
<ul>
|
|
<li>Browse all exercises and see their state (pending/done).</li>
|
|
<li>Filter exercises based on their state (pending/done).</li>
|
|
<li>Continue at another exercise. This allows you to skip some exercises or go back to previous ones.</li>
|
|
<li>Reset an exercise so you can start over and revert your changes.</li>
|
|
</ul>
|
|
<h3>Solutions</h3>
|
|
<p>After finishing an exercise, a solution file will be available and Rustlings will show you its path in green.
|
|
This allows you to compare your solution with an idiomatic solution and maybe learn about other ways to solve a problem.</p>
|
|
<p>While writing the solutions, all exercises have been polished 🌟
|
|
For example, every exercise now contains <code>TODO</code> comments to highlight what the user needs to change and where.</p>
|
|
<h3>LSP support out of the box</h3>
|
|
<p>Instead of creating a <code>project.json</code> file using <code>rustlings lsp</code>, Rustlings now works with a <code>Cargo.toml</code> file out of the box.
|
|
No actions are needed to activate the language server <code>rust-analyzer</code>.</p>
|
|
<p>This should avoid issues related to the language server or to running exercises, especially the ones with Clippy.</p>
|
|
<h3>Clippy</h3>
|
|
<p>Clippy lints are now shown on all exercises, not only the Clippy exercises 📎
|
|
Make Clippy your friend from early on 🥰</p>
|
|
<h3>Third-party exercises</h3>
|
|
<p>Rustlings now supports third-party exercises!</p>
|
|
<p>Do you want to create your own set of Rustlings exercises to focus on some specific topic?
|
|
Or do you want to translate the original Rustlings exercises?
|
|
Then follow the link to the guide about <a href="THIRD_PARTY_EXERCISES.md" rel="noopener noreferrer">third-party exercises</a>!</p>
|
|
<p><a rel="noopener noreferrer"></a></p>
|
|
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</div>
|
|
|
|
</main>
|
|
</div>
|
|
|
|
<footer>
|
|
|
|
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
|
|
|
<span>
|
|
rustlings, MIT
|
|
</span>
|
|
</footer>
|
|
</div>
|
|
|
|
|
|
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
</html> |