{"id":13437588,"url":"https://github.com/racer-rust/racer","last_synced_at":"2025-12-16T21:37:33.164Z","repository":{"id":14659635,"uuid":"17378050","full_name":"racer-rust/racer","owner":"racer-rust","description":"Rust Code Completion utility","archived":false,"fork":false,"pushed_at":"2023-11-19T23:31:16.000Z","size":6999,"stargazers_count":3361,"open_issues_count":148,"forks_count":279,"subscribers_count":77,"default_branch":"master","last_synced_at":"2025-04-23T20:53:23.788Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/racer-rust.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE-MIT","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-03-03T19:57:29.000Z","updated_at":"2025-04-06T18:49:14.000Z","dependencies_parsed_at":"2024-06-18T15:39:07.301Z","dependency_job_id":null,"html_url":"https://github.com/racer-rust/racer","commit_stats":null,"previous_names":["phildawes/racer"],"tags_count":70,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/racer-rust%2Fracer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/racer-rust%2Fracer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/racer-rust%2Fracer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/racer-rust%2Fracer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/racer-rust","download_url":"https://codeload.github.com/racer-rust/racer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250514767,"owners_count":21443208,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T03:00:58.526Z","updated_at":"2025-12-16T21:37:33.081Z","avatar_url":"https://github.com/racer-rust.png","language":"Rust","funding_links":[],"categories":["Development tools","Rust","开发工具 Development tools","开发工具"],"sub_categories":["Web Servers","Web服务器 Web Servers","Web 服务器","Workflow Automation","网络服务端 Web Servers"],"readme":"# *Racer* - code completion for [Rust](https://www.rust-lang.org/)\n\n[![Build Status](https://github.com/racer-rust/racer/workflows/CI/badge.svg?branch=master)](https://github.com/racer-rust/racer/actions?query=workflow%3ACI+branch%3Amaster)\n\n\n![racer completion screenshot](images/racer_completion.png)\n\n![racer eldoc screenshot](images/racer_eldoc.png)\n\n*RACER* = *R*ust *A*uto-*C*omplete-*er*. A utility intended to provide Rust code completion for editors and IDEs. Maybe one day the 'er' bit will be exploring + refactoring or something.\n\n## **DISCLAIMER**\nRacer is **not** actively developped now.\nPlease consider using newer software such as\n[rust-analyzer](https://rust-analyzer.github.io/).\n\n## Installation\n\n**NOTE**\nFrom 2.1, racer needs **nightly rust**\n\n### Requirements\n\n#### Current nightly Rust\n\nIf you're using rustup, run\n```\nrustup toolchain install nightly\nrustup component add rustc-dev --toolchain=nightly\n```\n\n_Note: The second command adds the `rustc-dev` component to the nightly\ntoolchain, which is necessary to compile Racer._\n\n#### Cargo\nInternally, racer calls cargo as a CLI tool, so please make sure cargo is installed\n\n### With `cargo install`\n\nSimply run:\n\n```cargo +nightly install racer```\n\nAs mentioned in the command output, don't forget to add the installation directory to your `PATH`.\n\n### From sources\n\n1. Clone the repository: ```git clone https://github.com/racer-rust/racer.git```\n\n2. ```cd racer; cargo +nightly build --release```.  The binary will now be in ```./target/release/racer```\n\n3. Add the binary to your `PATH`. This can be done by moving it to a directory already in your `PATH` (i.e. `/usr/local/bin`) or by adding the `./target/release/` directory to your `PATH`\n\n## Configuration\n\n1. Fetch the Rust sourcecode\n\n    1. automatically via [rustup](https://www.rustup.rs/) and run `rustup component add rust-src` in order to install the source to `$(rustc --print sysroot)/lib/rustlib/src/rust/library` (or `$(rustc --print sysroot)/lib/rustlib/src/rust/src` in older toolchains). Rustup will keep the sources in sync with the toolchain if you run `rustup update`.\n\n    2. manually from git: https://github.com/rust-lang/rust\n\n    **Note**\n\n     If you want to use `racer` with multiple release channels (Rust has 3 release channels: `stable`, `beta` and `nightly`), you have to also download Rust source code for each release channel you install.\n\n    e.g. (rustup case) Add a nightly toolchain build and install nightly sources too\n\n    `rustup toolchain add nightly`\n\n    `rustup component add rust-src`\n\n2. (Optional) Set `RUST_SRC_PATH` environment variable to point to the 'src' dir in the Rust source installation\n   e.g. `% export RUST_SRC_PATH=$(rustc --print sysroot)/lib/rustlib/src/rust/library` or `% export RUST_SRC_PATH=\"$(rustc --print sysroot)/lib/rustlib/src/rust/src\"` (older)\n\n   It's recommended to set `RUST_SRC_PATH` for speed up, but racer detects it automatically if you don't set it.\n\n3. Test on the command line:\n\n   `racer complete std::io::B `  (should show some completions)\n\n**Note**\n\nTo complete names in external crates, Racer needs `Cargo.lock`.\nSo, when you add a dependency in your `Cargo.toml`, you have to run a build command\nsuch as `cargo build` or `cargo test`, to get completions.\n\n## Editors/IDEs Supported\n\n### RLS\n\nRacer is used as a static library in [RLS](https://github.com/rust-lang-nursery/rls)\n\n### Eclipse integration\n\nRacer can be used with Eclipse through the use of [RustDT](https://github.com/RustDT/RustDT). (User guide is [linked](https://rustdt.github.io/) in repo description)\n\n### Emacs integration\n\nEmacs integration has been moved to a separate project: [emacs-racer](https://github.com/racer-rust/emacs-racer).\n\n### Gedit integration\n\nGedit integration can be found [here](https://github.com/isamert/gracer).\n\n### Builder integration\n\nGnome Builder integration can be found [here](https://github.com/deikatsuo/bracer)\n\n### Kate integration\n\nThe Kate community maintains a [plugin](https://cgit.kde.org/kate.git/tree/addons/rustcompletion). It is bundled with recent releases of Kate (tested with 16.08 - read more [here](https://blogs.kde.org/2015/05/22/updates-kates-rust-plugin-syntax-highlighting-and-rust-source-mime-type)).\n\n1. Enable 'Rust code completion' in the plugin list in the Kate config dialog;\n\n2. On the new 'Rust code completion' dialog page, make sure 'Racer command' and 'Rust source tree location' are set correctly.\n\n### Sublime Text integration\n\nThe Sublime Text community maintains some packages that integrates Racer\n* [RustAutoComplete](https://github.com/defuz/RustAutoComplete) that offers auto completion and goto definition.\n* [AnacondaRUST](https://github.com/DamnWidget/anaconda_rust) from the [anaconda](https://github.com/DamnWidget/anaconda) plugins family that offers auto completion, goto definition and show documentation\n\n### Vim integration\n\nVim integration has been moved to a separate project: [vim-racer](https://github.com/racer-rust/vim-racer).\n\n### Visual Studio Code extension\n\nRacer recommends the official [`Rust (rls)` extension](https://github.com/rust-lang-nursery/rls-vscode) based on RLS, which uses Racer for completion.\n\n### Atom integration\n\nYou can find the racer package for Atom [here](https://atom.io/packages/autocomplete-racer)\n\n### Kakoune integration\n\n[Kakoune](https://github.com/mawww/kakoune) comes with a builtin integration for racer auto completion.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fracer-rust%2Fracer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fracer-rust%2Fracer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fracer-rust%2Fracer/lists"}