| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | /*Language: AwkAuthor: Matthew Daly <matthewbdaly@gmail.com>Website: https://www.gnu.org/software/gawk/manual/gawk.htmlDescription: language definition for Awk scripts*//** @type LanguageFn */function awk(hljs) {  const VARIABLE = {    className: 'variable',    variants: [      {        begin: /\$[\w\d#@][\w\d_]*/      },      {        begin: /\$\{(.*?)\}/      }    ]  };  const KEYWORDS = 'BEGIN END if else while do for in break continue delete next nextfile function func exit|10';  const STRING = {    className: 'string',    contains: [hljs.BACKSLASH_ESCAPE],    variants: [      {        begin: /(u|b)?r?'''/,        end: /'''/,        relevance: 10      },      {        begin: /(u|b)?r?"""/,        end: /"""/,        relevance: 10      },      {        begin: /(u|r|ur)'/,        end: /'/,        relevance: 10      },      {        begin: /(u|r|ur)"/,        end: /"/,        relevance: 10      },      {        begin: /(b|br)'/,        end: /'/      },      {        begin: /(b|br)"/,        end: /"/      },      hljs.APOS_STRING_MODE,      hljs.QUOTE_STRING_MODE    ]  };  return {    name: 'Awk',    keywords: {      keyword: KEYWORDS    },    contains: [      VARIABLE,      STRING,      hljs.REGEXP_MODE,      hljs.HASH_COMMENT_MODE,      hljs.NUMBER_MODE    ]  };}module.exports = awk;
 |