From 11b82516aafcd58af3a53bef7e7bed0b8bd1f7ab Mon Sep 17 00:00:00 2001 From: nnnik Date: Wed, 31 Jul 2019 04:36:28 +0200 Subject: [PATCH] fix(AutoHotkey): order and extended highlighting (#1579) --- src/languages/autohotkey.js | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/src/languages/autohotkey.js b/src/languages/autohotkey.js index 0f8fa41074..5384f9d5a1 100644 --- a/src/languages/autohotkey.js +++ b/src/languages/autohotkey.js @@ -15,14 +15,10 @@ function(hljs) { aliases: [ 'ahk' ], keywords: { keyword: 'Break Continue Critical Exit ExitApp Gosub Goto New OnExit Pause return SetBatchLines SetTimer Suspend Thread Throw Until ahk_id ahk_class ahk_pid ahk_exe ahk_group', - literal: 'A|0 true false NOT AND OR', + literal: '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}), @@ -33,29 +29,32 @@ function(hljs) { relevance: 0 }, { - className: 'subst', // FIXED - begin: '%(?=[a-zA-Z0-9#_$@])', end: '%', - illegal: '[^a-zA-Z0-9#_$@]' + className: 'variable', //subst would be the most accurate however fails the point of highlighting. variable is comparably the most accurate that actually has some effect + begin: '%[a-zA-Z0-9#_$@]+%' }, { className: 'built_in', - begin: '^\\s*\\w+\\s*,' + begin: '^\\s*\\w+\\s*(,|%)' //I don't really know if this is totally relevant }, { - className: 'meta', - begin: '^\\s*#\w+', end:'$', - relevance: 0 - }, - { - className: 'symbol', - contains: [BACKTICK_ESCAPE], + className: 'title', //symbol would be most accurate however is higlighted just like built_in and that makes up a lot of AutoHotkey code + //meaning that it would fail to highlight anything variants: [ {begin: '^[^\\n";]+::(?!=)'}, {begin: '^[^\\n";]+:(?!=)', relevance: 0} // zero relevance as it catches a lot of things // followed by a single ':' in many languages ] }, + { + className: 'meta', + begin: '^\\s*#\\w+', end:'$', + relevance: 0 + }, + { + className: 'built_in', + begin: 'A_[a-zA-Z0-9]+' + }, { // consecutive commas, not for highlighting but just for relevance begin: ',\\s*,'