pub fn fold_regions_for_document(
language: EditorLanguage,
text: &str,
) -> Vec<FoldRegion>Expand description
Discovers multi-line foldable constructs for a document.
With the tree_sitter feature, Rust documents are parsed and their regions
are sorted and deduplicated; unsupported languages return an empty vector.
Parser failures also produce an empty vector.
ยงExamples
use ailloli_ui_editor::{code::fold_regions_for_document, EditorLanguage};
let regions = fold_regions_for_document(EditorLanguage::Rust, "fn f() {\n 1;\n}\n");
assert_eq!(regions.len(), 1);
assert_eq!((regions[0].start_line, regions[0].end_line), (0, 2));
assert!(fold_regions_for_document(EditorLanguage::PlainText, "a\nb").is_empty());