aboutsummaryrefslogtreecommitdiff
path: root/crates
diff options
context:
space:
mode:
Diffstat (limited to 'crates')
-rw-r--r--crates/ra_syntax/src/syntax_error.rs35
1 files changed, 23 insertions, 12 deletions
diff --git a/crates/ra_syntax/src/syntax_error.rs b/crates/ra_syntax/src/syntax_error.rs
index 45e11f404..7f9d36618 100644
--- a/crates/ra_syntax/src/syntax_error.rs
+++ b/crates/ra_syntax/src/syntax_error.rs
@@ -71,6 +71,10 @@ impl SyntaxError {
71 71
72 self 72 self
73 } 73 }
74
75 pub fn debug_dump(&self, acc: &mut impl fmt::Write) {
76 writeln!(acc, "error {:?}: {}", self.location(), self.kind()).unwrap();
77 }
74} 78}
75 79
76impl fmt::Display for SyntaxError { 80impl fmt::Display for SyntaxError {
@@ -122,37 +126,44 @@ impl fmt::Display for SyntaxErrorKind {
122 126
123impl fmt::Display for TokenizeError { 127impl fmt::Display for TokenizeError {
124 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { 128 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
129 #[rustfmt::skip]
125 let msg = match self { 130 let msg = match self {
126 TokenizeError::EmptyInt => "Missing digits after integer base prefix", 131 TokenizeError::EmptyInt => {
127 TokenizeError::EmptyExponent => "Missing digits after the exponent symbol", 132 "Missing digits after the integer base prefix"
133 }
134 TokenizeError::EmptyExponent => {
135 "Missing digits after the exponent symbol"
136 }
128 TokenizeError::UnterminatedBlockComment => { 137 TokenizeError::UnterminatedBlockComment => {
129 "Missing trailing */ symbols to terminate the block comment" 138 "Missing trailing `*/` symbols to terminate the block comment"
130 } 139 }
131 TokenizeError::UnterminatedChar => { 140 TokenizeError::UnterminatedChar => {
132 "Missing trailing ' symbol to terminate the character literal" 141 "Missing trailing `'` symbol to terminate the character literal"
133 } 142 }
134 TokenizeError::UnterminatedByte => { 143 TokenizeError::UnterminatedByte => {
135 "Missing trailing ' symbol to terminate the byte literal" 144 "Missing trailing `'` symbol to terminate the byte literal"
136 } 145 }
137 TokenizeError::UnterminatedString => { 146 TokenizeError::UnterminatedString => {
138 "Missing trailing \" symbol to terminate the string literal" 147 "Missing trailing `\"` symbol to terminate the string literal"
139 } 148 }
140 TokenizeError::UnterminatedByteString => { 149 TokenizeError::UnterminatedByteString => {
141 "Missing trailing \" symbol to terminate the byte string literal" 150 "Missing trailing `\"` symbol to terminate the byte string literal"
142 } 151 }
143 TokenizeError::UnterminatedRawString => { 152 TokenizeError::UnterminatedRawString => {
144 "Missing trailing \" with # symbols to terminate the raw string literal" 153 "Missing trailing `\"` with `#` symbols to terminate the raw string literal"
145 } 154 }
146 TokenizeError::UnterminatedRawByteString => { 155 TokenizeError::UnterminatedRawByteString => {
147 "Missing trailing \" with # symbols to terminate the raw byte string literal" 156 "Missing trailing `\"` with `#` symbols to terminate the raw byte string literal"
148 } 157 }
149 TokenizeError::UnstartedRawString => { 158 TokenizeError::UnstartedRawString => {
150 "Missing \" symbol after # symbols to begin the raw string literal" 159 "Missing `\"` symbol after `#` symbols to begin the raw string literal"
151 } 160 }
152 TokenizeError::UnstartedRawByteString => { 161 TokenizeError::UnstartedRawByteString => {
153 "Missing \" symbol after # symbols to begin the raw byte string literal" 162 "Missing `\"` symbol after `#` symbols to begin the raw byte string literal"
163 }
164 TokenizeError::LifetimeStartsWithNumber => {
165 "Lifetime name cannot start with a number"
154 } 166 }
155 TokenizeError::LifetimeStartsWithNumber => "Lifetime name cannot start with a number",
156 }; 167 };
157 write!(f, "{}", msg) 168 write!(f, "{}", msg)
158 } 169 }