From ad24976da38482948c586bdbc16004273662ff7e Mon Sep 17 00:00:00 2001 From: Veetaha Date: Fri, 24 Jan 2020 03:39:23 +0200 Subject: ra_syntax: changed added diagnostics information returned from tokenize() (implemented with iterators) --- crates/ra_syntax/src/syntax_error.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'crates/ra_syntax/src/syntax_error.rs') diff --git a/crates/ra_syntax/src/syntax_error.rs b/crates/ra_syntax/src/syntax_error.rs index 6c171df8d..9122dda29 100644 --- a/crates/ra_syntax/src/syntax_error.rs +++ b/crates/ra_syntax/src/syntax_error.rs @@ -4,7 +4,7 @@ use std::fmt; use ra_parser::ParseError; -use crate::{validation::EscapeError, TextRange, TextUnit}; +use crate::{validation::EscapeError, TextRange, TextUnit, TokenizeError}; #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct SyntaxError { @@ -12,6 +12,10 @@ pub struct SyntaxError { location: Location, } +// FIXME: Location should be just `Location(TextRange)` +// TextUnit enum member just unnecessarily compicates things, +// we should'n treat it specially, it just as a `TextRange { start: x, end: x + 1 }` +// see `location_to_range()` in ra_ide/src/diagnostics #[derive(Clone, PartialEq, Eq, Hash)] pub enum Location { Offset(TextUnit), @@ -79,6 +83,7 @@ impl fmt::Display for SyntaxError { pub enum SyntaxErrorKind { ParseError(ParseError), EscapeError(EscapeError), + TokenizeError(TokenizeError), InvalidBlockAttr, InvalidMatchInnerAttr, InvalidTupleIndexFormat, -- cgit v1.2.3