Function fold_regions_for_document

Source
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());