Update how line number is shown in errors
This commit is contained in:
		
							parent
							
								
									c9909dc651
								
							
						
					
					
						commit
						9c2f47534a
					
				| @ -6,7 +6,7 @@ fn main() { | |||||||
| 
 | 
 | ||||||
|     test.push(String::from(" world: ")); |     test.push(String::from(" world: ")); | ||||||
| 
 | 
 | ||||||
|     test.push_num(175); |     test.push_num("hello"); | ||||||
|      |      | ||||||
|     print(test); |     print(test); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -194,32 +194,30 @@ impl std::fmt::Display for ReidError { | |||||||
|                 None |                 None | ||||||
|             }; |             }; | ||||||
| 
 | 
 | ||||||
|             if curr_module != Some(meta.source_module_id) { |             let module_name = if curr_module != Some(meta.source_module_id) { | ||||||
|                 curr_module = Some(meta.source_module_id); |                 curr_module = Some(meta.source_module_id); | ||||||
|                 if let Some(module) = self.map.module_map.get(&meta.source_module_id) { |                 if let Some(module) = self.map.module_map.get(&meta.source_module_id) { | ||||||
|                     writeln!( |                     module.name.clone() | ||||||
|                         f, |  | ||||||
|                         "Errors in module {}:", |  | ||||||
|                         color_err(format!("{}", module.name))? |  | ||||||
|                     )?; |  | ||||||
|                 } else { |                 } else { | ||||||
|                     writeln!(f, "Errors detected: {}", color_err("in general")?)?; |                     "unknown".to_owned() | ||||||
|                 } |                 } | ||||||
|             } |             } else { | ||||||
|  |                 "unknown".to_owned() | ||||||
|  |             }; | ||||||
|  | 
 | ||||||
|  |             writeln!(f, "Errors detected: {}", color_err(format!("{}", module_name))?)?; | ||||||
|  | 
 | ||||||
|             writeln!(f)?; |             writeln!(f)?; | ||||||
|             write!(f, "  Error: ")?; |             write!(f, "  Error: ")?; | ||||||
|             writeln!(f, "{}", color_err(format!("{}", error))?)?; |             writeln!(f, "{}", color_err(format!("{}", error))?)?; | ||||||
|             write!( |             write!( | ||||||
|                 f, |                 f, | ||||||
|                 "{:>20}{}", |                 "{:>20} {}:{}", | ||||||
|                 color_warn("At: ")?, |                 color_warn("At: ")?, | ||||||
|                 position |                 module_name, | ||||||
|                     .map(|p| fmt_positions(p)) |                 position.map(|p| fmt_positions(p)).unwrap_or(String::from("{unknown}")), | ||||||
|                     .unwrap_or(String::from("{unknown}")), |  | ||||||
|             )?; |             )?; | ||||||
|             if let (Some(position), Some(source)) = |             if let (Some(position), Some(source)) = (position, &module.and_then(|m| m.source.clone())) { | ||||||
|                 (position, &module.and_then(|m| m.source.clone())) |  | ||||||
|             { |  | ||||||
|                 writeln!(f, "{}", fmt_lines(source, position, 6)?)?; |                 writeln!(f, "{}", fmt_lines(source, position, 6)?)?; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| @ -286,9 +284,9 @@ fn fmt_lines( | |||||||
| 
 | 
 | ||||||
| fn fmt_positions((start, end): (Position, Position)) -> String { | fn fmt_positions((start, end): (Position, Position)) -> String { | ||||||
|     if start == end { |     if start == end { | ||||||
|         format!("ln {}, col {}", start.1, start.0) |         format!("{}:{}", start.1, start.0) | ||||||
|     } else if start.1 == end.1 { |     } else if start.1 == end.1 { | ||||||
|         format!("ln {}, col {}-{}", start.1, start.0, end.0) |         format!("{}:{} - {}", start.1, start.0, end.0) | ||||||
|     } else { |     } else { | ||||||
|         format!("{}:{} - {}:{}", start.1, start.0, end.1, end.0) |         format!("{}:{} - {}:{}", start.1, start.0, end.1, end.0) | ||||||
|     } |     } | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user