jazzy 0.3.2 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +27 -0
- data/.travis.yml +2 -2
- data/CHANGELOG.md +41 -0
- data/Gemfile.lock +10 -12
- data/README.md +80 -14
- data/Rakefile +1 -3
- data/lib/jazzy/SourceKitten/Frameworks/SourceKittenFramework.framework/SourceKittenFramework +0 -0
- data/lib/jazzy/SourceKitten/Frameworks/SourceKittenFramework.framework/Versions/A/Frameworks/Commandant.framework/Commandant +0 -0
- data/lib/jazzy/SourceKitten/Frameworks/SourceKittenFramework.framework/Versions/A/Frameworks/Commandant.framework/Versions/A/Commandant +0 -0
- data/lib/jazzy/SourceKitten/Frameworks/SourceKittenFramework.framework/Versions/A/Frameworks/Commandant.framework/Versions/A/Resources/Info.plist +5 -5
- data/lib/jazzy/SourceKitten/Frameworks/SourceKittenFramework.framework/Versions/A/Frameworks/Result.framework/Result +0 -0
- data/lib/jazzy/SourceKitten/Frameworks/SourceKittenFramework.framework/Versions/A/Frameworks/Result.framework/Versions/A/Resources/Info.plist +4 -4
- data/lib/jazzy/SourceKitten/Frameworks/SourceKittenFramework.framework/Versions/A/Frameworks/Result.framework/Versions/A/Result +0 -0
- data/lib/jazzy/SourceKitten/Frameworks/SourceKittenFramework.framework/Versions/A/Frameworks/SWXMLHash.framework/SWXMLHash +0 -0
- data/lib/jazzy/SourceKitten/Frameworks/SourceKittenFramework.framework/Versions/A/Frameworks/SWXMLHash.framework/Versions/A/Resources/Info.plist +4 -4
- data/lib/jazzy/SourceKitten/Frameworks/SourceKittenFramework.framework/Versions/A/Frameworks/SWXMLHash.framework/Versions/A/SWXMLHash +0 -0
- data/lib/jazzy/SourceKitten/Frameworks/SourceKittenFramework.framework/Versions/A/Frameworks/SwiftXPC.framework/SwiftXPC +0 -0
- data/lib/jazzy/SourceKitten/Frameworks/SourceKittenFramework.framework/Versions/A/Frameworks/SwiftXPC.framework/Versions/A/Resources/Info.plist +5 -5
- data/lib/jazzy/SourceKitten/Frameworks/SourceKittenFramework.framework/Versions/A/Frameworks/SwiftXPC.framework/Versions/A/SwiftXPC +0 -0
- data/lib/jazzy/SourceKitten/Frameworks/SourceKittenFramework.framework/Versions/A/Frameworks/libswiftCore.dylib +0 -0
- data/lib/jazzy/SourceKitten/Frameworks/SourceKittenFramework.framework/Versions/A/Frameworks/libswiftCoreGraphics.dylib +0 -0
- data/lib/jazzy/SourceKitten/Frameworks/SourceKittenFramework.framework/Versions/A/Frameworks/libswiftDarwin.dylib +0 -0
- data/lib/jazzy/SourceKitten/Frameworks/SourceKittenFramework.framework/Versions/A/Frameworks/libswiftDispatch.dylib +0 -0
- data/lib/jazzy/SourceKitten/Frameworks/SourceKittenFramework.framework/Versions/A/Frameworks/libswiftFoundation.dylib +0 -0
- data/lib/jazzy/SourceKitten/Frameworks/SourceKittenFramework.framework/Versions/A/Frameworks/libswiftObjectiveC.dylib +0 -0
- data/lib/jazzy/SourceKitten/Frameworks/SourceKittenFramework.framework/Versions/A/Resources/Info.plist +5 -5
- data/lib/jazzy/SourceKitten/Frameworks/SourceKittenFramework.framework/Versions/A/SourceKittenFramework +0 -0
- data/lib/jazzy/SourceKitten/bin/sourcekitten +0 -0
- data/lib/jazzy/assets/css/jazzy.css.scss +39 -14
- data/lib/jazzy/config.rb +342 -182
- data/lib/jazzy/doc.rb +8 -19
- data/lib/jazzy/doc_builder.rb +38 -26
- data/lib/jazzy/docset_builder.rb +4 -3
- data/lib/jazzy/executable.rb +2 -1
- data/lib/jazzy/gem_version.rb +1 -1
- data/lib/jazzy/jazzy_markdown.rb +16 -4
- data/lib/jazzy/podspec_documenter.rb +25 -11
- data/lib/jazzy/readme_generator.rb +7 -7
- data/lib/jazzy/source_declaration.rb +2 -0
- data/lib/jazzy/source_declaration/access_control_level.rb +21 -15
- data/lib/jazzy/source_declaration/type.rb +79 -5
- data/lib/jazzy/sourcekitten.rb +150 -24
- data/lib/jazzy/templates/doc.mustache +2 -2
- data/lib/jazzy/templates/nav.mustache +1 -1
- data/lib/jazzy/templates/task.mustache +26 -10
- data/spec/integration_spec.rb +34 -39
- metadata +2 -2
data/lib/jazzy/doc.rb
CHANGED
@@ -10,25 +10,6 @@ module Jazzy
|
|
10
10
|
class Doc < Mustache
|
11
11
|
self.template_name = 'doc'
|
12
12
|
|
13
|
-
############################################################################
|
14
|
-
# TODO: Remove shortly (kept for backwards compatibility)
|
15
|
-
#
|
16
|
-
def date
|
17
|
-
# Fake date is used to keep integration tests consistent
|
18
|
-
ENV['JAZZY_FAKE_DATE'] || DateTime.now.strftime('%Y-%m-%d')
|
19
|
-
end
|
20
|
-
|
21
|
-
def year
|
22
|
-
# Fake date is used to keep integration tests consistent
|
23
|
-
if ENV['JAZZY_FAKE_DATE']
|
24
|
-
ENV['JAZZY_FAKE_DATE'][0..3]
|
25
|
-
else
|
26
|
-
DateTime.now.strftime('%Y')
|
27
|
-
end
|
28
|
-
end
|
29
|
-
#
|
30
|
-
############################################################################
|
31
|
-
|
32
13
|
def copyright
|
33
14
|
config = Config.instance
|
34
15
|
copyright = config.copyright || (
|
@@ -45,5 +26,13 @@ module Jazzy
|
|
45
26
|
# Fake version is used to keep integration tests consistent
|
46
27
|
ENV['JAZZY_FAKE_VERSION'] || Jazzy::VERSION
|
47
28
|
end
|
29
|
+
|
30
|
+
def language
|
31
|
+
Config.instance.objc_mode ? 'Objective-C' : 'Swift'
|
32
|
+
end
|
33
|
+
|
34
|
+
def language_stub
|
35
|
+
Config.instance.objc_mode ? 'objc' : 'swift'
|
36
|
+
end
|
48
37
|
end
|
49
38
|
end
|
data/lib/jazzy/doc_builder.rb
CHANGED
@@ -29,14 +29,15 @@ module Jazzy
|
|
29
29
|
# section names & child names & URLs
|
30
30
|
def self.doc_structure_for_docs(docs)
|
31
31
|
docs.map do |doc|
|
32
|
+
children = doc.children
|
33
|
+
.sort_by(&:name)
|
34
|
+
.sort_by(&:nav_order)
|
35
|
+
.map do |child|
|
36
|
+
{ name: child.name, url: child.url }
|
37
|
+
end
|
32
38
|
{
|
33
39
|
section: doc.name,
|
34
|
-
children:
|
35
|
-
.sort_by(&:name)
|
36
|
-
.sort_by(&:nav_order)
|
37
|
-
.map do |child|
|
38
|
-
{ name: child.name, url: child.url }
|
39
|
-
end,
|
40
|
+
children: children,
|
40
41
|
}
|
41
42
|
end
|
42
43
|
end
|
@@ -48,8 +49,8 @@ module Jazzy
|
|
48
49
|
if options.sourcekitten_sourcefile
|
49
50
|
stdout = options.sourcekitten_sourcefile.read
|
50
51
|
else
|
51
|
-
if
|
52
|
-
stdout = PodspecDocumenter.new(podspec).sourcekitten_output
|
52
|
+
if options.podspec_configured
|
53
|
+
stdout = PodspecDocumenter.new(options.podspec).sourcekitten_output
|
53
54
|
else
|
54
55
|
stdout = Dir.chdir(options.source_directory) do
|
55
56
|
arguments = SourceKitten.arguments_from_options(options)
|
@@ -128,11 +129,21 @@ module Jazzy
|
|
128
129
|
|
129
130
|
DocsetBuilder.new(output_dir, source_module).build!
|
130
131
|
|
131
|
-
|
132
|
+
friendly_path = relative_path_if_inside(output_dir, Pathname.pwd)
|
133
|
+
puts "jam out ♪♫ to your fresh new docs in `#{friendly_path}`"
|
132
134
|
|
133
135
|
source_module
|
134
136
|
end
|
135
137
|
|
138
|
+
def self.relative_path_if_inside(path, base_path)
|
139
|
+
relative = path.relative_path_from(base_path)
|
140
|
+
if relative.to_path =~ %r{/^..(\/|$)/}
|
141
|
+
path
|
142
|
+
else
|
143
|
+
relative
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
136
147
|
def self.decl_for_token(token)
|
137
148
|
if token['key.parsed_declaration']
|
138
149
|
token['key.parsed_declaration']
|
@@ -188,8 +199,6 @@ module Jazzy
|
|
188
199
|
doc[:structure] = source_module.doc_structure
|
189
200
|
doc[:module_name] = source_module.name
|
190
201
|
doc[:author_name] = source_module.author_name
|
191
|
-
# TODO: Remove shortly (kept for backwards compatibility)
|
192
|
-
doc[:author_website] = source_module.author_url
|
193
202
|
doc[:github_url] = source_module.github_url
|
194
203
|
doc[:dash_url] = source_module.dash_url
|
195
204
|
doc[:path_to_root] = path_to_root
|
@@ -226,22 +235,27 @@ module Jazzy
|
|
226
235
|
# Combine abstract and discussion into abstract
|
227
236
|
abstract = (item.abstract || '') + (item.discussion || '')
|
228
237
|
item_render = {
|
229
|
-
name:
|
230
|
-
abstract:
|
231
|
-
declaration:
|
232
|
-
usr:
|
233
|
-
dash_type:
|
238
|
+
name: item.name,
|
239
|
+
abstract: render_markdown(abstract),
|
240
|
+
declaration: item.declaration,
|
241
|
+
usr: item.usr,
|
242
|
+
dash_type: item.type.dash_type,
|
243
|
+
github_token_url: gh_token_url(item, source_module),
|
244
|
+
default_impl_abstract: render_markdown(item.default_impl_abstract),
|
245
|
+
from_protocol_extension: item.from_protocol_extension,
|
246
|
+
return: render_markdown(item.return),
|
247
|
+
parameters: (item.parameters if item.parameters.any?),
|
248
|
+
url: (item.url if item.children.any?),
|
249
|
+
start_line: item.start_line,
|
250
|
+
end_line: item.end_line,
|
234
251
|
}
|
235
|
-
gh_token_url = gh_token_url(item, source_module)
|
236
|
-
item_render[:github_token_url] = gh_token_url
|
237
|
-
item_render[:return] = Jazzy.markdown.render(item.return) if item.return
|
238
|
-
item_render[:parameters] = item.parameters if item.parameters.any?
|
239
|
-
item_render[:url] = item.url if item.children.any?
|
240
|
-
item_render[:start_line] = item.start_line
|
241
|
-
item_render[:end_line] = item.end_line
|
242
252
|
item_render.reject { |_, v| v.nil? }
|
243
253
|
end
|
244
254
|
|
255
|
+
def self.render_markdown(markdown)
|
256
|
+
Jazzy.markdown.render(markdown) if markdown
|
257
|
+
end
|
258
|
+
|
245
259
|
def self.make_task(mark, uid, items)
|
246
260
|
{
|
247
261
|
name: mark.name,
|
@@ -295,12 +309,10 @@ module Jazzy
|
|
295
309
|
doc[:tasks] = render_tasks(source_module, doc_model.children)
|
296
310
|
doc[:module_name] = source_module.name
|
297
311
|
doc[:author_name] = source_module.author_name
|
298
|
-
# TODO: Remove shortly (kept for backwards compatibility)
|
299
|
-
doc[:author_website] = source_module.author_url.to_s
|
300
312
|
doc[:github_url] = source_module.github_url
|
301
313
|
doc[:dash_url] = source_module.dash_url
|
302
314
|
doc[:path_to_root] = path_to_root
|
303
|
-
doc.render
|
315
|
+
doc.render.gsub(ELIDED_AUTOLINK_TOKEN, path_to_root)
|
304
316
|
end
|
305
317
|
end
|
306
318
|
end
|
data/lib/jazzy/docset_builder.rb
CHANGED
@@ -15,8 +15,9 @@ module Jazzy
|
|
15
15
|
|
16
16
|
def initialize(generated_docs_dir, source_module)
|
17
17
|
@source_module = source_module
|
18
|
-
|
19
|
-
|
18
|
+
docset_path = config.docset_path ||
|
19
|
+
"docsets/#{source_module.name}.docset"
|
20
|
+
@docset_dir = generated_docs_dir + docset_path
|
20
21
|
@generated_docs_dir = generated_docs_dir
|
21
22
|
@output_dir = docset_dir.parent
|
22
23
|
@documents_dir = docset_dir + 'Contents/Resources/Documents/'
|
@@ -59,7 +60,7 @@ module Jazzy
|
|
59
60
|
|
60
61
|
def copy_docs
|
61
62
|
files_to_copy = Pathname.glob(generated_docs_dir + '*') -
|
62
|
-
|
63
|
+
[docset_dir, output_dir]
|
63
64
|
|
64
65
|
FileUtils.mkdir_p documents_dir
|
65
66
|
FileUtils.cp_r files_to_copy, documents_dir
|
data/lib/jazzy/executable.rb
CHANGED
data/lib/jazzy/gem_version.rb
CHANGED
data/lib/jazzy/jazzy_markdown.rb
CHANGED
@@ -9,9 +9,9 @@ module Jazzy
|
|
9
9
|
|
10
10
|
def header(text, header_level)
|
11
11
|
text_slug = text.gsub(/[^a-zA-Z0-9]+/, '_')
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
.downcase
|
13
|
+
.sub(/^_/, '')
|
14
|
+
.sub(/_$/, '')
|
15
15
|
|
16
16
|
"<a href='##{text_slug}' class='anchor' aria-hidden=true>" \
|
17
17
|
'<span class="header-anchor"></span>' \
|
@@ -57,15 +57,27 @@ module Jazzy
|
|
57
57
|
ELIDED_LI_TOKEN = '7wNVzLB0OYPL2eGlPKu8q4vITltqh0Y6DPZf659TPMAeYh49o'.freeze
|
58
58
|
|
59
59
|
def list_item(text, _list_type)
|
60
|
-
|
60
|
+
if text =~ SPECIAL_LIST_TYPE_REGEX
|
61
|
+
type = Regexp.last_match(2)
|
62
|
+
return ELIDED_LI_TOKEN if type =~ /parameter|returns/
|
63
|
+
return render_aside(type, text.sub(/#{Regexp.escape(type)}:\s+/, ''))
|
64
|
+
end
|
61
65
|
str = '<li>'
|
62
66
|
str << text.strip
|
63
67
|
str << "</li>\n"
|
64
68
|
end
|
65
69
|
|
70
|
+
def render_aside(type, text)
|
71
|
+
%(<div class="aside aside-#{type.underscore.tr('_', '-')}">
|
72
|
+
<p class="aside-title">#{type.underscore.humanize}</p>
|
73
|
+
#{text}
|
74
|
+
</div>)
|
75
|
+
end
|
76
|
+
|
66
77
|
def list(text, list_type)
|
67
78
|
elided = text.gsub!(ELIDED_LI_TOKEN, '')
|
68
79
|
return if text =~ /\A\s*\Z/ && elided
|
80
|
+
return text if text =~ /class="aside-title"/
|
69
81
|
str = "\n"
|
70
82
|
str << (list_type == :ordered ? "<ol>\n" : "<ul>\n")
|
71
83
|
str << text
|
@@ -23,23 +23,37 @@ module Jazzy
|
|
23
23
|
stdout.reduce([]) { |a, s| a + JSON.load(s) }.to_json
|
24
24
|
end
|
25
25
|
|
26
|
-
def self.
|
27
|
-
case
|
26
|
+
def self.create_podspec(podspec_path)
|
27
|
+
case podspec_path
|
28
28
|
when Pathname, String
|
29
29
|
require 'cocoapods'
|
30
|
-
|
30
|
+
Pod::Specification.from_file(podspec_path)
|
31
31
|
end
|
32
|
+
end
|
32
33
|
|
34
|
+
# rubocop:disable Metrics/CyclomaticComplexity
|
35
|
+
# rubocop:disable Metrics/PerceivedComplexity
|
36
|
+
def self.apply_config_defaults(podspec, config)
|
33
37
|
return unless podspec
|
34
38
|
|
35
|
-
config.
|
36
|
-
|
37
|
-
|
38
|
-
config.
|
39
|
-
|
40
|
-
|
41
|
-
|
39
|
+
unless config.author_name_configured
|
40
|
+
config.author_name = author_name(podspec)
|
41
|
+
end
|
42
|
+
unless config.module_name_configured
|
43
|
+
config.module_name = podspec.module_name
|
44
|
+
end
|
45
|
+
unless config.author_url_configured
|
46
|
+
config.author_url = podspec.homepage || github_file_prefix(podspec)
|
47
|
+
end
|
48
|
+
unless config.version_configured
|
49
|
+
config.version = podspec.version.to_s
|
50
|
+
end
|
51
|
+
unless config.github_file_prefix_configured
|
52
|
+
config.github_file_prefix = github_file_prefix(podspec)
|
53
|
+
end
|
42
54
|
end
|
55
|
+
# rubocop:enable Metrics/CyclomaticComplexity
|
56
|
+
# rubocop:enable Metrics/PerceivedComplexity
|
43
57
|
|
44
58
|
private
|
45
59
|
|
@@ -95,7 +109,7 @@ module Jazzy
|
|
95
109
|
platform :ios, '8.0'
|
96
110
|
[podspec, *podspec.recursive_subspecs].each do |ss|
|
97
111
|
ss.available_platforms.each do |p|
|
98
|
-
t = "Jazzy-#{ss.name.gsub(
|
112
|
+
t = "Jazzy-#{ss.name.gsub('/', '__')}-#{p.name}"
|
99
113
|
targets << "Pods-#{t}-#{ss.root.name}"
|
100
114
|
target(t) do
|
101
115
|
use_frameworks!
|
@@ -31,29 +31,29 @@ module Jazzy
|
|
31
31
|
|
32
32
|
# <a href="#{license[:url]}">#{license[:license]}</a>
|
33
33
|
<<-EOS
|
34
|
-
# #{
|
34
|
+
# #{podspec.name}
|
35
35
|
|
36
|
-
### #{podspec.summary
|
36
|
+
### #{podspec.summary}
|
37
37
|
|
38
|
-
#{
|
38
|
+
#{podspec.description}
|
39
39
|
|
40
40
|
### Installation
|
41
41
|
|
42
42
|
```ruby
|
43
|
-
pod '#{
|
43
|
+
pod '#{podspec.name}'
|
44
44
|
```
|
45
45
|
|
46
46
|
### Authors
|
47
47
|
|
48
|
-
#{
|
48
|
+
#{source_module.author_name}
|
49
49
|
EOS
|
50
50
|
else
|
51
51
|
<<-EOS
|
52
|
-
# #{
|
52
|
+
# #{source_module.name}
|
53
53
|
|
54
54
|
### Authors
|
55
55
|
|
56
|
-
#{
|
56
|
+
#{source_module.author_name}
|
57
57
|
EOS
|
58
58
|
end
|
59
59
|
end
|
@@ -10,15 +10,14 @@ module Jazzy
|
|
10
10
|
ACCESSIBILITY_PUBLIC = 'source.lang.swift.accessibility.public'
|
11
11
|
|
12
12
|
def initialize(accessibility)
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
end
|
13
|
+
@level = case accessibility
|
14
|
+
when ACCESSIBILITY_PRIVATE then :private
|
15
|
+
when ACCESSIBILITY_INTERNAL then :internal
|
16
|
+
when ACCESSIBILITY_PUBLIC then :public
|
17
|
+
else
|
18
|
+
raise 'cannot initialize AccessControlLevel with ' \
|
19
|
+
"'#{accessibility}'"
|
20
|
+
end
|
22
21
|
end
|
23
22
|
|
24
23
|
def self.from_doc(doc)
|
@@ -34,12 +33,19 @@ module Jazzy
|
|
34
33
|
end
|
35
34
|
|
36
35
|
def self.from_explicit_declaration(declaration_string)
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
36
|
+
case declaration_string
|
37
|
+
when /private\ / then private
|
38
|
+
when /public\ / then public
|
39
|
+
when /internal\ / then internal
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def self.from_human_string(string)
|
44
|
+
case string.to_s.downcase
|
45
|
+
when 'private' then private
|
46
|
+
when 'internal' then internal
|
47
|
+
when 'public' then public
|
48
|
+
else raise "cannot initialize AccessControlLevel with '#{string}'"
|
43
49
|
end
|
44
50
|
end
|
45
51
|
|
@@ -28,14 +28,23 @@ module Jazzy
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def mark?
|
31
|
-
kind == 'source.lang.swift.syntaxtype.comment.mark'
|
31
|
+
kind == 'source.lang.swift.syntaxtype.comment.mark' ||
|
32
|
+
kind == 'sourcekitten.source.lang.objc.mark'
|
32
33
|
end
|
33
34
|
|
34
|
-
def
|
35
|
+
def objc_enum?
|
36
|
+
kind == 'sourcekitten.source.lang.objc.decl.enum'
|
37
|
+
end
|
38
|
+
|
39
|
+
def objc_typedef?
|
40
|
+
kind == 'sourcekitten.source.lang.objc.decl.typedef'
|
41
|
+
end
|
42
|
+
|
43
|
+
def swift_enum_case?
|
35
44
|
kind == 'source.lang.swift.decl.enumcase'
|
36
45
|
end
|
37
46
|
|
38
|
-
def
|
47
|
+
def swift_enum_element?
|
39
48
|
kind == 'source.lang.swift.decl.enumelement'
|
40
49
|
end
|
41
50
|
|
@@ -44,13 +53,22 @@ module Jazzy
|
|
44
53
|
end
|
45
54
|
|
46
55
|
def declaration?
|
47
|
-
kind
|
56
|
+
kind.start_with?('source.lang.swift.decl') ||
|
57
|
+
kind.start_with?('sourcekitten.source.lang.objc.decl')
|
48
58
|
end
|
49
59
|
|
50
|
-
def
|
60
|
+
def swift_extension?
|
51
61
|
kind =~ /^source\.lang\.swift\.decl\.extension.*/
|
52
62
|
end
|
53
63
|
|
64
|
+
def swift_extensible?
|
65
|
+
kind =~ /^source\.lang\.swift\.decl\.(class|struct|protocol|enum)$/
|
66
|
+
end
|
67
|
+
|
68
|
+
def swift_protocol?
|
69
|
+
kind == 'source.lang.swift.decl.protocol'
|
70
|
+
end
|
71
|
+
|
54
72
|
def param?
|
55
73
|
# SourceKit strangely categorizes initializer parameters as local
|
56
74
|
# variables, so both kinds represent a parameter in jazzy.
|
@@ -72,6 +90,62 @@ module Jazzy
|
|
72
90
|
end
|
73
91
|
|
74
92
|
TYPES = {
|
93
|
+
# Objective-C
|
94
|
+
|
95
|
+
'sourcekitten.source.lang.objc.decl.category' => {
|
96
|
+
jazzy: 'Category',
|
97
|
+
dash: 'Extension',
|
98
|
+
}.freeze,
|
99
|
+
'sourcekitten.source.lang.objc.decl.class' => {
|
100
|
+
jazzy: 'Class',
|
101
|
+
dash: 'Class',
|
102
|
+
}.freeze,
|
103
|
+
'sourcekitten.source.lang.objc.decl.constant' => {
|
104
|
+
jazzy: 'Constant',
|
105
|
+
dash: 'Constant',
|
106
|
+
}.freeze,
|
107
|
+
'sourcekitten.source.lang.objc.decl.enum' => {
|
108
|
+
jazzy: 'Enum',
|
109
|
+
dash: 'Enum',
|
110
|
+
}.freeze,
|
111
|
+
'sourcekitten.source.lang.objc.decl.enumcase' => {
|
112
|
+
jazzy: 'Enum Case',
|
113
|
+
dash: 'Case',
|
114
|
+
}.freeze,
|
115
|
+
'sourcekitten.source.lang.objc.decl.initializer' => {
|
116
|
+
jazzy: 'Initializer',
|
117
|
+
dash: 'Initializer',
|
118
|
+
}.freeze,
|
119
|
+
'sourcekitten.source.lang.objc.decl.method.class' => {
|
120
|
+
jazzy: 'Class Method',
|
121
|
+
dash: 'Method',
|
122
|
+
}.freeze,
|
123
|
+
'sourcekitten.source.lang.objc.decl.method.instance' => {
|
124
|
+
jazzy: 'Instance Method',
|
125
|
+
dash: 'Method',
|
126
|
+
}.freeze,
|
127
|
+
'sourcekitten.source.lang.objc.decl.property' => {
|
128
|
+
jazzy: 'Property',
|
129
|
+
dash: 'Property',
|
130
|
+
}.freeze,
|
131
|
+
'sourcekitten.source.lang.objc.decl.protocol' => {
|
132
|
+
jazzy: 'Protocol',
|
133
|
+
dash: 'Protocol',
|
134
|
+
}.freeze,
|
135
|
+
'sourcekitten.source.lang.objc.decl.typedef' => {
|
136
|
+
jazzy: 'Type Definition',
|
137
|
+
dash: 'Alias',
|
138
|
+
}.freeze,
|
139
|
+
'sourcekitten.source.lang.objc.mark' => {
|
140
|
+
jazzy: 'Mark',
|
141
|
+
dash: 'Mark',
|
142
|
+
}.freeze,
|
143
|
+
'sourcekitten.source.lang.objc.decl.function' => {
|
144
|
+
jazzy: 'Function',
|
145
|
+
dash: 'Function',
|
146
|
+
}.freeze,
|
147
|
+
|
148
|
+
# Swift
|
75
149
|
'source.lang.swift.decl.function.accessor.address' => {
|
76
150
|
jazzy: 'Address Accessor',
|
77
151
|
dash: 'Function',
|