swls_lang_turtle/lang/mod.rs
1pub mod formatter;
2pub mod model;
3pub mod parser;
4
5use rdf_parsers::model::Turtle;
6use swls_core::lsp_types::Url;
7
8/// Compatibility shim for conformance tests and other callers expecting the old parse_source API.
9/// Returns `(Some(Turtle), errors)` — the new parser always recovers so Turtle is always Some.
10pub fn parse_source(url: &Url, string: &str) -> (Option<Turtle>, Vec<String>) {
11 let (turtle, errors, _prev, _node, _) = parser::parse_new(string, url.as_str(), None);
12 let error_strings: Vec<String> = errors.iter().map(|e| e.msg.clone()).collect();
13 (Some(turtle), error_strings)
14}