Skip to content

Commit de2dbec

Browse files
inline lex_template call to avoid salsa overhead (#257)
1 parent 79c6bb8 commit de2dbec

File tree

1 file changed

+2
-13
lines changed
  • crates/djls-templates/src

1 file changed

+2
-13
lines changed

crates/djls-templates/src/lib.rs

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -66,18 +66,6 @@ pub use parser::Parser;
6666
use salsa::Accumulator;
6767
use tokens::TokenStream;
6868

69-
/// Lex a template file into tokens.
70-
#[salsa::tracked]
71-
pub fn lex_template(db: &dyn Db, file: File) -> TokenStream<'_> {
72-
let source = file.source(db);
73-
if *source.kind() != FileKind::Template {
74-
return TokenStream::new(db, vec![]);
75-
}
76-
let text = source.as_ref();
77-
let tokens = Lexer::new(db, text).tokenize();
78-
TokenStream::new(db, tokens)
79-
}
80-
8169
/// Parse a Django template file and accumulate diagnostics.
8270
///
8371
/// Diagnostics can be retrieved using:
@@ -92,7 +80,8 @@ pub fn parse_template(db: &dyn Db, file: File) -> Option<NodeList<'_>> {
9280
return None;
9381
}
9482

95-
let token_stream = lex_template(db, file);
83+
let tokens = Lexer::new(db, source.as_ref()).tokenize();
84+
let token_stream = TokenStream::new(db, tokens);
9685

9786
if token_stream.stream(db).is_empty() {
9887
let empty_nodelist = Vec::new();

0 commit comments

Comments
 (0)