Files
sourcekit-lsp/Sources/SourceKitLSP/SemanticTokensLegend+SourceKitLSPLegend.swift
2025-10-31 14:11:11 -07:00

32 lines
1.1 KiB
Swift
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
//===----------------------------------------------------------------------===//
//
// 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 doesnt 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)
)
}