]> luflow.net public git repositories - flow-web.git/blob - static/highlight/es/languages/inform7.js
Initial commit.
[flow-web.git] / static / highlight / es / languages / inform7.js
1 /*! `inform7` grammar compiled for Highlight.js 11.11.1 */
2 var hljsGrammar = (function () {
3 'use strict';
4
5 /*
6 Language: Inform 7
7 Author: Bruno Dias <bruno.r.dias@gmail.com>
8 Description: Language definition for Inform 7, a DSL for writing parser interactive fiction.
9 Website: http://inform7.com
10 Category: gaming
11 */
12
13 function inform7(hljs) {
14 const START_BRACKET = '\\[';
15 const END_BRACKET = '\\]';
16 return {
17 name: 'Inform 7',
18 aliases: [ 'i7' ],
19 case_insensitive: true,
20 keywords: {
21 // Some keywords more or less unique to I7, for relevance.
22 keyword:
23 // kind:
24 'thing room person man woman animal container '
25 + 'supporter backdrop door '
26 // characteristic:
27 + 'scenery open closed locked inside gender '
28 // verb:
29 + 'is are say understand '
30 // misc keyword:
31 + 'kind of rule' },
32 contains: [
33 {
34 className: 'string',
35 begin: '"',
36 end: '"',
37 relevance: 0,
38 contains: [
39 {
40 className: 'subst',
41 begin: START_BRACKET,
42 end: END_BRACKET
43 }
44 ]
45 },
46 {
47 className: 'section',
48 begin: /^(Volume|Book|Part|Chapter|Section|Table)\b/,
49 end: '$'
50 },
51 {
52 // Rule definition
53 // This is here for relevance.
54 begin: /^(Check|Carry out|Report|Instead of|To|Rule|When|Before|After)\b/,
55 end: ':',
56 contains: [
57 {
58 // Rule name
59 begin: '\\(This',
60 end: '\\)'
61 }
62 ]
63 },
64 {
65 className: 'comment',
66 begin: START_BRACKET,
67 end: END_BRACKET,
68 contains: [ 'self' ]
69 }
70 ]
71 };
72 }
73
74 return inform7;
75
76 })();
77 ;
78 export default hljsGrammar;