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 mIRC.
 | 
				
			||||||
    *   Added support for Cobol.
 | 
					    *   Added support for Cobol.
 | 
				
			||||||
    *   Added support for Dylan.
 | 
					    *   Added support for Dylan.
 | 
				
			||||||
 | 
					    *   Added support for RPM Specfile.
 | 
				
			||||||
*   Mermaid diagrams: basic syntax highlight (not all diagram types are supported) and code folding.
 | 
					*   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.
 | 
					*   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
 | 
					*   [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-python": () => import("highlight.js/lib/languages/python"),
 | 
				
			||||||
    "text/x-q": () => import("highlight.js/lib/languages/q"),
 | 
					    "text/x-q": () => import("highlight.js/lib/languages/q"),
 | 
				
			||||||
    "text/x-rpm-changes": null,
 | 
					    "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-rsrc": () => import("highlight.js/lib/languages/r"),
 | 
				
			||||||
    "text/x-rst": null,
 | 
					    "text/x-rst": null,
 | 
				
			||||||
    "text/x-ruby": () => import("highlight.js/lib/languages/ruby"),
 | 
					    "text/x-ruby": () => import("highlight.js/lib/languages/ruby"),
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user