{"id":1260,"date":"2024-03-01T15:49:06","date_gmt":"2024-03-01T20:49:06","guid":{"rendered":"http:\/\/www.borg.org\/?p=1260"},"modified":"2024-03-01T15:49:06","modified_gmt":"2024-03-01T20:49:06","slug":"using-emacs-as-a-rust-ide","status":"publish","type":"post","link":"https:\/\/www.borg.org\/?p=1260","title":{"rendered":"Using emacs as a Rust IDE"},"content":{"rendered":"<p>Turns out I don&#8217;t like Helix very much. The problem? My fingers know emacs. I hate emacs, but it is what my fingers know.<\/p>\n<p>So I decided to figure out how to get emacs to be a Rust IDE. This was made a little tricky because I had attempted to do so a few years ago, when things were rougher, and the solution was to start over and not try to fix the old. Luckily I do not customize emacs a bunch, so starting over isn&#8217;t such a problem. I am not going to get into the details of how I did it, but I installed:<\/p>\n<ul>\n<li>rust-analyzer<\/li>\n<li>eglot<\/li>\n<li>lsp-mode<\/li>\n<li>lsp-ui<\/li>\n<li>company<\/li>\n<li>lsp-treemacs<\/li>\n<\/ul>\n<div>I don&#8217;t know that that be a sensible collection, but they do do some nice stuff. This is really a cheat-sheet for myself, but I put it in public just in case anyone else finds it useful.<\/div>\n<div>(This is a work-in-progress.)<\/div>\n<div>\n<ul>\n<li>mouse over something that has a definition and a popup should appear<\/li>\n<li>M-. to see something&#8217;s definition<\/li>\n<li>M-? to search for occurrences<\/li>\n<li>M-, to navigate backwards<\/li>\n<li>start typing and auto completion options should appear<\/li>\n<li>M-x eglot- TAB to see various commands<\/li>\n<li>M-x rust-run-clippy<\/li>\n<li>right mouse<\/li>\n<li>note the Flymake menu<\/li>\n<\/ul>\n<div>\u00a92024 Kent Borg<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Turns out I don&#8217;t like Helix very much. The problem? My fingers know emacs. I hate emacs, but it is what my fingers know. So I decided to figure out how to get emacs to be a Rust IDE. This was made a little tricky because I had attempted to do so a few years [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[102,141,268,269],"class_list":["post-1260","post","type-post","status-publish","format-standard","hentry","category-tech","tag-emacs","tag-ide","tag-rust","tag-rust-lang"],"_links":{"self":[{"href":"https:\/\/www.borg.org\/index.php?rest_route=\/wp\/v2\/posts\/1260","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.borg.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.borg.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.borg.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.borg.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1260"}],"version-history":[{"count":0,"href":"https:\/\/www.borg.org\/index.php?rest_route=\/wp\/v2\/posts\/1260\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.borg.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1260"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.borg.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1260"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.borg.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}