File: sourcekitd_uids.swift.gyb

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (106 lines) | stat: -rw-r--r-- 4,369 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
%{
  from gyb_sourcekit_support.UIDs import UID_KEYS, UID_REQUESTS, UID_KINDS, KEY, REQUEST, KIND
  # Ignore the following admonition it applies to the resulting .swift file only
}%
//// Automatically Generated From UIDs.swift.gyb.
//// Do Not Edit Directly! To regenerate run Utilities/generate-uids.py
//===----------------------------------------------------------------------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2024 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
//
//===----------------------------------------------------------------------===//
%{
  def variable_name(name):
    if name == 'Operator':
      return '`operator`'
    word_index = 0
    threshold_index = 1
    for c in name:
        if c.islower():
            if word_index > threshold_index:
                word_index -= 1
            break
        word_index += 1
    if word_index == 0:
        return name
    return name[:word_index].lower() + name[word_index:]

    # We should automatically generate these.
  ADDITIONAL_KEYS = [
    # Maintained from translateCodeCompletionOptions in SwiftCompletion.cpp#
    KEY('SortByName', 'key.codecomplete.sort.byname'),
    KEY('UseImportDepth', 'key.codecomplete.sort.useimportdepth'),
    KEY('GroupOverloads', 'key.codecomplete.group.overloads'),
    KEY('GroupStems', 'key.codecomplete.group.stems'),
    KEY('FilterText', 'key.codecomplete.filtertext'),
    KEY('RequestLimit', 'key.codecomplete.requestlimit'),
    KEY('RequestStart', 'key.codecomplete.requeststart'),
    KEY('HideUnderscores', 'key.codecomplete.hideunderscores'),
    KEY('HideLowPriority', 'key.codecomplete.hidelowpriority'),
    KEY('HideByName', 'key.codecomplete.hidebyname'),
    KEY('IncludeExactMatch', 'key.codecomplete.includeexactmatch'),
    KEY('AddInnerResults', 'key.codecomplete.addinnerresults'),
    KEY('AddInnerOperators', 'key.codecomplete.addinneroperators'),
    KEY('AddInitsToTopLevel', 'key.codecomplete.addinitstotoplevel'),
    KEY('FuzzyMatching', 'key.codecomplete.fuzzymatching'),
    KEY('TopNonLiteral', 'key.codecomplete.showtopnonliteralresults'),
    KEY('ContextWeight', 'key.codecomplete.sort.contextweight'),
    KEY('FuzzyWeight', 'key.codecomplete.sort.fuzzyweight'),
    KEY('PopularityBonus', 'key.codecomplete.sort.popularitybonus'),
    KEY('AnnotatedDescription', 'key.codecomplete.annotateddescription'),
    KEY('IncludeObjectLiterals', 'key.codecomplete.includeobjectliterals'),

    # Maintained from applyFormatOptions in SwiftEditor.cpp
    KEY('UseTabs', 'key.editor.format.usetabs'),
    KEY('IndentWidth', 'key.editor.format.indentwidth'),
    KEY('TabWidth', 'key.editor.format.tabwidth'),
    KEY('IndentSwitchCase', 'key.editor.format.indent_switch_case'),
  ]

  # We should automatically generate these.
  ADDITIONAL_VALUES = [
    # Maintained from SwiftToSourceKitCompletionAdapter::handleResult in SwiftCompletion.cpp
    KIND('CompletionKindKeyword', 'source.lang.swift.keyword'),
    KIND('CompletionKindPattern', 'source.lang.swift.pattern'),

    # Maintained from SwiftEditor.cpp
    KIND('SemaDiagStage', 'source.diagnostic.stage.swift.sema'),
    KIND('ParseDiagStage', 'source.diagnostic.stage.swift.parse'),

    # Maintained from sourcekitd.cpp
    KIND('SemaDisabledNotification', 'source.notification.sema_disabled'),

    # Maintained from initializeService in Requests.cpp
    KIND('SemaEnabledNotification', 'source.notification.sema_enabled'),
    KIND('DocumentUpdateNotification', 'source.notification.editor.documentupdate'),
  ]

  TYPES_AND_KEYS = [
    ('sourcekitd_api_keys', UID_KEYS + ADDITIONAL_KEYS),
    ('sourcekitd_api_requests', UID_REQUESTS),
    ('sourcekitd_api_values', UID_KINDS + ADDITIONAL_VALUES),
  ]
}%

import Csourcekitd
% for (struct_type, uids) in TYPES_AND_KEYS:

public struct ${struct_type} {
% for key in uids:
  /// `${key.externalName}`
  public let ${variable_name(key.internalName)}: sourcekitd_api_uid_t
% end

  public init(api: sourcekitd_api_functions_t) {
% for key in uids:
    ${variable_name(key.internalName)} = api.uid_get_from_cstr("${key.externalName}")!
% end
  }
}
% end