mirror of
				https://github.com/JKorf/CryptoExchange.Net
				synced 2025-10-29 17:37:26 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			198 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			198 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /*
 | |
| Language: AsciiDoc
 | |
| Requires: xml.js
 | |
| Author: Dan Allen <dan.j.allen@gmail.com>
 | |
| Website: http://asciidoc.org
 | |
| Description: A semantic, text-based document format that can be exported to HTML, DocBook and other backends.
 | |
| Category: markup
 | |
| */
 | |
| 
 | |
| export default function(hljs) {
 | |
|   return {
 | |
|     name: 'AsciiDoc',
 | |
|     aliases: ['adoc'],
 | |
|     contains: [
 | |
|       // block comment
 | |
|       hljs.COMMENT(
 | |
|         '^/{4,}\\n',
 | |
|         '\\n/{4,}$',
 | |
|         // can also be done as...
 | |
|         //'^/{4,}$',
 | |
|         //'^/{4,}$',
 | |
|         {
 | |
|           relevance: 10
 | |
|         }
 | |
|       ),
 | |
|       // line comment
 | |
|       hljs.COMMENT(
 | |
|         '^//',
 | |
|         '$',
 | |
|         {
 | |
|           relevance: 0
 | |
|         }
 | |
|       ),
 | |
|       // title
 | |
|       {
 | |
|         className: 'title',
 | |
|         begin: '^\\.\\w.*$'
 | |
|       },
 | |
|       // example, admonition & sidebar blocks
 | |
|       {
 | |
|         begin: '^[=\\*]{4,}\\n',
 | |
|         end: '\\n^[=\\*]{4,}$',
 | |
|         relevance: 10
 | |
|       },
 | |
|       // headings
 | |
|       {
 | |
|         className: 'section',
 | |
|         relevance: 10,
 | |
|         variants: [
 | |
|           {begin: '^(={1,5}) .+?( \\1)?$'},
 | |
|           {begin: '^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$'},
 | |
|         ]
 | |
|       },
 | |
|       // document attributes
 | |
|       {
 | |
|         className: 'meta',
 | |
|         begin: '^:.+?:',
 | |
|         end: '\\s',
 | |
|         excludeEnd: true,
 | |
|         relevance: 10
 | |
|       },
 | |
|       // block attributes
 | |
|       {
 | |
|         className: 'meta',
 | |
|         begin: '^\\[.+?\\]$',
 | |
|         relevance: 0
 | |
|       },
 | |
|       // quoteblocks
 | |
|       {
 | |
|         className: 'quote',
 | |
|         begin: '^_{4,}\\n',
 | |
|         end: '\\n_{4,}$',
 | |
|         relevance: 10
 | |
|       },
 | |
|       // listing and literal blocks
 | |
|       {
 | |
|         className: 'code',
 | |
|         begin: '^[\\-\\.]{4,}\\n',
 | |
|         end: '\\n[\\-\\.]{4,}$',
 | |
|         relevance: 10
 | |
|       },
 | |
|       // passthrough blocks
 | |
|       {
 | |
|         begin: '^\\+{4,}\\n',
 | |
|         end: '\\n\\+{4,}$',
 | |
|         contains: [
 | |
|           {
 | |
|             begin: '<', end: '>',
 | |
|             subLanguage: 'xml',
 | |
|             relevance: 0
 | |
|           }
 | |
|         ],
 | |
|         relevance: 10
 | |
|       },
 | |
|       // lists (can only capture indicators)
 | |
|       {
 | |
|         className: 'bullet',
 | |
|         begin: '^(\\*+|\\-+|\\.+|[^\\n]+?::)\\s+'
 | |
|       },
 | |
|       // admonition
 | |
|       {
 | |
|         className: 'symbol',
 | |
|         begin: '^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\s+',
 | |
|         relevance: 10
 | |
|       },
 | |
|       // inline strong
 | |
|       {
 | |
|         className: 'strong',
 | |
|         // must not follow a word character or be followed by an asterisk or space
 | |
|         begin: '\\B\\*(?![\\*\\s])',
 | |
|         end: '(\\n{2}|\\*)',
 | |
|         // allow escaped asterisk followed by word char
 | |
|         contains: [
 | |
|           {
 | |
|             begin: '\\\\*\\w',
 | |
|             relevance: 0
 | |
|           }
 | |
|         ]
 | |
|       },
 | |
|       // inline emphasis
 | |
|       {
 | |
|         className: 'emphasis',
 | |
|         // must not follow a word character or be followed by a single quote or space
 | |
|         begin: '\\B\'(?![\'\\s])',
 | |
|         end: '(\\n{2}|\')',
 | |
|         // allow escaped single quote followed by word char
 | |
|         contains: [
 | |
|           {
 | |
|             begin: '\\\\\'\\w',
 | |
|             relevance: 0
 | |
|           }
 | |
|         ],
 | |
|         relevance: 0
 | |
|       },
 | |
|       // inline emphasis (alt)
 | |
|       {
 | |
|         className: 'emphasis',
 | |
|         // must not follow a word character or be followed by an underline or space
 | |
|         begin: '_(?![_\\s])',
 | |
|         end: '(\\n{2}|_)',
 | |
|         relevance: 0
 | |
|       },
 | |
|       // inline smart quotes
 | |
|       {
 | |
|         className: 'string',
 | |
|         variants: [
 | |
|           {begin: "``.+?''"},
 | |
|           {begin: "`.+?'"}
 | |
|         ]
 | |
|       },
 | |
|       // inline code snippets (TODO should get same treatment as strong and emphasis)
 | |
|       {
 | |
|         className: 'code',
 | |
|         begin: '(`.+?`|\\+.+?\\+)',
 | |
|         relevance: 0
 | |
|       },
 | |
|       // indented literal block
 | |
|       {
 | |
|         className: 'code',
 | |
|         begin: '^[ \\t]',
 | |
|         end: '$',
 | |
|         relevance: 0
 | |
|       },
 | |
|       // horizontal rules
 | |
|       {
 | |
|         begin: '^\'{3,}[ \\t]*$',
 | |
|         relevance: 10
 | |
|       },
 | |
|       // images and links
 | |
|       {
 | |
|         begin: '(link:)?(http|https|ftp|file|irc|image:?):\\S+\\[.*?\\]',
 | |
|         returnBegin: true,
 | |
|         contains: [
 | |
|           {
 | |
|             begin: '(link|image:?):',
 | |
|             relevance: 0
 | |
|           },
 | |
|           {
 | |
|             className: 'link',
 | |
|             begin: '\\w',
 | |
|             end: '[^\\[]+',
 | |
|             relevance: 0
 | |
|           },
 | |
|           {
 | |
|             className: 'string',
 | |
|             begin: '\\[',
 | |
|             end: '\\]',
 | |
|             excludeBegin: true,
 | |
|             excludeEnd: true,
 | |
|             relevance: 0
 | |
|           }
 | |
|         ],
 | |
|         relevance: 10
 | |
|       }
 | |
|     ]
 | |
|   };
 | |
| }
 |