Вход Регистрация
Файл: error-kitty/node_modules/highlight.js/lib/languages/lasso.js
Строк: 182
<?php
module
.exports = function(hljs) {
  var 
LASSO_IDENT_RE '[a-zA-Z_][a-zA-Z0-9_.]*';
  var 
LASSO_ANGLE_RE '<\?(lasso(script)?|=)';
  var 
LASSO_CLOSE_RE '\]|\?>';
  var 
LASSO_KEYWORDS = {
    
literal:
      
'true false none minimal full all void and or not ' +
      
'bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft',
    
built_in:
      
'array date decimal duration integer map pair string tag xml null ' +
      
'bytes list queue set stack staticarray tie local var variable ' +
      
'global data self inherited',
    
keyword:
      
'error_code error_msg error_pop error_push error_reset cache ' +
      
'database_names database_schemanames database_tablenames define_tag ' +
      
'define_type email_batch encode_set html_comment handle handle_error ' +
      
'header if inline iterate ljax_target link link_currentaction ' +
      
'link_currentgroup link_currentrecord link_detail link_firstgroup ' +
      
'link_firstrecord link_lastgroup link_lastrecord link_nextgroup ' +
      
'link_nextrecord link_prevgroup link_prevrecord log loop ' +
      
'namespace_using output_none portal private protect records referer ' +
      
'referrer repeating resultset rows search_args search_arguments ' +
      
'select sort_args sort_arguments thread_atomic value_list while ' +
      
'abort case else if_empty if_false if_null if_true loop_abort ' +
      
'loop_continue loop_count params params_up return return_value ' +
      
'run_children soap_definetag soap_lastrequest soap_lastresponse ' +
      
'tag_name ascending average by define descending do equals ' +
      
'frozen group handle_failure import in into join let match max ' +
      
'min on order parent protected provide public require returnhome ' +
      
'skip split_thread sum take thread to trait type where with ' +
      
'yield yieldhome'
  
};
  var 
HTML_COMMENT = {
    
className'comment',
    
begin'<!--'end'-->',
    
relevance0
  
};
  var 
LASSO_NOPROCESS = {
    
className'preprocessor',
    
begin'\[noprocess\]',
    
starts: {
      
className'markup',
      
end'\[/noprocess\]',
      
returnEndtrue,
      
contains: [HTML_COMMENT]
    }
  };
  var 
LASSO_START = {
    
className'preprocessor',
    
begin'\[/noprocess|' LASSO_ANGLE_RE
  
};
  var 
LASSO_DATAMEMBER = {
    
className'variable',
    
begin''' + LASSO_IDENT_RE + '''
  
};
  var 
LASSO_CODE = [
    
hljs.C_LINE_COMMENT_MODE,
    {
      
className'javadoc',
      
begin'/\*\*!'end'\*/',
      
contains: [hljs.PHRASAL_WORDS_MODE]
    },
    
hljs.C_BLOCK_COMMENT_MODE,
    
hljs.inherit(hljs.C_NUMBER_MODE, {beginhljs.C_NUMBER_RE '|-?(infinity|nan)\b'}),
    
hljs.inherit(hljs.APOS_STRING_MODE, {illegalnull}),
    
hljs.inherit(hljs.QUOTE_STRING_MODE, {illegalnull}),
    {
      
className'string',
      
begin'`'end'`'
    
},
    {
      
className'variable',
      
variants: [
        {
          
begin'[#$]' LASSO_IDENT_RE
        
},
        {
          
begin'#'end'\d+',
          
illegal'\W'
        
}
      ]
    },
    {
      
className'tag',
      
begin'::\s*'endLASSO_IDENT_RE,
      
illegal'\W'
    
},
    {
      
className'attribute',
      
variants: [
        {
          
begin'-' hljs.UNDERSCORE_IDENT_RE,
          
relevance0
        
},
        {
          
begin'(\.\.\.)'
        
}
      ]
    },
    {
      
className'subst',
      
variants: [
        {
          
begin'->\s*',
          
contains: [LASSO_DATAMEMBER]
        },
        {
          
begin':=|/(?!\w)=?|[-+*%=<>&|!?\\]+',
          
relevance0
        
}
      ]
    },
    {
      
className'built_in',
      
begin'\.\.?',
      
relevance0,
      
contains: [LASSO_DATAMEMBER]
    },
    {
      
className'class',
      
beginKeywords'define',
      
returnEndtrueend'\(|=>',
      
contains: [
        
hljs.inherit(hljs.TITLE_MODE, {beginhljs.UNDERSCORE_IDENT_RE '(=(?!>))?'})
      ]
    }
  ];
  return {
    
aliases: ['ls''lassoscript'],
    
case_insensitivetrue,
    
lexemesLASSO_IDENT_RE '|&[lg]t;',
    
keywordsLASSO_KEYWORDS,
    
contains: [
      {
        
className'preprocessor',
        
beginLASSO_CLOSE_RE,
        
relevance0,
        
starts: {
          
className'markup',
          
end'\[|' LASSO_ANGLE_RE,
          
returnEndtrue,
          
relevance0,
          
contains: [HTML_COMMENT]
        }
      },
      
LASSO_NOPROCESS,
      
LASSO_START,
      {
        
className'preprocessor',
        
begin'\[no_square_brackets',
        
starts: {
          
end'\[/no_square_brackets\]'// not implemented in the language
          
lexemesLASSO_IDENT_RE '|&[lg]t;',
          
keywordsLASSO_KEYWORDS,
          
contains: [
            {
              
className'preprocessor',
              
beginLASSO_CLOSE_RE,
              
relevance0,
              
starts: {
                
className'markup',
                
endLASSO_ANGLE_RE,
                
returnEndtrue,
                
contains: [HTML_COMMENT]
              }
            },
            
LASSO_NOPROCESS,
            
LASSO_START
          
].concat(LASSO_CODE)
        }
      },
      {
        
className'preprocessor',
        
begin'\[',
        
relevance0
      
},
      {
        
className'shebang',
        
begin'^#!.+lasso9\b',
        
relevance10
      
}
    ].
concat(LASSO_CODE)
  };
};
?>
Онлайн: 0
Реклама