Initial commit.
Signed-off-by: Andreas Widen <aw@luflow.net>
This commit is contained in:
commit
a4a5c7daa5
1389 changed files with 241399 additions and 0 deletions
85
static/highlight/languages/autohotkey.js
Normal file
85
static/highlight/languages/autohotkey.js
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
/*! `autohotkey` grammar compiled for Highlight.js 11.11.1 */
|
||||
(function(){
|
||||
var hljsGrammar = (function () {
|
||||
'use strict';
|
||||
|
||||
/*
|
||||
Language: AutoHotkey
|
||||
Author: Seongwon Lee <dlimpid@gmail.com>
|
||||
Description: AutoHotkey language definition
|
||||
Category: scripting
|
||||
*/
|
||||
|
||||
/** @type LanguageFn */
|
||||
function autohotkey(hljs) {
|
||||
const BACKTICK_ESCAPE = { begin: '`[\\s\\S]' };
|
||||
|
||||
return {
|
||||
name: 'AutoHotkey',
|
||||
case_insensitive: true,
|
||||
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: 'true false NOT AND OR',
|
||||
built_in: 'ComSpec Clipboard ClipboardAll ErrorLevel'
|
||||
},
|
||||
contains: [
|
||||
BACKTICK_ESCAPE,
|
||||
hljs.inherit(hljs.QUOTE_STRING_MODE, { contains: [ BACKTICK_ESCAPE ] }),
|
||||
hljs.COMMENT(';', '$', { relevance: 0 }),
|
||||
hljs.C_BLOCK_COMMENT_MODE,
|
||||
{
|
||||
className: 'number',
|
||||
begin: hljs.NUMBER_RE,
|
||||
relevance: 0
|
||||
},
|
||||
{
|
||||
// subst would be the most accurate however fails the point of
|
||||
// highlighting. variable is comparably the most accurate that actually
|
||||
// has some effect
|
||||
className: 'variable',
|
||||
begin: '%[a-zA-Z0-9#_$@]+%'
|
||||
},
|
||||
{
|
||||
className: 'built_in',
|
||||
begin: '^\\s*\\w+\\s*(,|%)'
|
||||
// I don't really know if this is totally relevant
|
||||
},
|
||||
{
|
||||
// symbol would be most accurate however is highlighted just like
|
||||
// built_in and that makes up a lot of AutoHotkey code meaning that it
|
||||
// would fail to highlight anything
|
||||
className: 'title',
|
||||
variants: [
|
||||
{ begin: '^[^\\n";]+::(?!=)' },
|
||||
{
|
||||
begin: '^[^\\n";]+:(?!=)',
|
||||
// zero relevance as it catches a lot of things
|
||||
// followed by a single ':' in many languages
|
||||
relevance: 0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
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*,' }
|
||||
]
|
||||
};
|
||||
}
|
||||
|
||||
return autohotkey;
|
||||
|
||||
})();
|
||||
|
||||
hljs.registerLanguage('autohotkey', hljsGrammar);
|
||||
})();
|
||||
Loading…
Reference in a new issue