const lang = Object.freeze(JSON.parse("{\"displayName\":\"Fish\",\"name\":\"fish\",\"patterns\":[{\"include\":\"#string-double\"},{\"include\":\"#string-single\"},{\"include\":\"#comment\"},{\"include\":\"#subshell-bare\"},{\"include\":\"#subshell\"},{\"include\":\"#command\"},{\"include\":\"#keywords\"},{\"include\":\"#io-redirection\"},{\"include\":\"#operators\"},{\"include\":\"#options\"},{\"include\":\"#variable\"},{\"include\":\"#escape\"}],\"repository\":{\"command\":{\"captures\":{\"2\":{\"name\":\"keyword.operator.pipe.fish\"},\"3\":{\"name\":\"keyword.control.fish\"},\"5\":{\"name\":\"support.function.command.fish\"}},\"match\":\"(^\\\\s*|&&\\\\s*|(\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*|\\\\b(if|while)\\\\b\\\\s+)(?!(??\\\\[^abefnrtv{-~]\",\"name\":\"constant.character.escape.string.fish\"},{\"match\":\"\\\\\\\\x\\\\h{1,2}\",\"name\":\"constant.character.escape.hex-ascii.fish\"},{\"match\":\"\\\\\\\\X\\\\h{1,2}\",\"name\":\"constant.character.escape.hex-byte.fish\"},{\"match\":\"\\\\\\\\[0-7]{1,3}\",\"name\":\"constant.character.escape.octal.fish\"},{\"match\":\"\\\\\\\\u\\\\h{1,4}\",\"name\":\"constant.character.escape.unicode-16-bit.fish\"},{\"match\":\"\\\\\\\\U\\\\h{1,8}\",\"name\":\"constant.character.escape.unicode-32-bit.fish\"},{\"match\":\"\\\\\\\\c[A-Za-z]\",\"name\":\"constant.character.escape.control.fish\"}]},\"io-redirection\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.operator.redirect.fish\"},\"2\":{\"name\":\"keyword.operator.redirect.target.fish\"}},\"match\":\"(<|(?:[>^]|>>|\\\\^\\\\^)(?:&[-012])?|[012](?:[<>]|>>)(?:&[-012])?)\\\\s*(?!\\\\()([\\\\--9A-Z_a-z]+)\"},{\"match\":\"<|([>^]|>>|\\\\^\\\\^)(&[-012])?|[012]([<>]|>>)(&[-012])?\",\"name\":\"keyword.operator.redirect.fish\"}]},\"keywords\":{\"patterns\":[{\"captures\":{\"2\":{\"name\":\"keyword.control.fish\"}},\"match\":\"(^\\\\s*|&&\\\\s*|(?<=\\\\|)\\\\s*|\\\\(\\\\s*|;\\\\s*|(?<=\\\\bwhile\\\\b)\\\\s+|(?<=\\\\bif\\\\b)\\\\s+|(?<=\\\\band\\\\b)\\\\s+|(?<=\\\\bor\\\\b)\\\\s+|(?<=\\\\bnot\\\\b)\\\\s+)(?