aboutsummaryrefslogtreecommitdiff
path: root/helix-core/src/syntax.rs
diff options
context:
space:
mode:
authorChristian Speich2022-10-19 08:29:09 +0000
committerMichael Davis2022-10-21 13:11:25 +0000
commit79ef39ab3a41c32fcdcb660df6ee60aeb1eb80e6 (patch)
tree99d5a9dfdcd838d35fe72ba7801387ebe7be19e4 /helix-core/src/syntax.rs
parent4b85aeb2b68c0aaf2338d3e0d0ad4daff13a7baf (diff)
syntax: Don't force lower-case for filenames (#4346)
Just like for grammars we currently force a lower-case of the name for some actions (like filesystem lookup). To make this consistent and less surprising for users, we remove this lower-casing here. Note: it is still the preferred way to name both language and grammar in lower-case Signed-off-by: Christian Speich <cspeich@emlix.com>
Diffstat (limited to 'helix-core/src/syntax.rs')
-rw-r--r--helix-core/src/syntax.rs26
1 files changed, 15 insertions, 11 deletions
diff --git a/helix-core/src/syntax.rs b/helix-core/src/syntax.rs
index f9a2ea5f..21d19ce7 100644
--- a/helix-core/src/syntax.rs
+++ b/helix-core/src/syntax.rs
@@ -361,14 +361,12 @@ pub fn read_query(language: &str, filename: &str) -> String {
impl LanguageConfiguration {
fn initialize_highlight(&self, scopes: &[String]) -> Option<Arc<HighlightConfiguration>> {
- let language = self.language_id.to_ascii_lowercase();
-
- let highlights_query = read_query(&language, "highlights.scm");
+ let highlights_query = read_query(&self.language_id, "highlights.scm");
// always highlight syntax errors
// highlights_query += "\n(ERROR) @error";
- let injections_query = read_query(&language, "injections.scm");
- let locals_query = read_query(&language, "locals.scm");
+ let injections_query = read_query(&self.language_id, "injections.scm");
+ let locals_query = read_query(&self.language_id, "locals.scm");
if highlights_query.is_empty() {
None
@@ -432,14 +430,20 @@ impl LanguageConfiguration {
}
fn load_query(&self, kind: &str) -> Option<Query> {
- let lang_name = self.language_id.to_ascii_lowercase();
- let query_text = read_query(&lang_name, kind);
+ let query_text = read_query(&self.language_id, kind);
if query_text.is_empty() {
return None;
}
let lang = self.highlight_config.get()?.as_ref()?.language;
Query::new(lang, &query_text)
- .map_err(|e| log::error!("Failed to parse {} queries for {}: {}", kind, lang_name, e))
+ .map_err(|e| {
+ log::error!(
+ "Failed to parse {} queries for {}: {}",
+ kind,
+ self.language_id,
+ e
+ )
+ })
.ok()
}
}
@@ -2119,7 +2123,7 @@ mod test {
);
let loader = Loader::new(Configuration { language: vec![] });
- let language = get_language("Rust").unwrap();
+ let language = get_language("rust").unwrap();
let query = Query::new(language, query_str).unwrap();
let textobject = TextObjectQuery { query };
@@ -2179,7 +2183,7 @@ mod test {
let loader = Loader::new(Configuration { language: vec![] });
- let language = get_language("Rust").unwrap();
+ let language = get_language("rust").unwrap();
let config = HighlightConfiguration::new(
language,
&std::fs::read_to_string("../runtime/grammars/sources/rust/queries/highlights.scm")
@@ -2275,7 +2279,7 @@ mod test {
let source = Rope::from_str(source);
let loader = Loader::new(Configuration { language: vec![] });
- let language = get_language("Rust").unwrap();
+ let language = get_language("rust").unwrap();
let config = HighlightConfiguration::new(language, "", "", "").unwrap();
let syntax = Syntax::new(&source, Arc::new(config), Arc::new(loader));