aboutsummaryrefslogtreecommitdiff
path: root/node_modules/highlight.js/lib/languages/swift.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-05-24 15:10:37 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-05-24 15:11:17 +0200
commit7a3df06eb573d36142bd1a8e03c5ce8752d300b3 (patch)
tree70bfaea8884c374876f607774850a3a51c0cb381 /node_modules/highlight.js/lib/languages/swift.js
parentaca1143cb9eed16cf37f04e475e4257418dd18ac (diff)
downloadwallet-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.js116
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