]> luflow.net public git repositories - flow-web.git/blob - static/highlight/languages/awk.js
Initial commit.
[flow-web.git] / static / highlight / languages / awk.js
1 /*! `awk` grammar compiled for Highlight.js 11.11.1 */
2 (function(){
3 var hljsGrammar = (function () {
4 'use strict';
5
6 /*
7 Language: Awk
8 Author: Matthew Daly <matthewbdaly@gmail.com>
9 Website: https://www.gnu.org/software/gawk/manual/gawk.html
10 Description: language definition for Awk scripts
11 Category: scripting
12 */
13
14 /** @type LanguageFn */
15 function awk(hljs) {
16 const VARIABLE = {
17 className: 'variable',
18 variants: [
19 { begin: /\$[\w\d#@][\w\d_]*/ },
20 { begin: /\$\{(.*?)\}/ }
21 ]
22 };
23 const KEYWORDS = 'BEGIN END if else while do for in break continue delete next nextfile function func exit|10';
24 const STRING = {
25 className: 'string',
26 contains: [ hljs.BACKSLASH_ESCAPE ],
27 variants: [
28 {
29 begin: /(u|b)?r?'''/,
30 end: /'''/,
31 relevance: 10
32 },
33 {
34 begin: /(u|b)?r?"""/,
35 end: /"""/,
36 relevance: 10
37 },
38 {
39 begin: /(u|r|ur)'/,
40 end: /'/,
41 relevance: 10
42 },
43 {
44 begin: /(u|r|ur)"/,
45 end: /"/,
46 relevance: 10
47 },
48 {
49 begin: /(b|br)'/,
50 end: /'/
51 },
52 {
53 begin: /(b|br)"/,
54 end: /"/
55 },
56 hljs.APOS_STRING_MODE,
57 hljs.QUOTE_STRING_MODE
58 ]
59 };
60 return {
61 name: 'Awk',
62 keywords: { keyword: KEYWORDS },
63 contains: [
64 VARIABLE,
65 STRING,
66 hljs.REGEXP_MODE,
67 hljs.HASH_COMMENT_MODE,
68 hljs.NUMBER_MODE
69 ]
70 };
71 }
72
73 return awk;
74
75 })();
76
77 hljs.registerLanguage('awk', hljsGrammar);
78 })();