         name: 'constant.language.fstar'
       }
       {
-        match: '\\b(let|in|type|kind|val|rec|and|assume|admit|assert|assert_norm|squash|failwith|SMTPat|SMTPatOr|hasEq|fun|function|forall|exists|exception|by|new_effect|reify|try|synth|with|when)\\b'
+        match: '\\b(let|in|type|kind|val|rec|and|if|then|else|assume|admit|assert|assert_norm|squash|failwith|SMTPat|SMTPatOr|hasEq|fun|function|forall|exists|exception|by|new_effect|reify|try|synth|with|when)\\b'
         name: 'keyword.other.fstar'
       }
       {

        ]
      }
      {
        'begin': '`'
        'beginCaptures':
          '0':
            'name': 'punctuation.definition.operator.begin.fstar'
        'end': '`'
        'endCaptures':
          '0':
            'name': 'punctuation.definition.operator.end.fstar'
        'name': 'string.quoted.template.fstar'
        'patterns': [
          {
            'include': '#op_names'
          }
        ]
      }
    ]
  'string_escapes':
    'patterns': [
      {
        'match': '\\\\u(?![A-Fa-f0-9]{4}|{[A-Fa-f0-9]+})[^\'"]*'
        'name': 'invalid.illegal.unicode-escape.fstar'
      }
      {
        'match': '\\\\u(?:[A-Fa-f0-9]{4}|({)([A-Fa-f0-9]+)(}))'
        'name': 'constant.character.escape.js'
        'captures':
          '1':
            'name': 'punctuation.definition.unicode-escape.begin.bracket.curly.fstar'
          '2':
            'patterns': [
              {
                'match': '[A-Fa-f\\d]{7,}|(?!10)[A-Fa-f\\d]{6}'
                'name': 'invalid.illegal.unicode-escape.fstar'
              }
            ]
          '3':
            'name': 'punctuation.definition.unicode-escape.end.bracket.curly.fstar'
      }
      {
        'match': '\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)'
        'name': 'constant.character.escape.fstar'
      }
    ]
  'op_names':
    'patterns': [
      {
        'match': '\\bop(?:_(?:Multiply|Star|Slash|Percent|Plus|Substraction|Equals|Less|Greater|Bang|Dollar|Amp|Dot|Hat|Colon|Pipe|Question))+\\b'
        'name': 'entity.name.tag.fstar'
      }
    ]

        name: 'support.class.base.fstar'
      }
      {
        match: '(/\\\\|\\\\/|<:|<@|[(][|]|[|][)]|u#|~>|->|<--|<-|<==>|==>|[?][.]|[.]\\[|[.]\\(|[{][:]pattern|::|:=|;;|[!][{]|\\[[|]|[|]>|[|]\\]|[~+^&?$|#,.:;=\\[\\](){}-])'
        name: 'support.class.base.fstar'
      }
      {
