on master help sign in
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>

commit79ef39ab3a41c32fcdcb660df6ee60aeb1eb80e6 authorChristian Speich <cspeich@emlix.com> dateWed 19 Oct 2022, 10:29 (4 years ago) parent4b85aeb
2 files changed+17−13
helix-core/src/syntax.rs+15−11 xtask/src/querycheck.rs+2−2
helix-core/src/syntax.rs+15−11
@@ -361,14 +361,12 @@ pub fn read_query(language: &str, filename: &str) -> String {
361361
362362impl LanguageConfiguration {
363363 fn initialize_highlight(&self, scopes: &[String]) -> Option<Arc<HighlightConfiguration>> {
364− let language = self.language_id.to_ascii_lowercase();
365−
366− let highlights_query = read_query(&language, "highlights.scm");
364+ let highlights_query = read_query(&self.language_id, "highlights.scm");
367365 // always highlight syntax errors
368366 // highlights_query += "\n(ERROR) @error";
369367
370− let injections_query = read_query(&language, "injections.scm");
371− let locals_query = read_query(&language, "locals.scm");
368+ let injections_query = read_query(&self.language_id, "injections.scm");
369+ let locals_query = read_query(&self.language_id, "locals.scm");
372370
373371 if highlights_query.is_empty() {
374372 None
@@ -432,14 +430,20 @@ impl LanguageConfiguration {
432430 }
433431
434432 fn load_query(&self, kind: &str) -> Option<Query> {
435− let lang_name = self.language_id.to_ascii_lowercase();
436− let query_text = read_query(&lang_name, kind);
433+ let query_text = read_query(&self.language_id, kind);
437434 if query_text.is_empty() {
438435 return None;
439436 }
440437 let lang = self.highlight_config.get()?.as_ref()?.language;
441438 Query::new(lang, &query_text)
442− .map_err(|e| log::error!("Failed to parse {} queries for {}: {}", kind, lang_name, e))
439+ .map_err(|e| {
440+ log::error!(
441+ "Failed to parse {} queries for {}: {}",
442+ kind,
443+ self.language_id,
444+ e
445+ )
446+ })
443447 .ok()
444448 }
445449}
@@ -2119,7 +2123,7 @@ mod test {
21192123 );
21202124
21212125 let loader = Loader::new(Configuration { language: vec![] });
2122− let language = get_language("Rust").unwrap();
2126+ let language = get_language("rust").unwrap();
21232127
21242128 let query = Query::new(language, query_str).unwrap();
21252129 let textobject = TextObjectQuery { query };
@@ -2179,7 +2183,7 @@ mod test {
21792183
21802184 let loader = Loader::new(Configuration { language: vec![] });
21812185
2182− let language = get_language("Rust").unwrap();
2186+ let language = get_language("rust").unwrap();
21832187 let config = HighlightConfiguration::new(
21842188 language,
21852189 &std::fs::read_to_string("../runtime/grammars/sources/rust/queries/highlights.scm")
@@ -2275,7 +2279,7 @@ mod test {
22752279 let source = Rope::from_str(source);
22762280
22772281 let loader = Loader::new(Configuration { language: vec![] });
2278− let language = get_language("Rust").unwrap();
2282+ let language = get_language("rust").unwrap();
22792283
22802284 let config = HighlightConfiguration::new(language, "", "", "").unwrap();
22812285 let syntax = Syntax::new(&source, Arc::new(config), Arc::new(loader));
xtask/src/querycheck.rs+2−2
@@ -14,8 +14,8 @@ pub fn query_check() -> Result<(), DynError> {
1414 ];
1515
1616 for language in lang_config().language {
17− let language_name = language.language_id.to_ascii_lowercase();
18− let grammar_name = language.grammar.unwrap_or(language.language_id);
17+ let language_name = &language.language_id;
18+ let grammar_name = language.grammar.as_ref().unwrap_or(language_name);
1919 for query_file in query_files {
2020 let language = get_language(&grammar_name);
2121 let query_text = read_query(&language_name, query_file);