50 lines
1.2 KiB
JavaScript
50 lines
1.2 KiB
JavaScript
|
/*
|
||
|
Language: Gherkin
|
||
|
Author: Sam Pikesley (@pikesley) <sam.pikesley@theodi.org>
|
||
|
Description: Gherkin is the format for cucumber specifications. It is a domain specific language which helps you to describe business behavior without the need to go into detail of implementation.
|
||
|
Website: https://cucumber.io/docs/gherkin/
|
||
|
*/
|
||
|
|
||
|
function gherkin(hljs) {
|
||
|
return {
|
||
|
name: 'Gherkin',
|
||
|
aliases: ['feature'],
|
||
|
keywords: 'Feature Background Ability Business\ Need Scenario Scenarios Scenario\ Outline Scenario\ Template Examples Given And Then But When',
|
||
|
contains: [
|
||
|
{
|
||
|
className: 'symbol',
|
||
|
begin: '\\*',
|
||
|
relevance: 0
|
||
|
},
|
||
|
{
|
||
|
className: 'meta',
|
||
|
begin: '@[^@\\s]+'
|
||
|
},
|
||
|
{
|
||
|
begin: '\\|',
|
||
|
end: '\\|\\w*$',
|
||
|
contains: [
|
||
|
{
|
||
|
className: 'string',
|
||
|
begin: '[^|]+'
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
className: 'variable',
|
||
|
begin: '<',
|
||
|
end: '>'
|
||
|
},
|
||
|
hljs.HASH_COMMENT_MODE,
|
||
|
{
|
||
|
className: 'string',
|
||
|
begin: '"""',
|
||
|
end: '"""'
|
||
|
},
|
||
|
hljs.QUOTE_STRING_MODE
|
||
|
]
|
||
|
};
|
||
|
}
|
||
|
|
||
|
module.exports = gherkin;
|