mirror of
https://github.com/apple/sourcekit-lsp.git
synced 2026-03-02 18:23:24 +01:00
32 lines
1.1 KiB
Swift
32 lines
1.1 KiB
Swift
//===----------------------------------------------------------------------===//
|
||
//
|
||
// This source file is part of the Swift.org open source project
|
||
//
|
||
// Copyright (c) 2014 - 2021 Apple Inc. and the Swift project authors
|
||
// Licensed under Apache License v2.0 with Runtime Library Exception
|
||
//
|
||
// See https://swift.org/LICENSE.txt for license information
|
||
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
|
||
//
|
||
//===----------------------------------------------------------------------===//
|
||
|
||
@_spi(SourceKitLSP) package import LanguageServerProtocol
|
||
|
||
extension SemanticTokenTypes {
|
||
// LSP doesn’t know about actors. Display actors as classes.
|
||
package static var actor: Self { Self.class }
|
||
|
||
/// Token types are looked up by index
|
||
package var tokenType: UInt32 {
|
||
UInt32(Self.all.firstIndex(of: self)!)
|
||
}
|
||
}
|
||
|
||
extension SemanticTokensLegend {
|
||
/// The semantic tokens legend that is used between SourceKit-LSP and the editor.
|
||
package static let sourceKitLSPLegend = SemanticTokensLegend(
|
||
tokenTypes: SemanticTokenTypes.all.map(\.name),
|
||
tokenModifiers: SemanticTokenModifiers.all.compactMap(\.name)
|
||
)
|
||
}
|