mirror of
				https://github.com/TriliumNext/Notes.git
				synced 2025-11-04 15:11:31 +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