| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | /*Language: AutoHotkeyAuthor: Seongwon Lee <[email protected]>Description: AutoHotkey language definitionCategory: scripting*/function(hljs) {  var BACKTICK_ESCAPE = {    begin: /`[\s\S]/  };  return {    case_insensitive: true,    keywords: {      keyword: 'Break Continue Else Gosub If Loop Return While',      literal: 'A|0 true false NOT AND OR',      built_in: 'ComSpec Clipboard ClipboardAll ErrorLevel',    },    contains: [      {        className: 'built_in',        begin: 'A_[a-zA-Z0-9]+'      },      BACKTICK_ESCAPE,      hljs.inherit(hljs.QUOTE_STRING_MODE, {contains: [BACKTICK_ESCAPE]}),      hljs.COMMENT(';', '$', {relevance: 0}),      {        className: 'number',        begin: hljs.NUMBER_RE,        relevance: 0      },      {        className: 'variable', // FIXME        begin: '%', end: '%',        illegal: '\\n',        contains: [BACKTICK_ESCAPE]      },      {        className: 'symbol',        contains: [BACKTICK_ESCAPE],        variants: [          {begin: '^[^\\n";]+::(?!=)'},          {begin: '^[^\\n";]+:(?!=)', relevance: 0} // zero relevance as it catches a lot of things                                                    // followed by a single ':' in many languages        ]      },      {        // consecutive commas, not for highlighting but just for relevance        begin: ',\\s*,'      }    ]  }}
 |