main
Last change
on this file since d24f17c was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago |
Initial commit
|
-
Property mode
set to
100644
|
File size:
1.6 KB
|
Rev | Line | |
---|
[d24f17c] | 1 | /*
|
---|
| 2 | Language: Inform 7
|
---|
| 3 | Author: Bruno Dias <bruno.r.dias@gmail.com>
|
---|
| 4 | Description: Language definition for Inform 7, a DSL for writing parser interactive fiction.
|
---|
| 5 | Website: http://inform7.com
|
---|
| 6 | */
|
---|
| 7 |
|
---|
| 8 | function inform7(hljs) {
|
---|
| 9 | const START_BRACKET = '\\[';
|
---|
| 10 | const END_BRACKET = '\\]';
|
---|
| 11 | return {
|
---|
| 12 | name: 'Inform 7',
|
---|
| 13 | aliases: ['i7'],
|
---|
| 14 | case_insensitive: true,
|
---|
| 15 | keywords: {
|
---|
| 16 | // Some keywords more or less unique to I7, for relevance.
|
---|
| 17 | keyword:
|
---|
| 18 | // kind:
|
---|
| 19 | 'thing room person man woman animal container ' +
|
---|
| 20 | 'supporter backdrop door ' +
|
---|
| 21 | // characteristic:
|
---|
| 22 | 'scenery open closed locked inside gender ' +
|
---|
| 23 | // verb:
|
---|
| 24 | 'is are say understand ' +
|
---|
| 25 | // misc keyword:
|
---|
| 26 | 'kind of rule'
|
---|
| 27 | },
|
---|
| 28 | contains: [
|
---|
| 29 | {
|
---|
| 30 | className: 'string',
|
---|
| 31 | begin: '"',
|
---|
| 32 | end: '"',
|
---|
| 33 | relevance: 0,
|
---|
| 34 | contains: [
|
---|
| 35 | {
|
---|
| 36 | className: 'subst',
|
---|
| 37 | begin: START_BRACKET,
|
---|
| 38 | end: END_BRACKET
|
---|
| 39 | }
|
---|
| 40 | ]
|
---|
| 41 | },
|
---|
| 42 | {
|
---|
| 43 | className: 'section',
|
---|
| 44 | begin: /^(Volume|Book|Part|Chapter|Section|Table)\b/,
|
---|
| 45 | end: '$'
|
---|
| 46 | },
|
---|
| 47 | {
|
---|
| 48 | // Rule definition
|
---|
| 49 | // This is here for relevance.
|
---|
| 50 | begin: /^(Check|Carry out|Report|Instead of|To|Rule|When|Before|After)\b/,
|
---|
| 51 | end: ':',
|
---|
| 52 | contains: [
|
---|
| 53 | {
|
---|
| 54 | // Rule name
|
---|
| 55 | begin: '\\(This',
|
---|
| 56 | end: '\\)'
|
---|
| 57 | }
|
---|
| 58 | ]
|
---|
| 59 | },
|
---|
| 60 | {
|
---|
| 61 | className: 'comment',
|
---|
| 62 | begin: START_BRACKET,
|
---|
| 63 | end: END_BRACKET,
|
---|
| 64 | contains: ['self']
|
---|
| 65 | }
|
---|
| 66 | ]
|
---|
| 67 | };
|
---|
| 68 | }
|
---|
| 69 |
|
---|
| 70 | module.exports = inform7;
|
---|
Note:
See
TracBrowser
for help on using the repository browser.