Racer support for Emacs

Overview

Racer for Emacs

MELPA MELPA Stable Build Status Coverage Status

This is the official Emacs package for Racer.

Table of Contents

Completion

racer.el supports code completion of variables, functions and modules.

racer completion screenshot

You can also press F1 to pop up a help buffer for the current completion candidate.

Note that due to a limitation of racer, racer.el cannot offer completion for macros.

Find Definitions

racer.el can jump to definition of functions and types.

racer go to definition

You can use M-. to go to the definition, and M-, to go back.

Describe Functions and Types

racer.el can show a help buffer based on the docstring of the thing at point.

racer completion screenshot

Use M-x racer-describe to open the help buffer.

Installation

  1. You will need to use a nightly version of rust. If you're using rustup, run

    $ rustup toolchain add nightly
    
  2. Install Racer and download the source code of Rust:

    $ rustup component add rust-src
    $ cargo +nightly install racer
    
  3. Allow Emacs to install packages from MELPA:

    (require 'package)
    (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/"))
  4. Install the Emacs package for Racer: M-x package-install RET racer RET

  5. Configure Emacs to activate racer when rust-mode starts:

    (add-hook 'rust-mode-hook #'racer-mode)
    (add-hook 'racer-mode-hook #'eldoc-mode)

    For completions, install company with M-x package-install RET company RET. A sample configuration:

    (add-hook 'racer-mode-hook #'company-mode)
    
    (require 'rust-mode)
    (define-key rust-mode-map (kbd "TAB") #'company-indent-or-complete-common)
    (setq company-tooltip-align-annotations t)

    For automatic completions, customize company-idle-delay and company-minimum-prefix-length.

    Racer process may be slow to respond for instance when indexing. You can customize racer-command-timeout and racer-eldoc-timeout to avoid rendering your Emacs session unresponsive. Eldoc timeout should be on the lower side and defaults to 0.5 seconds. You can probably tweak it down on a fast machine. Timeout of nil will wait indefinitely.

Testing your setup

To test completion: Open a rust file and try typing use std::io::B and press TAB.

To test go to definition: Place your cursor over a symbol and press M-. to jump to its definition.

Press C-x 4 . to jump to its definition in another window.

Press C-x 5 . to jump to its definition in another frame.

Press M-, to jump back to the previous cursor location.

If it doesn't work, try M-x racer-debug to see what command was run and what output was returned.

Tests

racer.el includes tests. To run them, you need to install Cask, then:

$ cask install
$ cask exec ert-runner
Comments
  • Completion doesn't work

    Completion doesn't work

    Hi i try to configure Emacs for rust :

    
    (use-package rust-mode
        :mode (("\\.rs\\'" . rust-mode))
        :config (setq tab-width 4))
    
      (use-package racer
        :init (progn
                (setq racer-rust-src-path (getenv "RUST_SRC_PATH"))
                (setq racer-cmd (executable-find "racer")))
        :config (progn
                  (add-hook 'rust-mode-hook #'racer-mode)
                  (add-hook 'rust-mode-hook #'company-mode)
                  (add-hook 'racer-mode-hook #'eldoc-mode)
                  (add-hook 'rust-mode-hook
                            '(lambda ()
                               (local-set-key (kbd "M-.") #'racer-find-definition)
                               (local-set-key (kbd "TAB") #'company-indent-or-complete-common)))))
    

    I press TAB after use std::io::B, i've got into minubuffer: No completion found

    Variable racer-rust-src-path is correctly set. i try the shell command, it works :

    M-x shell-command RET racer complete std::io::B
    MATCH BufReader,48,11,/home/nlamirault/Apps/rust/src/libstd/io/buffered.rs,Struct,pub struct BufReader<R>
    MATCH BufWriter,300,11,/home/nlamirault/Apps/rust/src/libstd/io/buffered.rs,Struct,pub struct BufWriter<W: Write>
    MATCH BufRead,1200,10,/home/nlamirault/Apps/rust/src/libstd/io/mod.rs,Trait,pub trait BufRead: Read
    MATCH Bytes,1528,11,/home/nlamirault/Apps/rust/src/libstd/io/mod.rs,Struct,pub struct Bytes<R>
    

    Any idea why it doesn't work ?

    opened by nlamirault 23
  • emacs-racer doesn't complete for external crates

    emacs-racer doesn't complete for external crates

    Follow on from an issue on the main racer repo, where we concluded that my issue was with emacs-racer rather than racer itself: https://github.com/racer-rust/racer/issues/1020#issuecomment-468424788

    Emacs version: 25.2.2 emacs-racer version: 20190124.538

    I'm using racer via the emacs-racer plugin that's included with spacemacs (https://github.com/syl20bnr/spacemacs/tree/master/layers/%2Blang/rust)

    When I'm editing, (for example, in this demo repo: https://github.com/kngwyu/simple-crate.git), racer completions work for the standard library, but not for external crates like rand.

    Output from racer-debug:

    The last racer command was:
    
    $ cd /home/shanek/tmp/simple-crate/
    $ export CARGO_HOME=/home/shanek/.cargo
    $ export RUST_SRC_PATH=/home/shanek/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src
    $ /home/shanek/.cargo/bin/racer complete 3 21 /home/shanek/tmp/simple-crate/src/main.rs /tmp/racer8927IeQ
    
    This command terminated with exit code 0.
    
    stdout:
    
    PREFIX 32,43,AsByteSlice
    END
    
    No output on stderr.
    
    The temporary file will have been deleted. You should be
    able to reproduce the same output from racer with the
    following command:
    
    $ CARGO_HOME=/home/shanek/.cargo RUST_SRC_PATH=/home/shanek/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src /home/shanek/.cargo/bin/racer complete 3 21 /home/shanek/tmp/simple-crate/src/main.rs
    
    Please report bugs on GitHub.
    
    opened by JuneKelly 11
  • Use region contents in racer-describe if active

    Use region contents in racer-describe if active

    (thing-at-point 'symbol) (here) doesn't always retrieve what we want - for instance, when describing a namespaced fn - so we may want to check it against the active region to work around this.

    opened by dcluna 11
  • Provide an option to disable completion in comments

    Provide an option to disable completion in comments

    Emacs stalls while writing in some comments such as the comment: "// writing in this comment is broken" below. Try extending the comment with writing words longer than company-minimum-prefix-length and company-idle-delay "low-enough". Simply start tapping the "a" key repeatedly for example and the letters should appear in chunks. Not sure if this is emacs-racer or racer problem and what repo the issue should have been filed to.

    // company-idle-delay 0.1 is low-enough on my system
    fn main() {
        // writing in this comment is fine
    }
    
    
    struct A {
    }
    
    
    impl A {
        fn f() {
            // writing in this comment is broken
            let x = 0;
        }
    
    
        fn g() {
            // writing in this comment is fine
        }
    }
    
    bug 
    opened by ville-h 10
  • Missing docs => cryptic error message

    Missing docs => cryptic error message

    So I've ran racer-mode for the first time ever... and racer errored out on missing docs, I think this case should be covered by an appropriate error message.

    opened by t0suj4 8
  • Unable to find libstd under RUST_SRC_PATH.

    Unable to find libstd under RUST_SRC_PATH.

    % racer complete std::io::B Unable to find libstd under RUST_SRC_PATH. N.B. RUST_SRC_PATH variable needs to point to the src directory inside a rust checkout e.g. "/home/foouser/src/rust/src". Current value ""/nix/store/fjghknnd4x9zpgx6hxznaiw6c7y0jr2s-rust-1.47.0-2020-10-07-18bf6b4f0/lib/rustlib/src/rust/library/libstd""

    I use nix Mozilla-rust-overlay stable

      nixpkgs.latest.rustChannels.stable.rust.override {
          extensions = [ #
          # "lldb-preview"
          "clippy-preview"
          # "miri-preview"
          "rls-preview"
          # "rust-analyzer-preview"
          "rustfmt-preview"
          "llvm-tools-preview"
          "rust-analysis"
          "rust-std"
          "rustc-dev"
          # "rustc-docs"
          "rust-src"
          
          ]
    

    Thanks

    opened by PlumpHip 7
  • Insert argument placeholders for function completions

    Insert argument placeholders for function completions

    I tried my hand at issue #37. After completion, if the matchtype was a function, it tries to extract and insert the function arguments in the same way that was referenced in the issue. If there is a self argument in the beginning of the argument list, that one is not inserted.

    I don't know much Emacs Lisp, so please let me know if there is a mistake or something I can improve.

    opened by raketeneis 7
  • racer starts when cursor resting at pos 0 and locking up the UI for seconds..

    racer starts when cursor resting at pos 0 and locking up the UI for seconds..

    As the title says. This is extremely annoying since the UI is frozen for seconds every time I stop with the cursor at for example pos 0 on a line like: pub struct .....

    racer seem to activate if I rest with the cursor for more than ~1 second. racer is using 100% CPU for at least one second and emacs is frozen during this time.

    rust/racer etc everything latest version and config according to documentation.

    emacs 25.3 FreeBSD

    opened by johalun 7
  • eldoc error: (void-variable exit-code) when trying to use emacs-racer

    eldoc error: (void-variable exit-code) when trying to use emacs-racer

    Hi,

    I tried to install emacs-racer using the instructions. Once installed, it loads, but for some reason it is unable to document or complete anything. As an example, here is a traceback:

    Debugger entered--Lisp error: (void-variable exit-code)
      racer--call("complete" "1" "5" "/home/dsilvers/dev-rust/foo.rs" "/tmp/racer24459EKC")
      racer--call-at-point("complete")
      racer-complete()
      racer-eldoc()
      #[0 "\302 \204�\205G�\303\304!\210\304\207	\203�\303	 !\207\305 \306 \211\204$�\304\202B�@=\2038�\307\310\"\206B�\311!\202B�\311!\206B�\307\310\"\303!\266\203\207" [eldoc-last-message eldoc-documentation-function eldoc-display-message-p eldoc-message nil eldoc-current-symbol eldoc-fnsym-in-current-sexp apply eldoc-get-fnsym-args-string eldoc-get-var-docstring] 5 "\n\n(fn)"]()
      funcall(#[0 "\302 \204�\205G�\303\304!\210\304\207	\203�\303	 !\207\305 \306 \211\204$�\304\202B�@=\2038�\307\310\"\206B�\311!\202B�\311!\206B�\307\310\"\303!\266\203\207" [eldoc-last-message eldoc-documentation-function eldoc-display-message-p eldoc-message nil eldoc-current-symbol eldoc-fnsym-in-current-sexp apply eldoc-get-fnsym-args-string eldoc-get-var-docstring] 5 "\n\n(fn)"])
      eldoc-print-current-symbol-info()
      #[0 "\205�\301 \207" [eldoc-mode eldoc-print-current-symbol-info] 1 "\n\n(fn)"]()
      apply(#[0 "\205�\301 \207" [eldoc-mode eldoc-print-current-symbol-info] 1 "\n\n(fn)"] nil)
      byte-code("r\301\302H\303H\"\210)\301\207" [timer apply 5 6] 4)
      timer-event-handler([t 0 0 500000 t #[0 "\205�\301 \207" [eldoc-mode eldoc-print-current-symbol-info] 1 "\n\n(fn)"] nil idle 0])
    

    For reference, I am using Emacs 24.4.1 on Debian

    opened by kinnison 6
  • Autocompletion issues with Iron's Hello World.

    Autocompletion issues with Iron's Hello World.

    Racer fails to provide autocompletion for the following code in the listed parts.

    • Ok(Response::
    • Ok(Response::with((status::
    • let _server = Iro (doesn't respond with 'Iron')
    • let _server = Iron::
    • let _server = Iron::new(hello_world).
    • let _server = Iron::new(hello_world).http("localhost:3000").

    This is the "Hello World" program on the frontpage of the Iron website here.

    
    extern crate iron;
    
    use iron::prelude::*;
    use iron::status;
    
    fn main() {
        fn hello_world(_: &mut Request) -> IronResult<Response> {
            Ok(Response::with((status::Ok, "Hello World!")))
        }
    
        let _server = Iron::new(hello_world).http("localhost:3000").unwrap();
        println!("On 3000");
    }
    

    Code compiles and runs using Rust 1.12.1 and Iron 1.4.0

    emacs-racer 20161004.1950 racer 1.2.10

    awaiting-response 
    opened by crinklywrappr 6
  • Racer not displaying signature

    Racer not displaying signature

    When using spacemacs and the rust layer with rust nightly (rustc 1.11.0-nightly (915b003e3 2016-06-02)), I see the following:

    selection_002

    When I use racer through the command prompt, the signature is visible in the output.

    Edit I should add that (add-hook 'racer-mode-hook #'eldoc-mode) is present in .spacemacs inside dotspacemacs/user-config.

    bug 
    opened by peschkaj 6
  • indeterminable error

    indeterminable error

    first time using spacemacs, comes bundled with this racer. I got this error and i can't make heads or tails of it. name == censored account name

    
    $ cd /home/name/programs/Rust/adventOfCode/
    $ export CARGO_HOME=/home/name/.cargo
    $ export RUST_SRC_PATH=/home/name/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library
    $ /home/name/.cargo/bin/racer complete 36 9 /home/name/programs/Rust/adventOfCode/src/main.rs /tmp/racerNt0W6y
    
    This command terminated with exit code 127.
    
    No output on stdout.
    
    No output on stderr.
    
    The temporary file will have been deleted. You should be
    able to reproduce the same output from racer with the
    following command:
    
    $ CARGO_HOME=/home/name/.cargo RUST_SRC_PATH=/home/name/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library /home/name/.cargo/bin/racer complete 36 9 /home/name/programs/Rust/adventOfCode/src/main.rs
    
    opened by BartTerpstra 0
  • Future of racer.

    Future of racer.

    opened by basicfunc 0
  • Company Backend not working (exit code 127)

    Company Backend not working (exit code 127)

    The last racer command was:
    
    $ cd /Users/sanadkadu/github/pathOfTheRustacean/
    $ export CARGO_HOME=/Users/sanadkadu/.cargo
    $ export RUST_SRC_PATH=/Users/sanadkadu/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/src/rust/src
    $ /Users/sanadkadu/.cargo/bin/racer complete 5 15 /Users/sanadkadu/github/pathOfTheRustacean/fibonacci.rs /var/folders/xx/3k0k7xmd04d51rh7rnxy4cwc0000gn/T/racertqBgSg
    
    This command terminated with exit code 127.
    
    stdout:
    
    
    Process *async-racer* exited abnormally with code 127
    
    No output on stderr.
    
    The temporary file will have been deleted. You should be
    able to reproduce the same output from racer with the
    following command:
    
    $ CARGO_HOME=/Users/sanadkadu/.cargo RUST_SRC_PATH=/Users/sanadkadu/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/src/rust/src /Users/sanadkadu/.cargo/bin/racer complete 5 15 /Users/sanadkadu/github/pathOfTheRustacean/fibonacci.rs
    
    
    opened by cypherBeep 1
  • Unable to find libstd under RUST_SRC_PATH

    Unable to find libstd under RUST_SRC_PATH

    When I run racer in emacs, it says an error.

    This command terminated with exit code 1.
    
    stdout:
    
    Unable to find libstd under RUST_SRC_PATH. N.B. RUST_SRC_PATH variable needs to point to the *src* directory inside a rust checkout e.g. "/home/foouser/src/rust/src". Current value ""/home/h3poteto/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/libstd""
    
    No output on stderr.
    
    $ rustc --version
    rustc 1.53.0 (53cb7b09b 2021-06-17)
    $ pwd
    /home/h3poteto/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library
    $ ls -lha
    total 72K
    drwxr-xr-x 18 h3poteto h3poteto 4.0K  6月 30 21:48 .
    drwxr-xr-x  4 h3poteto h3poteto 4.0K  6月 30 21:48 ..
    drwxr-xr-x  5 h3poteto h3poteto 4.0K  6月 30 21:48 alloc
    drwxr-xr-x  8 h3poteto h3poteto 4.0K  6月 30 21:48 backtrace
    drwxr-xr-x  5 h3poteto h3poteto 4.0K  6月 30 21:48 core
    drwxr-xr-x  3 h3poteto h3poteto 4.0K  6月 30 21:48 panic_abort
    drwxr-xr-x  3 h3poteto h3poteto 4.0K  6月 30 21:48 panic_unwind
    drwxr-xr-x  4 h3poteto h3poteto 4.0K  6月 30 21:48 proc_macro
    drwxr-xr-x  3 h3poteto h3poteto 4.0K  6月 30 21:48 profiler_builtins
    drwxr-xr-x  2 h3poteto h3poteto 4.0K  6月 30 21:48 rtstartup
    drwxr-xr-x  2 h3poteto h3poteto 4.0K  6月 30 21:48 rustc-std-workspace-alloc
    drwxr-xr-x  2 h3poteto h3poteto 4.0K  6月 30 21:48 rustc-std-workspace-core
    drwxr-xr-x  2 h3poteto h3poteto 4.0K  6月 30 21:48 rustc-std-workspace-std
    drwxr-xr-x  5 h3poteto h3poteto 4.0K  6月 30 21:48 std
    drwxr-xr-x  6 h3poteto h3poteto 4.0K  6月 30 21:48 stdarch
    drwxr-xr-x  3 h3poteto h3poteto 4.0K  6月 30 21:48 term
    drwxr-xr-x  3 h3poteto h3poteto 4.0K  6月 30 21:48 test
    drwxr-xr-x  3 h3poteto h3poteto 4.0K  6月 30 21:48 unwind
    $ find ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu -name "libstd"
    

    There is no libstd in library directory. On the contrary, there is no file called libstd in the /.rustup` directory.

    This issue is similar https://github.com/racer-rust/emacs-racer/issues/146 .

    opened by h3poteto 3
  • company-fuzzy-mode seems to be incompatible with racer-mode

    company-fuzzy-mode seems to be incompatible with racer-mode

    Hello, racer-mode along with company-mode is a great tool for writing Rust code in Emacs and I really enjoy this awesome tool. However, when I enable company-fuzzy-mode, Emacs fails to do auto-compelete. I ran racer-debug and found correct compeletions were all listed, but company-mode can not show those completions. I called company-indent-or-complete-common and it returns "no completion found".

    I discovered this issue by disabling all my extensions but company-mode and racer-mode, I found they worked smoothly with each other and gave precise completions. Once company-fuzzy-mode is on, completions offered by racer-mode are not shown by company-mode.

    (Honestly, I'm not sure if I should post this issue here, or to company-mode repo, or to company-fuzzy repo. The company-fuzzy repo hasn't been updated for years, perhaps it is a bug of it.)

    opened by Dicridon 0
  • Add the possibility to disable multiple matches

    Add the possibility to disable multiple matches

    Hi! When using eldoc, I don't like the need to match a single candidate via completing-read when there are multiple candidates.

    I use company (with the company-box frontend), and it's already showing me all possible signatures. Having to interrupt my completion to match a candidate to show its signature is breaking my user experience. 2020-10-26-083523_739x204_escrotum

    I suggest a new user-customizable variable to let users choose whether or not they want the "multiple matches" prompt. If set to nil, racer--describe-at-point could show the first match, and add a hint to specify there are more possible signatures. Something like racer-eldoc-prompt-for-multiple-matches could do the trick.

    Thanks in advance for the response.

    opened by Tiv0w 0
Owner
null
Emacs configuration for Rust

Table of Contents Introduction Installation Melpa Manual installation Feature guide Indentation Code formatting Running / testing / compiling code Cli

The Rust Programming Language 919 Jan 4, 2023
Rust development environment for Emacs

Rustic Table of Contents Rustic Intro Installation straight Compilation Faces rustc errors Rustfmt edition 2018 LSP Server Client eglot lsp-mode lsp-e

null 612 Dec 30, 2022
Auto-Complete is an intelligent auto-completion extension for Emacs.

Auto-Complete is an intelligent auto-completion extension for Emacs. It extends the standard Emacs completion interface and provides an environment that allows users to concentrate more on their own work.

Emacs Auto-Complete 1.7k Dec 28, 2022
On the fly syntax checking for GNU Emacs

https://www.flycheck.org Modern on-the-fly syntax checking extension for GNU Emacs. Try it! For a more gentle introduction read the Installation instr

Flycheck 2.3k Dec 30, 2022
crispmacs is a WIP implementation of Emacs from scratch in Rust.

crispmacs is a WIP implementation of Emacs from scratch in Rust.

rust 3 Jul 31, 2022
Rust language support in Atom - LOOKING FOR MAINTAINER, see #144

Rust language support in Atom Adds syntax highlighting and snippets to Rust files in Atom. Install Install the package language-rust in Atom (Preferen

Andreas Neuhaus 118 Oct 11, 2022
Rust IDE support for Atom, powered by the Rust Language Server (RLS)

IDE-Rust Rust language support for Atom-IDE, powered by rust-analyzer. Features Auto-completion Diagnostics (errors and warnings from rustc) Document

The Rust Programming Language 239 Dec 14, 2022
Better Rust/Cargo support for Flycheck

flycheck-rust — Flycheck for Rust This Flycheck extension configures Flycheck automatically for the current Cargo project. Setup Install from MELPA or

Flycheck 112 Sep 21, 2022
Language Server Protocol (LSP) support for vim and neovim.

For legacy python implementation, see branch master. LanguageClient-neovim Language Server Protocol support for vim and neovim. More recordings at Upd

Junfeng Li 3.5k Dec 29, 2022
Rust extension for Visual Studio 2017 with RLS support

Rust support for Visual Studio 2017 Preview Adds language support for Rust to Visual Studio 2017. Supports: code completion goto definition find all r

Zoey Riordan 111 Aug 4, 2022
Fennel language server protocol (LSP) support.

fennel-language-server Fennel language server protocol (LSP) support. fennel-language-server is currently in a very early stage and unreliable. Use it

null 68 Dec 27, 2022
Racer support for Vim

Vim Racer Plugin This plugin allows vim to use Racer for Rust code completion and navigation. Installation Build / Install Racer Install using Pathoge

null 624 Dec 7, 2022
Easy c̵̰͠r̵̛̠ö̴̪s̶̩̒s̵̭̀-t̶̲͝h̶̯̚r̵̺͐e̷̖̽ḁ̴̍d̶̖̔ ȓ̵͙ė̶͎ḟ̴͙e̸̖͛r̶̖͗ë̶̱́ṉ̵̒ĉ̷̥e̷͚̍ s̷̹͌h̷̲̉a̵̭͋r̷̫̊ḭ̵̊n̷̬͂g̵̦̃ f̶̻̊ơ̵̜ṟ̸̈́ R̵̞̋ù̵̺s̷̖̅ţ̸͗!̸̼͋

Rust S̵̓i̸̓n̵̉ I̴n̴f̶e̸r̵n̷a̴l mutability! Howdy, friendly Rust developer! Ever had a value get m̵̯̅ð̶͊v̴̮̾ê̴̼͘d away right under your nose just when

null 294 Dec 23, 2022
Rust :heart: Emacs

Rust ❤️ Emacs A community-driven port of Emacs to Rust. Table of Contents Why Emacs? Why Rust? Why A Fork? Getting Started Requirements Dockerized dev

Remacs 4.5k Jan 2, 2023
Emacs configuration for Rust

Table of Contents Introduction Installation Melpa Manual installation Feature guide Indentation Code formatting Running / testing / compiling code Cli

The Rust Programming Language 919 Jan 4, 2023
Rust development environment for Emacs

Rustic Table of Contents Rustic Intro Installation straight Compilation Faces rustc errors Rustfmt edition 2018 LSP Server Client eglot lsp-mode lsp-e

null 612 Dec 30, 2022
Auto-Complete is an intelligent auto-completion extension for Emacs.

Auto-Complete is an intelligent auto-completion extension for Emacs. It extends the standard Emacs completion interface and provides an environment that allows users to concentrate more on their own work.

Emacs Auto-Complete 1.7k Dec 28, 2022
On the fly syntax checking for GNU Emacs

https://www.flycheck.org Modern on-the-fly syntax checking extension for GNU Emacs. Try it! For a more gentle introduction read the Installation instr

Flycheck 2.3k Dec 30, 2022
Emacs client for ycmd, the code completion system.

This package is currently unmaintained! If you want to take over maintenance, let me know in an issue. emacs-ycmd emacs-ycmd is a client for ycmd, the

Austin Bingham 381 Dec 22, 2022
crispmacs is a WIP implementation of Emacs from scratch in Rust.

crispmacs is a WIP implementation of Emacs from scratch in Rust.

rust 3 Jul 31, 2022