diff --git a/D/D.sublime-syntax b/D/D.sublime-syntax index 49fb20387b..277925f906 100644 --- a/D/D.sublime-syntax +++ b/D/D.sublime-syntax @@ -1423,7 +1423,10 @@ contexts: - match: '(<<|>>>|>>|\||\^|&)' scope: keyword.operator.bitwise.d set: value - - match: '(==|!=|\bis\b|!is\b|<=|<|>=|>|\bin\b|!in\b)' + - match: '(\bis\b|!is\b|\bin\b|!in\b)' + scope: keyword.operator.word.d + set: value + - match: '(==|!=|<=|<|>=|>)' scope: keyword.operator.comparison.d set: value - match: '=' diff --git a/D/tests/syntax_test_d.d b/D/tests/syntax_test_d.d index 184de94615..178c107981 100644 --- a/D/tests/syntax_test_d.d +++ b/D/tests/syntax_test_d.d @@ -1948,7 +1948,7 @@ extern(1) //^^ keyword.control.conditional.d // ^ punctuation.section.parens.begin.d // ^ variable.other.d -// ^^ keyword.operator.comparison.d +// ^^ keyword.operator.word.d // ^ variable.other.d // ^ punctuation.section.parens.end.d // ^^ meta.block.d @@ -1959,7 +1959,7 @@ extern(1) //^^ keyword.control.conditional.d // ^ punctuation.section.parens.begin.d // ^ variable.other.d -// ^^ keyword.operator.comparison.d +// ^^^ keyword.operator.word.d // ^ variable.other.d // ^ punctuation.section.parens.end.d // ^^ meta.block.d @@ -2924,7 +2924,7 @@ extern(1) // ^ meta.number.integer.decimal.d // ^^ keyword.operator.logical.d // ^^^ string.quoted.double.d -// ^^^ keyword.operator.comparison.d +// ^^^ keyword.operator.word.d // ^ punctuation.section.brackets.begin.d // ^ meta.number.integer.decimal.d // ^ punctuation.section.brackets.end.d @@ -3181,11 +3181,19 @@ extern(1) // ^ variable.other.d // ^ punctuation.terminator.d + assert(foo is bar); +//^^^^^^ keyword.other.assert.d +// ^ punctuation.section.parens.begin.d +// ^^^ meta.path.d variable.other.d +// ^^ keyword.operator.word.d +// ^^^ meta.path.d variable.other.d +// ^ punctuation.section.parens.end.d +// ^ punctuation.terminator.d assert(foo !is bar); //^^^^^^ keyword.other.assert.d // ^ punctuation.section.parens.begin.d // ^^^ meta.path.d variable.other.d -// ^^^ keyword.operator.comparison.d +// ^^^ keyword.operator.word.d // ^^^ meta.path.d variable.other.d // ^ punctuation.section.parens.end.d // ^ punctuation.terminator.d