emmylua_parser/parser_error/
mod.rs1use rowan::TextRange;
2
3use crate::text::SourceRange;
4
5#[derive(Debug, Clone, PartialEq, Eq, Hash)]
6pub enum LuaParseErrorKind {
7 SyntaxError,
8 DocError,
9}
10
11#[derive(Debug, Clone, PartialEq)]
12pub struct LuaParseError {
13 pub kind: LuaParseErrorKind,
14 pub message: String,
15 pub range: TextRange,
16}
17
18impl LuaParseError {
19 pub fn new(kind: LuaParseErrorKind, message: &str, range: TextRange) -> Self {
20 LuaParseError {
21 kind,
22 message: message.to_string(),
23 range,
24 }
25 }
26
27 pub fn syntax_error_from(message: &str, range: SourceRange) -> Self {
28 LuaParseError {
29 kind: LuaParseErrorKind::SyntaxError,
30 message: message.to_string(),
31 range: range.into(),
32 }
33 }
34
35 pub fn doc_error_from(message: &str, range: SourceRange) -> Self {
36 LuaParseError {
37 kind: LuaParseErrorKind::DocError,
38 message: message.to_string(),
39 range: range.into(),
40 }
41 }
42}