Вход Регистрация
Файл: error-kitty/node_modules/highlight.js/lib/languages/swift.js
Строк: 156
<?php
module
.exports = function(hljs) {
  var 
SWIFT_KEYWORDS = {
      
keyword'class deinit enum extension func import init let protocol static ' +
        
'struct subscript typealias var break case continue default do ' +
        
'else fallthrough if in for return switch where while as dynamicType ' +
        
'is new super self Self Type __COLUMN__ __FILE__ __FUNCTION__ ' +
        
'__LINE__ associativity didSet get infix inout left mutating none ' +
        
'nonmutating operator override postfix precedence prefix right set '+
        
'unowned unowned safe unsafe weak willSet',
      
literal'true false nil',
      
built_in'abs advance alignof alignofValue assert bridgeFromObjectiveC ' +
        
'bridgeFromObjectiveCUnconditional bridgeToObjectiveC ' +
        
'bridgeToObjectiveCUnconditional c contains count countElements ' +
        
'countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump ' +
        
'encodeBitsAsWords enumerate equal false filter find getBridgedObjectiveCType ' +
        
'getVaList indices insertionSort isBridgedToObjectiveC ' +
        
'isBridgedVerbatimToObjectiveC isUniquelyReferenced join ' +
        
'lexicographicalCompare map max maxElement min minElement nil numericCast ' +
        
'partition posix print println quickSort reduce reflect reinterpretCast ' +
        
'reverse roundUpToAlignment sizeof sizeofValue sort split startsWith strideof ' +
        
'strideofValue swap swift toString transcode true underestimateCount ' +
        
'unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer ' +
        
'withUnsafePointerToObject withUnsafePointers withVaList'
    
};

  var 
TYPE = {
    
className'type',
    
begin'\b[A-Z][\w']*',
    relevance: 0
  };
  var BLOCK_COMMENT = {
    className: '
comment',
    begin: '
/\*', end: '\*/',
    contains: [hljs.PHRASAL_WORDS_MODE, '
self']
  };
  var SUBST = {
    className: '
subst',
    begin: /\(/, end: '
\)',
    keywords: SWIFT_KEYWORDS,
    contains: [] // assigned later
  };
  var NUMBERS = {
      className: '
number',
      begin: '
\b([\d_]+(\.[\deE_]+)?|0x[a-fA-F0-9_]+(\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b',
      relevance: 0
  };
  var QUOTE_STRING_MODE = hljs.inherit(hljs.QUOTE_STRING_MODE, {
    contains: [SUBST, hljs.BACKSLASH_ESCAPE]
  });
  SUBST.contains = [NUMBERS];

  return {
    keywords: SWIFT_KEYWORDS,
    contains: [
      QUOTE_STRING_MODE,
      hljs.C_LINE_COMMENT_MODE,
      BLOCK_COMMENT,
      TYPE,
      NUMBERS,
      {
        className: '
func',
        beginKeywords: '
func', end: '{', excludeEnd: true,
        contains: [
          hljs.inherit(hljs.TITLE_MODE, {
            begin: /[A-Za-z$_][0-9A-Za-z$_]*/,
            illegal: /(/
          }),
          {
            className: '
generics',
            begin: /</, end: />/,
            illegal: />/
          },
          {
            className: '
params',
            begin: /(/, end: /)/,
            keywords: SWIFT_KEYWORDS,
            contains: [
              '
self',
              NUMBERS,
              QUOTE_STRING_MODE,
              hljs.C_BLOCK_COMMENT_MODE,
              {begin: '
:'} // relevance booster
            ],
            illegal: /["'
]/
          }
        ],
        
illegal: /[|%/
      },
      {
        
className'class',
        
keywords'struct protocol class extension enum',
        
begin'(struct|protocol|class(?! (func|var))|extension|enum)',
        
end'\{',
        
excludeEndtrue,
        
contains: [
          
hljs.inherit(hljs.TITLE_MODE, {begin: /[A-Za-z$_][0-9A-Za-z$_]*/})
        ]
      },
      {
        
className'preprocessor'// @attributes
        
begin'(@assignment|@class_protocol|@exported|@final|@lazy|@noreturn|' +
                  
'@NSCopying|@NSManaged|@objc|@optional|@required|@auto_closure|' +
                  
'@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|' +
                  
'@infix|@prefix|@postfix)'
      
},
    ]
  };
};
?>
Онлайн: 0
Реклама