highlightjs-rpm-specfile/rpm-specfile.js
David Auer 1b204bd2e1
Remove apostrophe highlighting (#3)
Highlighting on apostrophes seems to cause more problems
than it solves, and it seems unlikely that it will be missed, as
it's much more common to use quotes for strings rather than
apostrophes.

Fixes: https://pagure.io/pagure/issue/5103
2021-01-27 09:12:09 -05:00

76 lines
2.4 KiB
JavaScript

/**
* highlight.js RPM spec file syntax highlighting definition
*
* @see https://github.com/highlightjs/highlight.js
*
* @package highlightjs-rpm-specfile
* @author Ryan Lerch <rlerch@redhat.com>, Neal Gompa <ngompa13@gmail.com>
* @since 2019-07-08
* @license magnet:?xt=urn:btih:c80d50af7d3db9be66a4d0a86db0286e4fd33292&dn=bsd-3-clause.txt BSD-3-Clause
*
* Language: rpm-specfile
* Description: RPM Specfile
* Author: Ryan Lerch <rlerch@redhat.com>
* Contributors: Neal Gompa <ngompa13@gmail.com>
* Category: config
* Requires: bash.js
* Website: https://rpm.org/
**/
var module = module ? module : {}; // shim for browser use
function hljsDefineRpmSpecfile(hljs) {
return {
aliases: ['rpm', 'spec', 'rpm-spec', 'specfile'],
contains: [
hljs.COMMENT('%dnl'),
hljs.HASH_COMMENT_MODE,
hljs.QUOTE_STRING_MODE,
{
className: "type",
begin: /^(Name|BuildRequires|BuildConflicts|Version|Release|Epoch|Summary|Group|License|Packager|Vendor|Icon|URL|Distribution|Prefix|Patch[0-9]*|Source[0-9]*|Requires\(?[a-z]*\)?|[a-zA-Z]+Req|Obsoletes|Recommends|Suggests|Supplements|Enhances|Provides|Conflicts|RemovePathPostfixes|Build[a-zA-Z]+|[a-zA-Z]+Arch|Auto[a-zA-Z]+)(:)/,
},
{
className: "keyword",
begin: /(%)(?:package|prep|generate_buildrequires|sourcelist|patchlist|build|description|install|verifyscript|clean|changelog|check|pre[a-z]*|post[a-z]*|trigger[a-z]*|files)/,
},
{
className: "link",
begin: /(%)(if|ifarch|ifnarch|ifos|ifnos|elif|elifarch|elifos|else|endif)/,
},
{
className: "link",
begin: /%\{_/,
end: /}/,
},
{
className: "symbol",
begin: /%\{\?/,
end: /}/,
},
{
className: "link font-weight-bold",
begin: /%\{/,
end: /}/,
},
{
className: "link font-weight-bold",
begin: /%/,
end: /[ \t\n]/
},
{
className: "symbol font-weight-bold",
begin: /^\* (Mon|Tue|Wed|Thu|Fri|Sat|Sun)/,
end: /$/,
},
]
};
}
module.exports = function(hljs) {
hljs.registerLanguage('rpm-specfile', hljsDefineRpmSpecfile);
};
module.exports.definer = hljsDefineRpmSpecfile;
/* @license-end */