mirror of
https://github.com/Myriad-Dreamin/tinymist.git
synced 2025-11-23 12:46:43 +00:00
fix: don't panic on bad node range
This commit is contained in:
parent
4abde9de2e
commit
964def25a9
13 changed files with 51 additions and 92 deletions
|
|
@ -14,8 +14,7 @@ impl SelectionRangeRequest {
|
|||
) -> Option<Vec<SelectionRange>> {
|
||||
let mut ranges = Vec::new();
|
||||
for position in self.positions {
|
||||
let typst_offset =
|
||||
lsp_to_typst::position_to_offset(position, position_encoding, &source);
|
||||
let typst_offset = lsp_to_typst::position(position, position_encoding, &source)?;
|
||||
let tree = LinkedNode::new(source.root());
|
||||
let leaf = tree.leaf_at(typst_offset)?;
|
||||
ranges.push(range_for_node(&source, position_encoding, &leaf));
|
||||
|
|
@ -32,7 +31,7 @@ fn range_for_node(
|
|||
) -> SelectionRange {
|
||||
let range = typst_to_lsp::range(node.range(), source, position_encoding);
|
||||
SelectionRange {
|
||||
range: range.raw_range,
|
||||
range,
|
||||
parent: node
|
||||
.parent()
|
||||
.map(|node| Box::new(range_for_node(source, position_encoding, node))),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue