highlight: Fix logic for handling empty injections with no highlights

This commit is contained in:
Max Brunsfeld 2020-01-27 12:32:37 -08:00
parent 8dd68c360a
commit 3f109a3cb5
6 changed files with 84 additions and 33 deletions

View file

@ -31,13 +31,17 @@ pub fn get_language_queries_path(language_name: &str) -> PathBuf {
pub fn get_highlight_config(
language_name: &str,
injection_query_filename: &str,
injection_query_filename: Option<&str>,
highlight_names: &[String],
) -> HighlightConfiguration {
let language = get_language(language_name);
let queries_path = get_language_queries_path(language_name);
let highlights_query = fs::read_to_string(queries_path.join("highlights.scm")).unwrap();
let injections_query = fs::read_to_string(queries_path.join(injection_query_filename)).unwrap();
let injections_query = if let Some(injection_query_filename) = injection_query_filename {
fs::read_to_string(queries_path.join(injection_query_filename)).unwrap()
} else {
String::new()
};
let locals_query = fs::read_to_string(queries_path.join("locals.scm")).unwrap_or(String::new());
let mut result = HighlightConfiguration::new(
language,