Вход Регистрация
Файл: error-kitty/node_modules/highlight.js/lib/languages/asciidoc.js
Строк: 161
<?php
module
.exports = function(hljs) {
  return {
    
contains: [
      
// block comment
      
{
        
className: 'comment',
        
begin: '^/{4,}\n',
        
end: '\n/{4,}$',
        
// can also be done as...
        //begin: '^/{4,}$',
        //end: '^/{4,}$',
        
relevance: 10
      
},
      
// line comment
      
{
        
className: 'comment',
        
begin: '^//',
        
end: '$',
        
relevance: 0
      
},
      
// title
      
{
        
className: 'title',
        
begin: '^\.\w.*$'
      
},
      
// example, admonition & sidebar blocks
      
{
        
begin: '^[=\*]{4,}\n',
        
end: '\n^[=\*]{4,}$',
        
relevance: 10
      
},
      
// headings
      
{
        
className: 'header',
        
begin: '^(={1,5}) .+?( \1)?$',
        
relevance: 10
      
},
      {
        
className: 'header',
        
begin: '^[^\[\]\n]+?\n[=\-~\^\+]{2,}$',
        
relevance: 10
      
},
      
// document attributes
      
{
        
className: 'attribute',
        
begin: '^:.+?:',
        
end: '\s',
        
excludeEnd: true,
        
relevance: 10
      
},
      
// block attributes
      
{
        
className: 'attribute',
        
begin: '^\[.+?\]$',
        
relevance: 0
      
},
      
// quoteblocks
      
{
        
className: 'blockquote',
        
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: 'label',
        
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 double smart quotes
      
{
        
className: 'smartquote',
        
begin: "``.+?''",
        
relevance: 10
      
},
      
// inline single smart quotes
      
{
        
className: 'smartquote',
        
begin: "`.+?'",
        
relevance: 10
      
},
      
// 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
      
{
        
className: 'horizontal_rule',
        
begin: '^'{3,}[ \t]*$',
        relevance: 10
      },
      // images and links
      {
        begin: '
(link:)?(http|https|ftp|file|irc|image:?):\S+\[.*?\]',
        returnBegin: true,
        contains: [
          {
            //className: '
macro',
            begin: '
(link|image:?):',
            relevance: 0
          },
          {
            className: '
link_url',
            begin: '
\w',
            end: '
[^\[]+',
            relevance: 0
          },
          {
            className: '
link_label',
            begin: '
\[',
            end: '
\]',
            excludeBegin: true,
            excludeEnd: true,
            relevance: 0
          }
        ],
        relevance: 10
      }
    ]
  };
};
?>
Онлайн: 2
Реклама