jazzy 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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',
|