mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-07-27 10:02:59 +08:00
feat(highlighting): add rpm specfile
This commit is contained in:
parent
b80ca1eef2
commit
42c61ae9cb
@ -49,6 +49,7 @@
|
||||
* Added support for mIRC.
|
||||
* Added support for Cobol.
|
||||
* Added support for Dylan.
|
||||
* Added support for RPM Specfile.
|
||||
* Mermaid diagrams: basic syntax highlight (not all diagram types are supported) and code folding.
|
||||
* Slight organization in Appearance settings: code block themes are now in "Text Notes", added a "Related settings" section in Appearance.
|
||||
* [Added support for opening and activating a note in a new tab using Ctrl+Shift+click on notes in the launcher pane, note tree, or note images](https://github.com/TriliumNext/Notes/pull/1854) by @SiriusXT
|
||||
|
71
packages/highlightjs/src/languages/rpm-specfile.ts
Normal file
71
packages/highlightjs/src/languages/rpm-specfile.ts
Normal file
@ -0,0 +1,71 @@
|
||||
import type { HLJSApi, Language, Mode } from "highlight.js";
|
||||
|
||||
/**
|
||||
* highlight.js RPM spec file syntax highlighting definition
|
||||
*
|
||||
* Source: https://github.com/highlightjs/highlightjs-rpm-specfile
|
||||
*
|
||||
* @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/
|
||||
**/
|
||||
|
||||
export default function hljsDefineRpmSpecfile(hljs: HLJSApi): Language {
|
||||
return {
|
||||
aliases: ['rpm', 'spec', 'rpm-spec', 'specfile'],
|
||||
contains: [
|
||||
hljs.COMMENT('%dnl', '$'),
|
||||
hljs.HASH_COMMENT_MODE,
|
||||
hljs.APOS_STRING_MODE,
|
||||
hljs.QUOTE_STRING_MODE,
|
||||
{
|
||||
className: "type",
|
||||
begin: /^(Name|BuildRequires|Version|Release|Epoch|Summary|Group|License|Packager|Vendor|Icon|URL|Distribution|Prefix|Patch[0-9]*|Source[0-9]*|Requires\(?[a-z]*\)?|[a-z]+Req|Obsoletes|Recommends|Suggests|Supplements|Enhances|Provides|Conflicts|RemovePathPostfixes|Build[a-z]+|[a-z]+Arch|Auto[a-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: /$/,
|
||||
},
|
||||
]
|
||||
};
|
||||
}
|
@ -122,7 +122,7 @@ const byMimeType: MimeRecord = {
|
||||
"text/x-python": () => import("highlight.js/lib/languages/python"),
|
||||
"text/x-q": () => import("highlight.js/lib/languages/q"),
|
||||
"text/x-rpm-changes": null,
|
||||
"text/x-rpm-spec": null,
|
||||
"text/x-rpm-spec": () => import("./languages/rpm-specfile.js"),
|
||||
"text/x-rsrc": () => import("highlight.js/lib/languages/r"),
|
||||
"text/x-rst": null,
|
||||
"text/x-ruby": () => import("highlight.js/lib/languages/ruby"),
|
||||
|
Loading…
x
Reference in New Issue
Block a user