mirror of
https://github.com/FlightControl-Master/MOOSE_DOCS.git
synced 2025-08-15 10:37:49 +00:00
Clean
This commit is contained in:
124
Highlight/languages/swift.js
Normal file
124
Highlight/languages/swift.js
Normal file
@@ -0,0 +1,124 @@
|
||||
/*
|
||||
Language: Swift
|
||||
Author: Chris Eidhof <chris@eidhof.nl>
|
||||
Contributors: Nate Cook <natecook@gmail.com>, Alexander Lichter <manniL@gmx.net>
|
||||
Category: system
|
||||
*/
|
||||
|
||||
|
||||
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 fileprivate final for func ' +
|
||||
'get guard if import in indirect infix init inout internal is lazy left let ' +
|
||||
'mutating nil none nonmutating open 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]
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user