cleanup
This commit is contained in:
parent
2302869836
commit
66a8612351
1 changed files with 6 additions and 17 deletions
|
@ -209,12 +209,9 @@ impl LanguageConfiguration {
|
|||
&highlights_query,
|
||||
&injections_query,
|
||||
&locals_query,
|
||||
);
|
||||
)
|
||||
.unwrap(); // TODO: avoid panic
|
||||
|
||||
let config = match config {
|
||||
Ok(config) => config,
|
||||
Err(err) => panic!("{}", err),
|
||||
}; // TODO: avoid panic
|
||||
config.configure(scopes);
|
||||
Some(Arc::new(config))
|
||||
}
|
||||
|
@ -392,12 +389,6 @@ pub struct TsParser {
|
|||
cursors: Vec<QueryCursor>,
|
||||
}
|
||||
|
||||
impl fmt::Debug for TsParser {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
f.debug_struct("TsParser").finish()
|
||||
}
|
||||
}
|
||||
|
||||
// could also just use a pool, or a single instance?
|
||||
thread_local! {
|
||||
pub static PARSER: RefCell<TsParser> = RefCell::new(TsParser {
|
||||
|
@ -433,14 +424,12 @@ impl Syntax {
|
|||
}],
|
||||
};
|
||||
|
||||
// track markers of injections
|
||||
// track scope_descriptor: a Vec of scopes for item in tree
|
||||
|
||||
let mut layers = HopSlotMap::default();
|
||||
let root = layers.insert(root_layer);
|
||||
|
||||
let mut syntax = Self {
|
||||
// grammar,
|
||||
root,
|
||||
layers,
|
||||
loader,
|
||||
|
@ -724,15 +713,15 @@ impl Syntax {
|
|||
.layers
|
||||
.iter()
|
||||
.filter_map(|(_, layer)| {
|
||||
// TODO: if range doesn't overlap layer range, skip it
|
||||
// we can calculate intersection and use it later for set_byte_range
|
||||
|
||||
// Reuse a cursor from the pool if available.
|
||||
let mut cursor = PARSER.with(|ts_parser| {
|
||||
let highlighter = &mut ts_parser.borrow_mut();
|
||||
highlighter.cursors.pop().unwrap_or_else(QueryCursor::new)
|
||||
});
|
||||
|
||||
// TODO: if range doesn't overlap layer range, skip it
|
||||
// we can calculate intersection and use it later for set_byte_range
|
||||
|
||||
// The `captures` iterator borrows the `Tree` and the `QueryCursor`, which
|
||||
// prevents them from being moved. But both of these values are really just
|
||||
// pointers, so it's actually ok to move them.
|
||||
|
@ -783,7 +772,7 @@ impl Syntax {
|
|||
|
||||
let mut result = HighlightIter {
|
||||
source,
|
||||
byte_offset: range.map_or(0, |r| r.start), // TODO: simplify
|
||||
byte_offset: range.map_or(0, |r| r.start),
|
||||
cancellation_flag,
|
||||
iter_count: 0,
|
||||
layers,
|
||||
|
|
Loading…
Reference in a new issue