This commit is contained in:
2025-05-12 05:38:44 +09:00
parent dced21c3f8
commit 6d78bfa46e
8120 changed files with 1161564 additions and 0 deletions

View File

@ -0,0 +1,70 @@
/*
Language: Inform 7
Author: Bruno Dias <bruno.r.dias@gmail.com>
Description: Language definition for Inform 7, a DSL for writing parser interactive fiction.
Website: http://inform7.com
Category: gaming
*/
function inform7(hljs) {
const START_BRACKET = '\\[';
const END_BRACKET = '\\]';
return {
name: 'Inform 7',
aliases: [ 'i7' ],
case_insensitive: true,
keywords: {
// Some keywords more or less unique to I7, for relevance.
keyword:
// kind:
'thing room person man woman animal container '
+ 'supporter backdrop door '
// characteristic:
+ 'scenery open closed locked inside gender '
// verb:
+ 'is are say understand '
// misc keyword:
+ 'kind of rule' },
contains: [
{
className: 'string',
begin: '"',
end: '"',
relevance: 0,
contains: [
{
className: 'subst',
begin: START_BRACKET,
end: END_BRACKET
}
]
},
{
className: 'section',
begin: /^(Volume|Book|Part|Chapter|Section|Table)\b/,
end: '$'
},
{
// Rule definition
// This is here for relevance.
begin: /^(Check|Carry out|Report|Instead of|To|Rule|When|Before|After)\b/,
end: ':',
contains: [
{
// Rule name
begin: '\\(This',
end: '\\)'
}
]
},
{
className: 'comment',
begin: START_BRACKET,
end: END_BRACKET,
contains: [ 'self' ]
}
]
};
}
module.exports = inform7;