diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-05-24 15:10:37 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-05-24 15:11:17 +0200 |
commit | 7a3df06eb573d36142bd1a8e03c5ce8752d300b3 (patch) | |
tree | 70bfaea8884c374876f607774850a3a51c0cb381 /node_modules/highlight.js/lib/languages/swift.js | |
parent | aca1143cb9eed16cf37f04e475e4257418dd18ac (diff) | |
download | wallet-core-7a3df06eb573d36142bd1a8e03c5ce8752d300b3.tar.xz |
fix build issues and add typedoc
Diffstat (limited to 'node_modules/highlight.js/lib/languages/swift.js')
-rw-r--r-- | node_modules/highlight.js/lib/languages/swift.js | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/node_modules/highlight.js/lib/languages/swift.js b/node_modules/highlight.js/lib/languages/swift.js new file mode 100644 index 000000000..b99624049 --- /dev/null +++ b/node_modules/highlight.js/lib/languages/swift.js @@ -0,0 +1,116 @@ +module.exports = function(hljs) { + var SWIFT_KEYWORDS = { + keyword: '__COLUMN__ __FILE__ __FUNCTION__ __LINE__ as as! as? associativity ' + + 'break case catch class continue convenience default defer deinit didSet do ' + + 'dynamic dynamicType else enum extension fallthrough false final for func ' + + 'get guard if import in indirect infix init inout internal is lazy left let ' + + 'mutating nil none nonmutating operator optional override postfix precedence ' + + 'prefix private protocol Protocol public repeat required rethrows return ' + + 'right self Self set static struct subscript super switch throw throws true ' + + 'try try! try? Type typealias unowned var weak where while willSet', + literal: 'true false nil', + built_in: 'abs advance alignof alignofValue anyGenerator assert assertionFailure ' + + 'bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC ' + + 'bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros ' + + 'debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords ' + + 'enumerate equal fatalError filter find getBridgedObjectiveCType getVaList ' + + 'indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC ' + + 'isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare ' + + 'map max maxElement min minElement numericCast overlaps partition posix ' + + 'precondition preconditionFailure print println quickSort readLine reduce reflect ' + + 'reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split ' + + 'startsWith stride strideof strideofValue swap toString transcode ' + + 'underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap ' + + 'unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer ' + + 'withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers ' + + 'withUnsafePointer withUnsafePointers withVaList zip' + }; + + var TYPE = { + className: 'type', + begin: '\\b[A-Z][\\w\u00C0-\u02B8\']*', + relevance: 0 + }; + var BLOCK_COMMENT = hljs.COMMENT( + '/\\*', + '\\*/', + { + contains: ['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: 'function', + beginKeywords: 'func', end: '{', excludeEnd: true, + contains: [ + hljs.inherit(hljs.TITLE_MODE, { + begin: /[A-Za-z$_][0-9A-Za-z$_]*/ + }), + { + begin: /</, end: />/ + }, + { + className: 'params', + begin: /\(/, end: /\)/, endsParent: true, + keywords: SWIFT_KEYWORDS, + contains: [ + 'self', + NUMBERS, + QUOTE_STRING_MODE, + hljs.C_BLOCK_COMMENT_MODE, + {begin: ':'} // relevance booster + ], + illegal: /["']/ + } + ], + illegal: /\[|%/ + }, + { + className: 'class', + beginKeywords: 'struct protocol class extension enum', + keywords: SWIFT_KEYWORDS, + end: '\\{', + excludeEnd: true, + contains: [ + hljs.inherit(hljs.TITLE_MODE, {begin: /[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}) + ] + }, + { + className: 'meta', // @attributes + begin: '(@warn_unused_result|@exported|@lazy|@noescape|' + + '@NSCopying|@NSManaged|@objc|@convention|@required|' + + '@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|' + + '@infix|@prefix|@postfix|@autoclosure|@testable|@available|' + + '@nonobjc|@NSApplicationMain|@UIApplicationMain)' + + }, + { + beginKeywords: 'import', end: /$/, + contains: [hljs.C_LINE_COMMENT_MODE, BLOCK_COMMENT] + } + ] + }; +};
\ No newline at end of file |