Unnamed repository; edit this file 'description' to name the repository.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
(assignment (NAME) @variable)
(alias (NAME) @variable)
(value (NAME) @variable)
(parameter (NAME) @variable)
(setting (NAME) @keyword)
(setting "shell" @keyword)

(call (NAME) @function)
(dependency (NAME) @function)
(depcall (NAME) @function)
(recipeheader (NAME) @function)

(depcall (expression) @variable.parameter)
(parameter) @variable.parameter
(variadic_parameters) @variable.parameter

["if" "else"] @keyword.control.conditional

(string) @string

(boolean ["true" "false"]) @constant.builtin.boolean

(comment) @comment

; (interpolation) @string

(shebang interpreter:(TEXT) @keyword ) @comment

["export" "alias" "set"] @keyword

["@" "==" "!=" "+" ":="] @operator

[ "(" ")" "[" "]" "{{" "}}" "{" "}"] @punctuation.bracket
ml"); let config = std::fs::read(config_file).unwrap(); let config = toml::from_slice(&config).unwrap(); let loader = Loader::new(config); // set runtime path so we can find the queries let mut runtime = std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR")); runtime.push("../runtime"); std::env::set_var("HELIX_RUNTIME", runtime.to_str().unwrap()); let language_config = loader.language_config_for_scope(lang_scope).unwrap(); let highlight_config = language_config.highlight_config(&[]).unwrap(); let syntax = Syntax::new(&doc, highlight_config, std::sync::Arc::new(loader)); let indent_query = language_config.indent_query().unwrap(); let text = doc.slice(..); for i in 0..doc.len_lines() { let line = text.line(i); if let Some(pos) = helix_core::find_first_non_whitespace_char(line) { let suggested_indent = treesitter_indent_for_pos( indent_query, &syntax, &IndentStyle::Spaces(4), 4, text, i, text.line_to_char(i) + pos, false, ) .unwrap(); assert!( line.get_slice(..pos).map_or(false, |s| s == suggested_indent), "Wrong indentation on line {}:\n\"{}\" (original line)\n\"{}\" (suggested indentation)\n", i+1, line.slice(..line.len_chars()-1), suggested_indent, ); } } }