mirror of
https://github.com/roc-lang/roc.git
synced 2025-10-01 07:41:12 +00:00
Always combine line,column into Position
This commit is contained in:
parent
f19220473a
commit
4d7070ce3b
22 changed files with 1181 additions and 1293 deletions
|
@ -19,12 +19,12 @@ fn ascii_hex_digits<'a>() -> impl Parser<'a, &'a str, EString<'a>> {
|
|||
// We didn't find any hex digits!
|
||||
return Err((
|
||||
NoProgress,
|
||||
EString::CodePtEnd(state.line, state.column),
|
||||
EString::CodePtEnd(state.pos),
|
||||
state,
|
||||
));
|
||||
} else {
|
||||
let state = state.advance_without_indenting_ee(buf.len(), |r, c| {
|
||||
EString::Space(BadInputError::LineTooLong, r, c)
|
||||
let state = state.advance_without_indenting_ee(buf.len(), |pos| {
|
||||
EString::Space(BadInputError::LineTooLong, pos)
|
||||
})?;
|
||||
|
||||
return Ok((MadeProgress, buf.into_bump_str(), state));
|
||||
|
@ -33,7 +33,7 @@ fn ascii_hex_digits<'a>() -> impl Parser<'a, &'a str, EString<'a>> {
|
|||
|
||||
Err((
|
||||
NoProgress,
|
||||
EString::CodePtEnd(state.line, state.column),
|
||||
EString::CodePtEnd(state.pos),
|
||||
state,
|
||||
))
|
||||
}
|
||||
|
@ -41,8 +41,8 @@ fn ascii_hex_digits<'a>() -> impl Parser<'a, &'a str, EString<'a>> {
|
|||
|
||||
macro_rules! advance_state {
|
||||
($state:expr, $n:expr) => {
|
||||
$state.advance_without_indenting_ee($n, |r, c| {
|
||||
EString::Space(BadInputError::LineTooLong, r, c)
|
||||
$state.advance_without_indenting_ee($n, |pos| {
|
||||
EString::Space(BadInputError::LineTooLong, pos)
|
||||
})
|
||||
};
|
||||
}
|
||||
|
@ -65,7 +65,7 @@ pub fn parse<'a>() -> impl Parser<'a, StrLiteral<'a>, EString<'a>> {
|
|||
bytes = state.bytes()[1..].iter();
|
||||
state = advance_state!(state, 1)?;
|
||||
} else {
|
||||
return Err((NoProgress, EString::Open(state.line, state.column), state));
|
||||
return Err((NoProgress, EString::Open(state.pos), state));
|
||||
}
|
||||
|
||||
// At the parsing stage we keep the entire raw string, because the formatter
|
||||
|
@ -109,7 +109,7 @@ pub fn parse<'a>() -> impl Parser<'a, StrLiteral<'a>, EString<'a>> {
|
|||
Err(_) => {
|
||||
return Err((
|
||||
MadeProgress,
|
||||
EString::Space(BadInputError::BadUtf8, state.line, state.column),
|
||||
EString::Space(BadInputError::BadUtf8, state.pos),
|
||||
state,
|
||||
));
|
||||
}
|
||||
|
@ -203,7 +203,7 @@ pub fn parse<'a>() -> impl Parser<'a, StrLiteral<'a>, EString<'a>> {
|
|||
// error starting from where the open quote appeared.
|
||||
return Err((
|
||||
MadeProgress,
|
||||
EString::EndlessSingle(state.line, state.column),
|
||||
EString::EndlessSingle(state.pos),
|
||||
state,
|
||||
));
|
||||
}
|
||||
|
@ -296,7 +296,7 @@ pub fn parse<'a>() -> impl Parser<'a, StrLiteral<'a>, EString<'a>> {
|
|||
// escapable characters (\n, \t, \", \\, etc)
|
||||
return Err((
|
||||
MadeProgress,
|
||||
EString::UnknownEscape(state.line, state.column),
|
||||
EString::UnknownEscape(state.pos),
|
||||
state,
|
||||
));
|
||||
}
|
||||
|
@ -312,9 +312,9 @@ pub fn parse<'a>() -> impl Parser<'a, StrLiteral<'a>, EString<'a>> {
|
|||
Err((
|
||||
MadeProgress,
|
||||
if is_multiline {
|
||||
EString::EndlessMulti(state.line, state.column)
|
||||
EString::EndlessMulti(state.pos)
|
||||
} else {
|
||||
EString::EndlessSingle(state.line, state.column)
|
||||
EString::EndlessSingle(state.pos)
|
||||
},
|
||||
state,
|
||||
))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue