diff --git a/grammar.js b/grammar.js index 86d0dd6..d0cee14 100644 --- a/grammar.js +++ b/grammar.js @@ -118,6 +118,7 @@ module.exports = grammar({ ), )), + // FIXME select_expression: ($) => seq( "select", "(", @@ -127,6 +128,7 @@ module.exports = grammar({ ")", ), + // FIXME select_value: ($) => seq( field("type", alias( choice("product_variable", "release_variable", "variant"), @@ -137,6 +139,7 @@ module.exports = grammar({ ")", ), + // FIXME soong_config_variable: ($) => seq( field("type", alias("soong_config_variable", $.selection_type)), "(", @@ -151,6 +154,9 @@ module.exports = grammar({ ")", ), + // FIXME + // FIXME: keyword.conditional or keyword.directive for 'select' + // FIXME: builtin for unset and default? select_cases: ($) => seq( "{", optional(trailingCommaSeparated($.select_case)), @@ -159,12 +165,14 @@ module.exports = grammar({ "}", ), + // FIXME select_case: ($) => seq( field("pattern", $._string_literal), ":", field("value", $._case_value) ), + // FIXME default_case: ($) => seq( field("pattern", "default"), ":", diff --git a/queries/highlights.scm b/queries/highlights.scm index a28d844..fa87c49 100644 --- a/queries/highlights.scm +++ b/queries/highlights.scm @@ -49,6 +49,15 @@ field: (identifier) @variable.member)) ; }}} +; Built-ins {{{ +[ + (unset) + "default" +] @variable.builtin + +(selection_type) @function.builtin +; }}} + ; Expressions {{{ (map_expression (property