<story><title>Rust-Analyzer Architecture</title><url>https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/dev/architecture.md</url></story><parent_chain><item><author>User23</author><text>How is the Emacs support for this LSP implementation? Does it actually work comparably well to VS Code, or is it going to be like trying to use Emacs as a Java IDE back in the day: fighting your tooling constantly and getting little help from it.</text></item><item><author>ibraheemdev</author><text>It is also worth noting that rust-analyzer is the successor to RLS. If anyone is still using the RLS (most editor plugins can be configured to use either), they should switch to rust-analyzer. It is much &lt;i&gt;much&lt;/i&gt; better in almost every possible way, and soon to be made the &amp;quot;official&amp;quot; rust LSP [0].&lt;p&gt;0: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;rust-analyzer&amp;#x2F;rust-analyzer&amp;#x2F;issues&amp;#x2F;4224&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;rust-analyzer&amp;#x2F;rust-analyzer&amp;#x2F;issues&amp;#x2F;4224&lt;/a&gt;</text></item><item><author>nindalf</author><text>For those who don&amp;#x27;t know, rust-analyzer is an implementation of the Language Server Protocol for the Rust programming language, written in Rust. It assists you while you program, for example finding usages of a piece of code or going to the definition of a function. Basically a Rust IDE that you can plug into any text editor (in theory).</text></item></parent_chain><comment><author>zxv</author><text>The emacs support is great.  I use emacs &amp;#x27;racer&amp;#x27; and &amp;#x27;lsp&amp;#x27; packages full time for development.&lt;p&gt;There are two popular emacs packages for rust-analyzer: lsp[0] and eglot[1].  lsp (language server protocol) package is the default for racer.  Eglot has far more features and is correspondingly resource hungry.&lt;p&gt;Detailed type information has a super helpful impact on my ability to review Rust code in general. I find reviewing rust code much more productive when I can see what owns a variable, how long it lives, and how it&amp;#x27;s being used (immutable vs mutable). So yea, lsp or eglot. Super helpful.&lt;p&gt;[0] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;emacs-lsp.github.io&amp;#x2F;lsp-mode&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;emacs-lsp.github.io&amp;#x2F;lsp-mode&amp;#x2F;&lt;/a&gt;
[1] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;joaotavora&amp;#x2F;eglot&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;joaotavora&amp;#x2F;eglot&lt;/a&gt;</text></comment>
<story><title>Rust-Analyzer Architecture</title><url>https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/dev/architecture.md</url></story><parent_chain><item><author>User23</author><text>How is the Emacs support for this LSP implementation? Does it actually work comparably well to VS Code, or is it going to be like trying to use Emacs as a Java IDE back in the day: fighting your tooling constantly and getting little help from it.</text></item><item><author>ibraheemdev</author><text>It is also worth noting that rust-analyzer is the successor to RLS. If anyone is still using the RLS (most editor plugins can be configured to use either), they should switch to rust-analyzer. It is much &lt;i&gt;much&lt;/i&gt; better in almost every possible way, and soon to be made the &amp;quot;official&amp;quot; rust LSP [0].&lt;p&gt;0: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;rust-analyzer&amp;#x2F;rust-analyzer&amp;#x2F;issues&amp;#x2F;4224&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;rust-analyzer&amp;#x2F;rust-analyzer&amp;#x2F;issues&amp;#x2F;4224&lt;/a&gt;</text></item><item><author>nindalf</author><text>For those who don&amp;#x27;t know, rust-analyzer is an implementation of the Language Server Protocol for the Rust programming language, written in Rust. It assists you while you program, for example finding usages of a piece of code or going to the definition of a function. Basically a Rust IDE that you can plug into any text editor (in theory).</text></item></parent_chain><comment><author>saghm</author><text>I use rust-analyzer with Emacs every day for work. There was a small amount of initial setup time (one or two bugs that had to be fixed with line or two in the init file), and since then, I haven&amp;#x27;t had to do anything; it&amp;#x27;s just worked fine.</text></comment>