diff --git a/D/D.sublime-syntax b/D/D.sublime-syntax index a66d9c2615..34d10a8d83 100644 --- a/D/D.sublime-syntax +++ b/D/D.sublime-syntax @@ -770,7 +770,7 @@ contexts: set: - match: '\(' scope: punctuation.section.parens.begin.d - set: [basic-type2, basic-type2-after-parens, value] + set: [basic-type2, basic-type2-after-parens, value-list] - match: '{{name_lookahead}}' set: [basic-type2, type-identifier-ref] - match: '(?=\S)' @@ -1052,7 +1052,7 @@ contexts: captures: 1: keyword.control.d 2: punctuation.section.parens.begin.d - set: [first-value-parens-after, value] + set: [first-value-parens-after, value-list] # Match a regular function call so we properly highlight the name as a # function - match: '(?=[[:alpha:]0-9_\.]+\s*\()' diff --git a/D/tests/syntax_test_d.d b/D/tests/syntax_test_d.d index 577e336789..7270086a48 100644 --- a/D/tests/syntax_test_d.d +++ b/D/tests/syntax_test_d.d @@ -1810,6 +1810,35 @@ extern(1) // ^ meta.function.d meta.block.d punctuation.section.block.begin.d // ^ meta.function.d meta.block.d punctuation.section.block.end.d + mixin("alias A", "= B;") foo() {}; +//^^^^^ keyword.control.d +// ^ punctuation.section.parens.begin.d +// ^^^^^^^^^ meta.string.d string.quoted.double.d +// ^ punctuation.separator.sequence.d +// ^^^^^^ meta.string.d string.quoted.double.d +// ^ punctuation.section.parens.end.d +// ^^^ meta.function.d entity.name.function.d +// ^ meta.function.parameters.d punctuation.section.group.begin.d +// ^ meta.function.parameters.d punctuation.section.group.end.d +// ^ meta.function.d meta.block.d punctuation.section.block.begin.d +// ^ meta.function.d meta.block.d punctuation.section.block.end.d +// ^ punctuation.terminator.d + + function mixin("alias A", "= B;") () {}; +//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.function.d +// ^^ meta.function.parameters.d +// ^^ meta.function.d meta.block.d +// ^^^^^ keyword.control.d +// ^ punctuation.section.parens.begin.d +// ^^^^^^^^^ meta.string.d string.quoted.double.d +// ^ punctuation.separator.sequence.d +// ^^^^^^ meta.string.d string.quoted.double.d +// ^ punctuation.section.parens.end.d +// ^ punctuation.section.group.begin.d +// ^ punctuation.section.group.end.d +// ^ punctuation.section.block.begin.d +// ^ punctuation.section.block.end.d +// ^ punctuation.terminator.d foo: //^^^ entity.name.label.d