From 171c176833c197bfd1b266940bd2a8c3d4d52cd5 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Mon, 15 Oct 2018 19:55:32 +0300 Subject: Run cargo fix --- crates/ra_syntax/src/algo/mod.rs | 2 +- crates/ra_syntax/src/algo/visit.rs | 2 +- crates/ra_syntax/src/algo/walk.rs | 2 +- crates/ra_syntax/src/ast/generated.rs | 2 +- crates/ra_syntax/src/ast/mod.rs | 2 +- crates/ra_syntax/src/grammar/mod.rs | 2 +- crates/ra_syntax/src/lexer/comments.rs | 4 ++-- crates/ra_syntax/src/lexer/mod.rs | 2 +- crates/ra_syntax/src/lexer/numbers.rs | 6 +++--- crates/ra_syntax/src/lexer/ptr.rs | 2 +- crates/ra_syntax/src/lexer/strings.rs | 4 ++-- crates/ra_syntax/src/lib.rs | 4 ++-- crates/ra_syntax/src/parser_api.rs | 2 +- crates/ra_syntax/src/parser_impl/event.rs | 2 +- crates/ra_syntax/src/parser_impl/input.rs | 2 +- crates/ra_syntax/src/parser_impl/mod.rs | 4 ++-- crates/ra_syntax/src/reparsing.rs | 16 ++++++++-------- crates/ra_syntax/src/syntax_kinds/mod.rs | 2 +- crates/ra_syntax/src/text_utils.rs | 2 +- crates/ra_syntax/src/token_set.rs | 4 ++-- crates/ra_syntax/src/utils.rs | 2 +- crates/ra_syntax/src/yellow/builder.rs | 2 +- crates/ra_syntax/src/yellow/mod.rs | 14 +++++++------- crates/ra_syntax/src/yellow/syntax_text.rs | 2 +- 24 files changed, 44 insertions(+), 44 deletions(-) (limited to 'crates/ra_syntax') diff --git a/crates/ra_syntax/src/algo/mod.rs b/crates/ra_syntax/src/algo/mod.rs index a6678093d..e686a5704 100644 --- a/crates/ra_syntax/src/algo/mod.rs +++ b/crates/ra_syntax/src/algo/mod.rs @@ -1,7 +1,7 @@ pub mod walk; pub mod visit; -use { +use crate::{ SyntaxNodeRef, TextUnit, TextRange, text_utils::{contains_offset_nonstrict, is_subrange}, }; diff --git a/crates/ra_syntax/src/algo/visit.rs b/crates/ra_syntax/src/algo/visit.rs index 9f1c127c7..1ae988a87 100644 --- a/crates/ra_syntax/src/algo/visit.rs +++ b/crates/ra_syntax/src/algo/visit.rs @@ -1,5 +1,5 @@ use std::marker::PhantomData; -use {SyntaxNodeRef, AstNode}; +use crate::{SyntaxNodeRef, AstNode}; pub fn visitor<'a, T>() -> impl Visitor<'a, Output=T> { diff --git a/crates/ra_syntax/src/algo/walk.rs b/crates/ra_syntax/src/algo/walk.rs index 8e294d965..d34415626 100644 --- a/crates/ra_syntax/src/algo/walk.rs +++ b/crates/ra_syntax/src/algo/walk.rs @@ -1,4 +1,4 @@ -use { +use crate::{ SyntaxNodeRef, algo::generate, }; diff --git a/crates/ra_syntax/src/ast/generated.rs b/crates/ra_syntax/src/ast/generated.rs index 4db1bcbf9..160d186b8 100644 --- a/crates/ra_syntax/src/ast/generated.rs +++ b/crates/ra_syntax/src/ast/generated.rs @@ -1,7 +1,7 @@ // This file is automatically generated based on the file `./generated.rs.tera` when `cargo gen-kinds` is run // Do not edit manually -use { +use crate::{ ast, SyntaxNodeRef, AstNode, SyntaxKind::*, diff --git a/crates/ra_syntax/src/ast/mod.rs b/crates/ra_syntax/src/ast/mod.rs index 12ddc0210..88193a1ed 100644 --- a/crates/ra_syntax/src/ast/mod.rs +++ b/crates/ra_syntax/src/ast/mod.rs @@ -4,7 +4,7 @@ use std::marker::PhantomData; use itertools::Itertools; -use { +use crate::{ SmolStr, SyntaxNodeRef, SyntaxKind::*, yellow::{RefRoot, SyntaxNodeChildren}, }; diff --git a/crates/ra_syntax/src/grammar/mod.rs b/crates/ra_syntax/src/grammar/mod.rs index 2cb11dc1e..1199ba230 100644 --- a/crates/ra_syntax/src/grammar/mod.rs +++ b/crates/ra_syntax/src/grammar/mod.rs @@ -31,7 +31,7 @@ mod type_args; mod type_params; mod types; -use { +use crate::{ token_set::TokenSet, parser_api::{Marker, CompletedMarker, Parser}, SyntaxKind::{self, *}, diff --git a/crates/ra_syntax/src/lexer/comments.rs b/crates/ra_syntax/src/lexer/comments.rs index eb417c2dc..afe6886a1 100644 --- a/crates/ra_syntax/src/lexer/comments.rs +++ b/crates/ra_syntax/src/lexer/comments.rs @@ -1,6 +1,6 @@ -use lexer::ptr::Ptr; +use crate::lexer::ptr::Ptr; -use SyntaxKind::{self, *}; +use crate::SyntaxKind::{self, *}; pub(crate) fn scan_shebang(ptr: &mut Ptr) -> bool { if ptr.at_str("!/") { diff --git a/crates/ra_syntax/src/lexer/mod.rs b/crates/ra_syntax/src/lexer/mod.rs index 3e11db88b..9dc0b63d6 100644 --- a/crates/ra_syntax/src/lexer/mod.rs +++ b/crates/ra_syntax/src/lexer/mod.rs @@ -4,7 +4,7 @@ mod numbers; mod ptr; mod strings; -use { +use crate::{ SyntaxKind::{self, *}, TextUnit, }; diff --git a/crates/ra_syntax/src/lexer/numbers.rs b/crates/ra_syntax/src/lexer/numbers.rs index 22e7d4e99..46daf5e52 100644 --- a/crates/ra_syntax/src/lexer/numbers.rs +++ b/crates/ra_syntax/src/lexer/numbers.rs @@ -1,7 +1,7 @@ -use lexer::classes::*; -use lexer::ptr::Ptr; +use crate::lexer::classes::*; +use crate::lexer::ptr::Ptr; -use SyntaxKind::{self, *}; +use crate::SyntaxKind::{self, *}; pub(crate) fn scan_number(c: char, ptr: &mut Ptr) -> SyntaxKind { if c == '0' { diff --git a/crates/ra_syntax/src/lexer/ptr.rs b/crates/ra_syntax/src/lexer/ptr.rs index c9a5354ea..c4708cb1c 100644 --- a/crates/ra_syntax/src/lexer/ptr.rs +++ b/crates/ra_syntax/src/lexer/ptr.rs @@ -1,4 +1,4 @@ -use TextUnit; +use crate::TextUnit; use std::str::Chars; diff --git a/crates/ra_syntax/src/lexer/strings.rs b/crates/ra_syntax/src/lexer/strings.rs index 5ff483d14..bceacdcac 100644 --- a/crates/ra_syntax/src/lexer/strings.rs +++ b/crates/ra_syntax/src/lexer/strings.rs @@ -1,6 +1,6 @@ -use SyntaxKind::{self, *}; +use crate::SyntaxKind::{self, *}; -use lexer::ptr::Ptr; +use crate::lexer::ptr::Ptr; pub(crate) fn is_string_literal_start(c: char, c1: Option, c2: Option) -> bool { match (c, c1, c2) { diff --git a/crates/ra_syntax/src/lib.rs b/crates/ra_syntax/src/lib.rs index 703469629..5bb54aba1 100644 --- a/crates/ra_syntax/src/lib.rs +++ b/crates/ra_syntax/src/lib.rs @@ -46,7 +46,7 @@ mod yellow; pub mod utils; pub mod text_utils; -pub use { +pub use crate::{ rowan::{SmolStr, TextRange, TextUnit}, ast::AstNode, lexer::{tokenize, Token}, @@ -55,7 +55,7 @@ pub use { reparsing::AtomEdit, }; -use { +use crate::{ yellow::{GreenNode}, }; diff --git a/crates/ra_syntax/src/parser_api.rs b/crates/ra_syntax/src/parser_api.rs index 772d753af..cc23bb75e 100644 --- a/crates/ra_syntax/src/parser_api.rs +++ b/crates/ra_syntax/src/parser_api.rs @@ -1,4 +1,4 @@ -use { +use crate::{ token_set::TokenSet, parser_impl::ParserImpl, SyntaxKind::{self, ERROR}, diff --git a/crates/ra_syntax/src/parser_impl/event.rs b/crates/ra_syntax/src/parser_impl/event.rs index 95e5ce4cc..928d2cc7a 100644 --- a/crates/ra_syntax/src/parser_impl/event.rs +++ b/crates/ra_syntax/src/parser_impl/event.rs @@ -8,7 +8,7 @@ //! `start node`, `finish node`, and `FileBuilder` converts //! this stream to a real tree. use std::mem; -use { +use crate::{ TextUnit, TextRange, SmolStr, lexer::Token, parser_impl::Sink, diff --git a/crates/ra_syntax/src/parser_impl/input.rs b/crates/ra_syntax/src/parser_impl/input.rs index c0fe4d488..ac6d900d8 100644 --- a/crates/ra_syntax/src/parser_impl/input.rs +++ b/crates/ra_syntax/src/parser_impl/input.rs @@ -1,4 +1,4 @@ -use {lexer::Token, SyntaxKind, SyntaxKind::EOF, TextRange, TextUnit}; +use crate::{lexer::Token, SyntaxKind, SyntaxKind::EOF, TextRange, TextUnit}; use std::ops::{Add, AddAssign}; diff --git a/crates/ra_syntax/src/parser_impl/mod.rs b/crates/ra_syntax/src/parser_impl/mod.rs index 8d74cef0e..c2a6448e7 100644 --- a/crates/ra_syntax/src/parser_impl/mod.rs +++ b/crates/ra_syntax/src/parser_impl/mod.rs @@ -3,7 +3,7 @@ mod input; use std::cell::Cell; -use { +use crate::{ TextUnit, SmolStr, lexer::Token, parser_api::Parser, @@ -13,7 +13,7 @@ use { }, }; -use SyntaxKind::{self, EOF, TOMBSTONE}; +use crate::SyntaxKind::{self, EOF, TOMBSTONE}; pub(crate) trait Sink { type Tree; diff --git a/crates/ra_syntax/src/reparsing.rs b/crates/ra_syntax/src/reparsing.rs index d8b6a6a10..16272fe88 100644 --- a/crates/ra_syntax/src/reparsing.rs +++ b/crates/ra_syntax/src/reparsing.rs @@ -1,14 +1,14 @@ -use algo; -use grammar; -use lexer::{tokenize, Token}; -use yellow::{self, GreenNode, SyntaxNodeRef, SyntaxError}; -use parser_impl; -use parser_api::Parser; -use { +use crate::algo; +use crate::grammar; +use crate::lexer::{tokenize, Token}; +use crate::yellow::{self, GreenNode, SyntaxNodeRef, SyntaxError}; +use crate::parser_impl; +use crate::parser_api::Parser; +use crate::{ TextUnit, TextRange, SyntaxKind::*, }; -use text_utils::replace_range; +use crate::text_utils::replace_range; #[derive(Debug, Clone)] pub struct AtomEdit { diff --git a/crates/ra_syntax/src/syntax_kinds/mod.rs b/crates/ra_syntax/src/syntax_kinds/mod.rs index 332cd13ac..3041e5633 100644 --- a/crates/ra_syntax/src/syntax_kinds/mod.rs +++ b/crates/ra_syntax/src/syntax_kinds/mod.rs @@ -1,7 +1,7 @@ mod generated; use std::fmt; -use SyntaxKind::*; +use crate::SyntaxKind::*; pub use self::generated::SyntaxKind; diff --git a/crates/ra_syntax/src/text_utils.rs b/crates/ra_syntax/src/text_utils.rs index 58ae1e43e..adf26ef30 100644 --- a/crates/ra_syntax/src/text_utils.rs +++ b/crates/ra_syntax/src/text_utils.rs @@ -1,4 +1,4 @@ -use {TextRange, TextUnit}; +use crate::{TextRange, TextUnit}; pub fn contains_offset_nonstrict(range: TextRange, offset: TextUnit) -> bool { range.start() <= offset && offset <= range.end() diff --git a/crates/ra_syntax/src/token_set.rs b/crates/ra_syntax/src/token_set.rs index c83fba81b..d407dfa48 100644 --- a/crates/ra_syntax/src/token_set.rs +++ b/crates/ra_syntax/src/token_set.rs @@ -1,4 +1,4 @@ -use SyntaxKind; +use crate::SyntaxKind; #[derive(Clone, Copy)] pub(crate) struct TokenSet(pub(crate) u128); @@ -29,7 +29,7 @@ macro_rules! token_set_union { #[test] fn token_set_works_for_tokens() { - use SyntaxKind::*; + use crate::SyntaxKind::*; let ts = token_set! { EOF, SHEBANG }; assert!(ts.contains(EOF)); assert!(ts.contains(SHEBANG)); diff --git a/crates/ra_syntax/src/utils.rs b/crates/ra_syntax/src/utils.rs index e274f7471..df1f4b372 100644 --- a/crates/ra_syntax/src/utils.rs +++ b/crates/ra_syntax/src/utils.rs @@ -1,5 +1,5 @@ use std::fmt::Write; -use { +use crate::{ algo::walk::{walk, WalkEvent}, SyntaxKind, File, SyntaxNodeRef }; diff --git a/crates/ra_syntax/src/yellow/builder.rs b/crates/ra_syntax/src/yellow/builder.rs index c307b2bd0..67a1a382b 100644 --- a/crates/ra_syntax/src/yellow/builder.rs +++ b/crates/ra_syntax/src/yellow/builder.rs @@ -1,5 +1,5 @@ use rowan::GreenNodeBuilder; -use { +use crate::{ TextUnit, SmolStr, parser_impl::Sink, yellow::{GreenNode, SyntaxError, RaTypes}, diff --git a/crates/ra_syntax/src/yellow/mod.rs b/crates/ra_syntax/src/yellow/mod.rs index 710320f47..ab9bca0f0 100644 --- a/crates/ra_syntax/src/yellow/mod.rs +++ b/crates/ra_syntax/src/yellow/mod.rs @@ -6,7 +6,7 @@ use std::{ hash::{Hash, Hasher}, }; use rowan::Types; -use {SyntaxKind, TextUnit, TextRange, SmolStr}; +use crate::{SyntaxKind, TextUnit, TextRange, SmolStr}; use self::syntax_text::SyntaxText; pub use rowan::{TreeRoot}; @@ -70,16 +70,16 @@ impl<'a> SyntaxNodeRef<'a> { self.0.leaf_text() } pub fn ancestors(self) -> impl Iterator> { - ::algo::generate(Some(self), |&node| node.parent()) + crate::algo::generate(Some(self), |&node| node.parent()) } pub fn descendants(self) -> impl Iterator> { - ::algo::walk::walk(self).filter_map(|event| match event { - ::algo::walk::WalkEvent::Enter(node) => Some(node), - ::algo::walk::WalkEvent::Exit(_) => None, + crate::algo::walk::walk(self).filter_map(|event| match event { + crate::algo::walk::WalkEvent::Enter(node) => Some(node), + crate::algo::walk::WalkEvent::Exit(_) => None, }) } pub fn siblings(self, direction: Direction) -> impl Iterator> { - ::algo::generate(Some(self), move |&node| match direction { + crate::algo::generate(Some(self), move |&node| match direction { Direction::Next => node.next_sibling(), Direction::Prev => node.prev_sibling(), }) @@ -156,7 +156,7 @@ impl> Iterator for SyntaxNodeChildren { fn has_short_text(kind: SyntaxKind) -> bool { - use SyntaxKind::*; + use crate::SyntaxKind::*; match kind { IDENT | LIFETIME | INT_NUMBER | FLOAT_NUMBER => true, _ => false, diff --git a/crates/ra_syntax/src/yellow/syntax_text.rs b/crates/ra_syntax/src/yellow/syntax_text.rs index 0db1049de..ae33b993d 100644 --- a/crates/ra_syntax/src/yellow/syntax_text.rs +++ b/crates/ra_syntax/src/yellow/syntax_text.rs @@ -2,7 +2,7 @@ use std::{ fmt, ops, }; -use { +use crate::{ SyntaxNodeRef, TextRange, TextUnit, text_utils::{intersect, contains_offset_nonstrict}, }; -- cgit v1.2.3 From 94349206483ad78de71e1546d74a355bbdf764c4 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Mon, 15 Oct 2018 20:00:54 +0300 Subject: switch base crates to 2018 --- crates/ra_syntax/Cargo.toml | 1 + 1 file changed, 1 insertion(+) (limited to 'crates/ra_syntax') diff --git a/crates/ra_syntax/Cargo.toml b/crates/ra_syntax/Cargo.toml index 6345e4725..34bb1c591 100644 --- a/crates/ra_syntax/Cargo.toml +++ b/crates/ra_syntax/Cargo.toml @@ -1,4 +1,5 @@ [package] +edition = "2018" name = "ra_syntax" version = "0.1.0" authors = ["Aleksey Kladov "] -- cgit v1.2.3 From 376639c70f94f1f26c7fbd86a9b5adebfa400f44 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Mon, 15 Oct 2018 20:52:56 +0300 Subject: Parse crate paths in expressions --- crates/ra_syntax/src/grammar/expressions/atom.rs | 2 +- .../data/parser/ok/0035_crate_path_in_call.rs | 3 ++ .../data/parser/ok/0035_crate_path_in_call.txt | 41 ++++++++++++++++++++++ 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 crates/ra_syntax/tests/data/parser/ok/0035_crate_path_in_call.rs create mode 100644 crates/ra_syntax/tests/data/parser/ok/0035_crate_path_in_call.txt (limited to 'crates/ra_syntax') diff --git a/crates/ra_syntax/src/grammar/expressions/atom.rs b/crates/ra_syntax/src/grammar/expressions/atom.rs index a720d255f..e21de68c5 100644 --- a/crates/ra_syntax/src/grammar/expressions/atom.rs +++ b/crates/ra_syntax/src/grammar/expressions/atom.rs @@ -30,7 +30,7 @@ pub(super) const ATOM_EXPR_FIRST: TokenSet = token_set_union![ LITERAL_FIRST, token_set![L_CURLY, L_PAREN, L_BRACK, PIPE, MOVE_KW, IF_KW, WHILE_KW, MATCH_KW, UNSAFE_KW, - RETURN_KW, IDENT, SELF_KW, SUPER_KW, COLONCOLON, BREAK_KW, CONTINUE_KW, LIFETIME ], + RETURN_KW, IDENT, SELF_KW, SUPER_KW, CRATE_KW, COLONCOLON, BREAK_KW, CONTINUE_KW, LIFETIME ], ]; const EXPR_RECOVERY_SET: TokenSet = diff --git a/crates/ra_syntax/tests/data/parser/ok/0035_crate_path_in_call.rs b/crates/ra_syntax/tests/data/parser/ok/0035_crate_path_in_call.rs new file mode 100644 index 000000000..f1ed30220 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/ok/0035_crate_path_in_call.rs @@ -0,0 +1,3 @@ +fn main() { + make_query(crate::module_map::module_tree); +} diff --git a/crates/ra_syntax/tests/data/parser/ok/0035_crate_path_in_call.txt b/crates/ra_syntax/tests/data/parser/ok/0035_crate_path_in_call.txt new file mode 100644 index 000000000..364315180 --- /dev/null +++ b/crates/ra_syntax/tests/data/parser/ok/0035_crate_path_in_call.txt @@ -0,0 +1,41 @@ +ROOT@[0; 62) + FN_DEF@[0; 61) + FN_KW@[0; 2) + WHITESPACE@[2; 3) + NAME@[3; 7) + IDENT@[3; 7) "main" + PARAM_LIST@[7; 9) + L_PAREN@[7; 8) + R_PAREN@[8; 9) + WHITESPACE@[9; 10) + BLOCK@[10; 61) + L_CURLY@[10; 11) + WHITESPACE@[11; 16) + EXPR_STMT@[16; 59) + CALL_EXPR@[16; 58) + PATH_EXPR@[16; 26) + PATH@[16; 26) + PATH_SEGMENT@[16; 26) + NAME_REF@[16; 26) + IDENT@[16; 26) "make_query" + ARG_LIST@[26; 58) + L_PAREN@[26; 27) + PATH_EXPR@[27; 57) + PATH@[27; 57) + PATH@[27; 44) + PATH@[27; 32) + PATH_SEGMENT@[27; 32) + CRATE_KW@[27; 32) + COLONCOLON@[32; 34) + PATH_SEGMENT@[34; 44) + NAME_REF@[34; 44) + IDENT@[34; 44) "module_map" + COLONCOLON@[44; 46) + PATH_SEGMENT@[46; 57) + NAME_REF@[46; 57) + IDENT@[46; 57) "module_tree" + R_PAREN@[57; 58) + SEMI@[58; 59) + WHITESPACE@[59; 60) + R_CURLY@[60; 61) + WHITESPACE@[61; 62) -- cgit v1.2.3 From 9a98d8e99acf8acd40b2153847a37551d2a8d0f4 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Mon, 15 Oct 2018 20:53:15 +0300 Subject: regenerate --- crates/ra_syntax/src/ast/generated.rs.tera | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'crates/ra_syntax') diff --git a/crates/ra_syntax/src/ast/generated.rs.tera b/crates/ra_syntax/src/ast/generated.rs.tera index ffa9c4134..5cb7a35ed 100644 --- a/crates/ra_syntax/src/ast/generated.rs.tera +++ b/crates/ra_syntax/src/ast/generated.rs.tera @@ -3,7 +3,7 @@ the below applies to the result of this template #}// This file is automatically generated based on the file `./generated.rs.tera` when `cargo gen-kinds` is run // Do not edit manually -use { +use crate::{ ast, SyntaxNodeRef, AstNode, SyntaxKind::*, -- cgit v1.2.3