Skip to content
This repository was archived by the owner on Dec 29, 2022. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
229 changes: 128 additions & 101 deletions Cargo.lock

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ rls-vfs = "0.8"
rls-ipc = { version = "0.1.0", path = "rls-ipc", optional = true }

anyhow = "1.0.26"
cargo = { git = "https://github.com/rust-lang/cargo", rev = "1ef1e0a12723ce9548d7da2b63119de9002bead8" }
cargo-util = { git = "https://github.com/rust-lang/cargo", rev = "1ef1e0a12723ce9548d7da2b63119de9002bead8" }
cargo = { git = "https://github.com/rust-lang/cargo", rev = "3f052d8eed98c6a24f8b332fb2e6e6249d12d8c1" }
cargo-util = { git = "https://github.com/rust-lang/cargo", rev = "3f052d8eed98c6a24f8b332fb2e6e6249d12d8c1" }
cargo_metadata = "0.14"
clippy_lints = { git = "https://github.com/rust-lang/rust-clippy", version = "0.1.60", optional = true }
env_logger = "0.9"
Expand All @@ -43,11 +43,11 @@ lsp-types = { version = "0.60", features = ["proposed"] }
lazy_static = "1"
log = "0.4"
num_cpus = "1"
racer = { version = "2.2", default-features = false }
racer = { path = "racer" }
rand = "0.8"
rayon = "1"
rustc_tools_util = "0.2"
rustfmt-nightly = { git = "https://github.com/rust-lang/rustfmt", rev = "5056f4cfb311a084420f1828cd58af94d143f5e0" }
rustfmt-nightly = { git = "https://github.com/rust-lang/rustfmt", rev = "8a4c05865be17bac75b8d53eae5be18d749a0f5c" }
serde = "1.0"
serde_json = "1.0"
serde_derive = "1.0"
Expand All @@ -58,7 +58,7 @@ regex = "1"
ordslice = "0.3"
crossbeam-channel = "0.5"
toml = "0.5"
toml_edit = { version = "0.13.4", features = ["easy"] }
toml_edit = { version = "0.14.3", features = ["easy"] }
heck = "0.3"

# A noop dependency that changes in the Rust repository, it's a bit of a hack.
Expand Down
49 changes: 49 additions & 0 deletions racer/.github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: CI

on:
pull_request:
types: [opened, synchronize, reopened]
push:
branches:
- master
- '*'
schedule:
- cron: '0 0 * * *' # Nightly at 00:00 UTC

jobs:
build_and_test:
strategy:
fail-fast: false
matrix:
toolchain:
- x86_64-unknown-linux-gnu
- x86_64-apple-darwin
- x86_64-pc-windows-msvc
- i686-pc-windows-msvc
include:
- toolchain: x86_64-unknown-linux-gnu
builder: ubuntu-latest
os: linux
- toolchain: x86_64-apple-darwin
builder: macos-latest
os: macos
- toolchain: x86_64-pc-windows-msvc
builder: windows-latest
os: windows
- toolchain: i686-pc-windows-msvc
builder: windows-latest
os: windows

name: nightly - ${{ matrix.toolchain }}
runs-on: ${{ matrix.builder }}

steps:
- uses: actions/checkout@v2
- name: Use latest nightly on scheduled builds
if: github.event_name == 'schedule'
run: echo "nightly" > rust-toolchain
- run: rustup set default-host ${{ matrix.toolchain }}
- run: rustup component add rust-src
- run: rustc -vV
- run: cargo build --verbose --all
- run: cargo test --all
9 changes: 9 additions & 0 deletions racer/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
\#*
src/scopes
!.travis.yml
*tmpfile*
*.racertmp
target/
*.py[cod]
.vscode/**
*.log
Empty file added racer/.rustfmt.toml
Empty file.
235 changes: 235 additions & 0 deletions racer/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,235 @@
Change Log
==========

All notable changes to this project will be documented in this file. This
project adheres to [Semantic Versioning](https://semver.org/).

# 2.1.37
- Bump rustc-ap-* version to 677.0
- Account for new standard library source directory layout

# 2.1.37
- Bump rustc-ap-* version to 671.0

# 2.1.36
- Bump rustc-ap-* version to 669.0

# 2.1.35
- Bump rustc-ap-* version to 664.0

# 2.1.34
- Bump rustc-ap-* version to 659.0
- Fix submodule search (#1107)

# 2.1.33
- Bump rustc-ap-* version to 654.0

# 2.1.32
- Bump rustc-ap-* version to 651.0

# 2.1.31
- Bump rustc-ap-* version to 642.0

# 2.1.30
- Support for union(#1086)

# 2.1.29
- Support async/await syntax(#1083, #1085)

# 2.1.28
- Update the version of rustc-ap-syntax

# 2.1.27
- Update the version of rustc-ap-syntax

# 2.1.26
- Update the version of rustc-ap-syntax

# 2.1.25
- Update the version of rustc-ap-syntax

# 2.1.24
- Rust 2018 (#1051)
- Update the version of rustc-ap-syntax

# 2.1.22
- Fix completion for `super::super::...`(#1053)

# 2.1.20, 2.1.21
- Fix completion in testdir for Rust 2018(#1022)
- Fix enum variant completion for pub(crate) enum(#1025)

# 2.1.18, 2.1.19
- Update rustc-ap-syntax

# 2.1.17, 2.1.18
- Fix doc comment parsing(#1010)

# 2.1.15. 2.1.16
- Handle CRLF correctly(#1007)

# 2.1.14
- Completion for binary operation(#976)

# 2.1.10, 2.1.11, 2.1.12, 2.1.13
- Completion for impl trait(#985, #986)
- Completion for use as(#988)

# 2.1.8, 2.1.9
- Completion for trait objects(#972)
- Completion for simple closure return types(#973)

# 2.1.7
- Lots of refactoring(#961, #963, #965)
- Add `is_use_statement` for RLS(#965)

# 2.1.6
- Completion based on impl<T: Bound> #948
- Fix for argument completion #943
- Trait bound in where clause #937

# 2.1.5
- migrate to cargo metadata #930

# 2.1.3
- Make cargo optional for RLS #910

## 2.1.2
- Fix bug around getting `use` context #906
- Update rustc-ap-syntax to fix build in current nightly #911

## 2.1.1
- Fix coordinate bug
- Get doc string for macro #905

## 2.1.0
- Support completions for stdlib macros #902
- Support extern "~" block #895
- Support `crate_in_paths` #891
- Fix bug of getting completion context from `use` statement #886
- Handle const unsafe fn #879
- Limit recursion depth through glob imports #875
- Enable completion based on trait bound for function args #871
- Fix bug in search_closure_args #862
- Replace cargo.rs with cargo crate #855
- Migrate over to rustc_ap_syntax #854
- Make RUST_SRC_PATH optional #808
- Refactor based on clippy #860

## 2.0.14
- Cache generic impls #839
- Cache parsed TOML file and cargo crate roots #838
- Skip `pub` keyword as a temporary fix for #624 #850
- Remove complex generic type by impl trait #848
- Fix bug for array expression #841
- Support completion for enum variants without type annotation #825
- Fix bug for raw string #822

## 2.0.13
- Fix bug for finding the start of match statement #819

## 2.0.12
- Fix bug that broke completions in previous release #807

## 2.0.11

- Use `rustup` to find libstd path even when used as library #799

## 2.0.10

- Support resolving `use as` aliases declared in multi-element `use` statements #753
- Provide suggestions for global paths in more cases #765
- Suggestions imported via `use as` statements now return their in-scope alias as the match string #767
- Add new commands for converting between points and coordinates in files #776
- Return fewer duplicate suggestions #778
- Handle cases where mod names and trait methods collide, such as `fmt` #781

## 2.0.9

- Support completion after using try operator `?` #726
- Find methods on cooked string literals #728
- Fix bug caused by closure completions feature #734
- Find static methods on enums #737
- Find doc comments on named and indexed struct fields #739
- Find `pub(restricted)` items #748

## 2.0.8

- Fix bug finding definitions where impl contains bang #717
- Find definition for closures #697
- Resolve types for tuple struct fields #722
- Resolve types for let patterns #724
- Fix completions for reference fields #723

## 2.0.7

- Fix panic with macros called `impl*` #701
- Relax semver specs

## 2.0.6

- resolve Self (e.g. in-impl function calls like Self::myfunction())
- Fix stack overflow issue on unresolvable imports :tada: #698

## 2.0.5

- Chained completions on separate lines now work #686

## 2.0.4

- Fix for find-doc not always returning full doc string #675

## 2.0.3

- Fix for recursion in certain `use foo::{self, ..}` cases #669

## 2.0.2

- Internal fixes so we can publish on crates.io

## 2.0.1

- Syntex 0.52 #643

- Fix `racer --help` bug from 2.0 refactor #662

- Support short revision identifiers for git checkout paths #664

- Handle self resolution when using `use mymod::{self, Thing}` #665

- Fix type alias resolution #666

## 2.0

- Rework public API to hide many implementation details and allow the project to
move forward without breaking changes.

- Many fixes that didn't make it into the changelog, but we're going to work on
that in the future!

## 1.2

- Added basic 'daemon' mode, racer process can be kept running between
invocations

- now uses clap to parse command line options

- Adds caching of file source and code indices

- Adds an alternative 'tabbed' mode where inputs and outputs can be tab
separated for easier parsing

- emacs and vim support split out into their own git projects [emacs-racer] and
[vim-racer], respectively.

- Fix issue resolving some `std::*` modules in latest rust source: (rust std lib
implicitly imports core with `#![no_std]`)

- Searches multirust overrides when locating cargo src directories

## 1.0.0 2015-07-29

- First release

[vim-racer]: https://github.com/racer-rust/vim-racer
[emacs-racer]: https://github.com/racer-rust/emacs-racer
43 changes: 43 additions & 0 deletions racer/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
[package]
name = "racer"
version = "2.2.2"
license = "MIT"
description = "Code completion for Rust"
authors = ["Phil Dawes <phil@phildawes.net>", "The Racer developers"]
homepage = "https://github.com/racer-rust/racer"
repository = "https://github.com/racer-rust/racer"
edition = "2018"

[lib]
name = "racer"
path = "src/racer/lib.rs"

[profile.release]
debug = false # because of #1005

[dependencies]
bitflags = "1.0"
log = "0.4"
env_logger = "0.7.1"
clap = "2.32"
lazy_static = "1.2"
humantime = "2.0.0"
derive_more = "0.99.2"
rls-span = "0.5.1"
lazycell = { version = "1.2", optional = true }

[dependencies.racer-cargo-metadata]
version = "0.1"
optional = true
path = "metadata"

[features]
default = ["metadata"]
metadata = ["lazycell", "racer-cargo-metadata"]

[workspace]
members = ["interner", "metadata"]

[package.metadata.rust-analyzer]
# This package uses #[feature(rustc_private)]
rustc_private = true
Loading