awk.js
1 /*! `awk` grammar compiled for Highlight.js 11.10.0 */ 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 })();