Skip to content

Commit

Permalink
fix(#854): mark inside of rgb calls as unlintable
Browse files Browse the repository at this point in the history
  • Loading branch information
grantlemons committed Mar 8, 2025
1 parent 6310cea commit 49e7ddf
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 4 deletions.
18 changes: 14 additions & 4 deletions harper-typst/src/typst_translator.rs
Original file line number Diff line number Diff line change
Expand Up @@ -326,10 +326,20 @@ impl<'a> TypstTranslator<'a> {
parse_params(&mut closure.params().children()),
recurse!(closure.body())
],
Expr::FuncCall(func) => merge![
token!(func.callee(), TokenKind::Unlintable),
parse_args(&mut func.args().items())
],
Expr::FuncCall(func) => {
let func_ident = self
.doc
.get(self.doc.range(func.callee().span()).unwrap())
.unwrap();
merge![
token!(func.callee(), TokenKind::Unlintable),
match func_ident {
"rgb" => token!(func.args(), TokenKind::Unlintable),
"color.rgb" => token!(func.args(), TokenKind::Unlintable),
_ => parse_args(&mut func.args().items()),
}
]
}
a => token!(a, TokenKind::Unlintable),
}
}
Expand Down
14 changes: 14 additions & 0 deletions harper-typst/tests/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -334,3 +334,17 @@ fn parbreaks_in_list() {
]
))
}

#[test]
fn do_not_lint_rgb() {
let source = r#"#color.rgb("ffffff")"#;

let document = Document::new_curated(source, &Typst);
let token_kinds = document.tokens().map(|t| t.kind).collect_vec();
dbg!(&token_kinds);

assert!(matches!(
&token_kinds.as_slice(),
&[TokenKind::Unlintable, TokenKind::Unlintable]
))
}

0 comments on commit 49e7ddf

Please sign in to comment.