redsnow 0.1.6 → 0.2.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/CHANGELOG.md +2 -0
- data/ext/snowcrash/Makefile +1 -1
- data/ext/snowcrash/bin/snowcrash +0 -0
- data/ext/snowcrash/configure +9 -9
- data/ext/snowcrash/ext/markdown-parser/Makefile +87 -0
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/CONTRIBUTING.md +0 -0
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/Makefile +2 -1
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/Makefile.win +0 -0
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/examples/smartypants.c +0 -0
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/examples/sundown.c +0 -0
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/html/houdini.h +0 -0
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/html/houdini_href_e.c +0 -0
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/html/houdini_html_e.c +0 -0
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/html/html.c +0 -0
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/html/html.h +0 -0
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/html/html_smartypants.c +0 -0
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/html_block_names.txt +0 -0
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/src/autolink.c +0 -0
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/src/autolink.h +0 -0
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/src/buffer.c +0 -0
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/src/buffer.h +1 -1
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/src/html_blocks.h +0 -0
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/src/markdown.c +9 -3
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/src/markdown.h +0 -0
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/src/src_map.c +11 -7
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/src/src_map.h +1 -1
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/src/stack.c +0 -0
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/src/stack.h +0 -0
- data/ext/snowcrash/{sundown → ext/markdown-parser/ext/sundown}/sundown.def +0 -0
- data/ext/snowcrash/ext/markdown-parser/msvc/markdown/markdown.vcproj +188 -0
- data/ext/snowcrash/ext/markdown-parser/msvc/msvc.sln +38 -0
- data/ext/snowcrash/ext/markdown-parser/msvc/sundown/sundown.vcproj +206 -0
- data/ext/snowcrash/ext/markdown-parser/src/ByteBuffer.cc +92 -0
- data/ext/snowcrash/ext/markdown-parser/src/ByteBuffer.h +82 -0
- data/ext/snowcrash/ext/markdown-parser/src/MarkdownNode.cc +152 -0
- data/ext/snowcrash/ext/markdown-parser/src/MarkdownNode.h +103 -0
- data/ext/snowcrash/ext/markdown-parser/src/MarkdownParser.cc +388 -0
- data/ext/snowcrash/{src → ext/markdown-parser/src}/MarkdownParser.h +43 -33
- data/ext/snowcrash/snowcrash.gyp +114 -63
- data/ext/snowcrash/src/ActionParser.h +334 -398
- data/ext/snowcrash/src/AssetParser.h +82 -171
- data/ext/snowcrash/src/Blueprint.h +7 -2
- data/ext/snowcrash/src/BlueprintParser.h +212 -286
- data/ext/snowcrash/src/BlueprintUtility.h +2 -2
- data/ext/snowcrash/src/CBlueprint.h +1 -1
- data/ext/snowcrash/src/CSourceAnnotation.cc +11 -11
- data/ext/snowcrash/src/CSourceAnnotation.h +9 -9
- data/ext/snowcrash/src/CodeBlockUtility.h +199 -149
- data/ext/snowcrash/src/HeadersParser.h +197 -0
- data/ext/snowcrash/src/ParameterParser.h +429 -0
- data/ext/snowcrash/src/ParametersParser.h +136 -211
- data/ext/snowcrash/src/PayloadParser.h +458 -562
- data/ext/snowcrash/src/Platform.h +0 -3
- data/ext/snowcrash/src/ResourceGroupParser.h +183 -164
- data/ext/snowcrash/src/ResourceParser.h +325 -493
- data/ext/snowcrash/src/Section.cc +42 -0
- data/ext/snowcrash/src/Section.h +47 -0
- data/ext/snowcrash/src/SectionParser.h +229 -0
- data/ext/snowcrash/src/SectionParserData.h +81 -0
- data/ext/snowcrash/src/SectionProcessor.h +211 -0
- data/ext/snowcrash/src/Signature.cc +74 -0
- data/ext/snowcrash/src/Signature.h +32 -0
- data/ext/snowcrash/src/SourceAnnotation.h +7 -20
- data/ext/snowcrash/src/StringUtility.h +30 -10
- data/ext/snowcrash/src/SymbolTable.h +7 -7
- data/ext/snowcrash/src/UriTemplateParser.cc +10 -10
- data/ext/snowcrash/src/UriTemplateParser.h +11 -14
- data/ext/snowcrash/src/ValuesParser.h +122 -0
- data/ext/snowcrash/src/Version.h +2 -2
- data/ext/snowcrash/src/csnowcrash.cc +5 -5
- data/ext/snowcrash/src/csnowcrash.h +3 -3
- data/ext/snowcrash/src/snowcrash.cc +74 -4
- data/ext/snowcrash/src/snowcrash.h +9 -4
- data/ext/snowcrash/src/snowcrash/snowcrash.cc +16 -16
- data/ext/snowcrash/tools/homebrew/snowcrash.rb +3 -2
- data/ext/snowcrash/vcbuild.bat +13 -4
- data/lib/redsnow.rb +5 -5
- data/lib/redsnow/binding.rb +1 -1
- data/lib/redsnow/blueprint.rb +33 -2
- data/lib/redsnow/parseresult.rb +7 -4
- data/lib/redsnow/version.rb +1 -1
- data/test/redsnow_binding_test.rb +6 -6
- data/test/redsnow_parseresult_test.rb +1 -1
- metadata +62 -42
- data/ext/snowcrash/src/BlockUtility.h +0 -186
- data/ext/snowcrash/src/BlueprintParserCore.h +0 -190
- data/ext/snowcrash/src/BlueprintSection.h +0 -140
- data/ext/snowcrash/src/DescriptionSectionUtility.h +0 -156
- data/ext/snowcrash/src/HeaderParser.h +0 -289
- data/ext/snowcrash/src/ListBlockUtility.h +0 -273
- data/ext/snowcrash/src/ListUtility.h +0 -95
- data/ext/snowcrash/src/MarkdownBlock.cc +0 -176
- data/ext/snowcrash/src/MarkdownBlock.h +0 -93
- data/ext/snowcrash/src/MarkdownParser.cc +0 -266
- data/ext/snowcrash/src/ParameterDefinitonParser.h +0 -645
- data/ext/snowcrash/src/Parser.cc +0 -71
- data/ext/snowcrash/src/Parser.h +0 -29
- data/ext/snowcrash/src/ParserCore.cc +0 -120
- data/ext/snowcrash/src/ParserCore.h +0 -82
- data/ext/snowcrash/src/SectionUtility.h +0 -142
data/lib/redsnow/parseresult.rb
CHANGED
@@ -15,13 +15,14 @@ module RedSnow
|
|
15
15
|
# Supported version of Api Blueprint
|
16
16
|
SUPPORTED_VERSIONS = ["2.0"]
|
17
17
|
|
18
|
-
# @param
|
19
|
-
def initialize(blueprint_handle,
|
18
|
+
# @param report_handle [FFI::Pointer]
|
19
|
+
def initialize(blueprint_handle, report_handle)
|
20
20
|
|
21
21
|
@ast = Blueprint.new(blueprint_handle)
|
22
|
-
warnings = RedSnow::Binding.sc_warnings_handler(
|
22
|
+
warnings = RedSnow::Binding.sc_warnings_handler(report_handle)
|
23
23
|
warningsSize = RedSnow::Binding.sc_warnings_size(warnings)
|
24
24
|
@warnings = Array.new
|
25
|
+
|
25
26
|
for index in 0..(warningsSize - 1) do
|
26
27
|
sc_warning_handler = RedSnow::Binding.sc_warning_handler(warnings, index)
|
27
28
|
|
@@ -33,6 +34,7 @@ module RedSnow
|
|
33
34
|
sc_location_handler = RedSnow::Binding.sc_location_handler(sc_warning_handler)
|
34
35
|
sc_location_size = RedSnow::Binding.sc_location_size(sc_location_handler)
|
35
36
|
warning[:location] = Array.new
|
37
|
+
|
36
38
|
if sc_location_size > 0
|
37
39
|
for index in 0..(sc_location_size - 1)
|
38
40
|
location = Location.new(sc_location_handler, index)
|
@@ -42,7 +44,7 @@ module RedSnow
|
|
42
44
|
@warnings << warning
|
43
45
|
end
|
44
46
|
|
45
|
-
error_handler = RedSnow::Binding.sc_error_handler(
|
47
|
+
error_handler = RedSnow::Binding.sc_error_handler(report_handle)
|
46
48
|
@error = Hash.new
|
47
49
|
@error[:message] = RedSnow::Binding.sc_error_message(error_handler)
|
48
50
|
@error[:code] = RedSnow::Binding.sc_error_code(error_handler)
|
@@ -51,6 +53,7 @@ module RedSnow
|
|
51
53
|
sc_location_handler = RedSnow::Binding.sc_location_handler(error_handler)
|
52
54
|
sc_location_size = RedSnow::Binding.sc_location_size(sc_location_handler)
|
53
55
|
@error[:location] = Array.new
|
56
|
+
|
54
57
|
if sc_location_size > 0
|
55
58
|
for index in 0..(sc_location_size - 1) do
|
56
59
|
location = Location.new(sc_location_handler, index)
|
data/lib/redsnow/version.rb
CHANGED
@@ -6,12 +6,12 @@ class RedSnowBindingTest < Test::Unit::TestCase
|
|
6
6
|
should "convert API Blueprint to AST" do
|
7
7
|
|
8
8
|
blueprint = FFI::MemoryPointer.new :pointer
|
9
|
-
|
9
|
+
report = FFI::MemoryPointer.new :pointer
|
10
10
|
|
11
|
-
ret = RedSnow::Binding.sc_c_parse("meta: data\nfoo:bar\n#XXXX\ndescription for it", 0,
|
11
|
+
ret = RedSnow::Binding.sc_c_parse("meta: data\nfoo:bar\n#XXXX\ndescription for it", 0, report, blueprint)
|
12
12
|
|
13
13
|
blueprint = blueprint.get_pointer(0)
|
14
|
-
|
14
|
+
report = report.get_pointer(0)
|
15
15
|
assert_equal "XXXX", RedSnow::Binding.sc_blueprint_name(blueprint)
|
16
16
|
|
17
17
|
assert_equal "description for it", RedSnow::Binding.sc_blueprint_description(blueprint)
|
@@ -19,16 +19,16 @@ class RedSnowBindingTest < Test::Unit::TestCase
|
|
19
19
|
meta_data_col = RedSnow::Binding.sc_metadata_collection_handle(blueprint)
|
20
20
|
assert_equal 2, RedSnow::Binding.sc_metadata_collection_size(meta_data_col)
|
21
21
|
|
22
|
-
warnings = RedSnow::Binding.sc_warnings_handler(
|
22
|
+
warnings = RedSnow::Binding.sc_warnings_handler(report)
|
23
23
|
assert_equal 0, RedSnow::Binding.sc_warnings_size(warnings)
|
24
24
|
|
25
|
-
error = RedSnow::Binding.sc_error_handler(
|
25
|
+
error = RedSnow::Binding.sc_error_handler(report)
|
26
26
|
assert_equal '', RedSnow::Binding.sc_error_message(error)
|
27
27
|
assert_equal 0, RedSnow::Binding.sc_error_code(error)
|
28
28
|
assert_equal 0, RedSnow::Binding.sc_error_ok(error)
|
29
29
|
|
30
30
|
RedSnow::Binding.sc_blueprint_free(blueprint)
|
31
|
-
RedSnow::Binding.
|
31
|
+
RedSnow::Binding.sc_report_free(report)
|
32
32
|
|
33
33
|
end
|
34
34
|
end
|
@@ -37,7 +37,7 @@ class RedSnowParseResultTest < Test::Unit::TestCase
|
|
37
37
|
|
38
38
|
should "have some warning" do
|
39
39
|
assert_equal RedSnow::WarningCodes::EmptyDefinitionWarning, @result.warnings[0][:code]
|
40
|
-
assert_equal "
|
40
|
+
assert_equal "action is missing a response", @result.warnings[0][:message]
|
41
41
|
|
42
42
|
assert_equal 20, @result.warnings[0][:location][0].index
|
43
43
|
assert_equal 9, @result.warnings[0][:location][0].length
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redsnow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ladislav Prskavec
|
@@ -144,10 +144,16 @@ files:
|
|
144
144
|
- ext/snowcrash/bin/snowcrash
|
145
145
|
- ext/snowcrash/build/Makefile
|
146
146
|
- ext/snowcrash/build/gyp-mac-tool
|
147
|
+
- ext/snowcrash/build/libmarkdownparser.target.mk
|
147
148
|
- ext/snowcrash/build/libsnowcrash.target.mk
|
149
|
+
- ext/snowcrash/build/libsundown.target.mk
|
150
|
+
- ext/snowcrash/build/out/Release/libmarkdownparser.a
|
148
151
|
- ext/snowcrash/build/out/Release/libsnowcrash.dylib
|
149
152
|
- ext/snowcrash/build/out/Release/libsundown.a
|
150
153
|
- ext/snowcrash/build/out/Release/linker.lock
|
154
|
+
- ext/snowcrash/build/out/Release/obj.target/libmarkdownparser/ext/markdown-parser/src/ByteBuffer.o
|
155
|
+
- ext/snowcrash/build/out/Release/obj.target/libmarkdownparser/ext/markdown-parser/src/MarkdownNode.o
|
156
|
+
- ext/snowcrash/build/out/Release/obj.target/libmarkdownparser/ext/markdown-parser/src/MarkdownParser.o
|
151
157
|
- ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/CBlueprint.o
|
152
158
|
- ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/CSourceAnnotation.o
|
153
159
|
- ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/HTTP.o
|
@@ -155,13 +161,24 @@ files:
|
|
155
161
|
- ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/MarkdownParser.o
|
156
162
|
- ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/Parser.o
|
157
163
|
- ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/ParserCore.o
|
164
|
+
- ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/Section.o
|
158
165
|
- ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/Serialize.o
|
159
166
|
- ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/SerializeJSON.o
|
160
167
|
- ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/SerializeYAML.o
|
168
|
+
- ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/Signature.o
|
161
169
|
- ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/UriTemplateParser.o
|
162
170
|
- ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/csnowcrash.o
|
163
171
|
- ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/posix/RegexMatch.o
|
164
172
|
- ext/snowcrash/build/out/Release/obj.target/libsnowcrash/src/snowcrash.o
|
173
|
+
- ext/snowcrash/build/out/Release/obj.target/libsundown/ext/markdown-parser/ext/sundown/html/houdini_href_e.o
|
174
|
+
- ext/snowcrash/build/out/Release/obj.target/libsundown/ext/markdown-parser/ext/sundown/html/houdini_html_e.o
|
175
|
+
- ext/snowcrash/build/out/Release/obj.target/libsundown/ext/markdown-parser/ext/sundown/html/html.o
|
176
|
+
- ext/snowcrash/build/out/Release/obj.target/libsundown/ext/markdown-parser/ext/sundown/html/html_smartypants.o
|
177
|
+
- ext/snowcrash/build/out/Release/obj.target/libsundown/ext/markdown-parser/ext/sundown/src/autolink.o
|
178
|
+
- ext/snowcrash/build/out/Release/obj.target/libsundown/ext/markdown-parser/ext/sundown/src/buffer.o
|
179
|
+
- ext/snowcrash/build/out/Release/obj.target/libsundown/ext/markdown-parser/ext/sundown/src/markdown.o
|
180
|
+
- ext/snowcrash/build/out/Release/obj.target/libsundown/ext/markdown-parser/ext/sundown/src/src_map.o
|
181
|
+
- ext/snowcrash/build/out/Release/obj.target/libsundown/ext/markdown-parser/ext/sundown/src/stack.o
|
165
182
|
- ext/snowcrash/build/out/Release/obj.target/snowcrash/src/snowcrash/snowcrash.o
|
166
183
|
- ext/snowcrash/build/out/Release/obj.target/sundown/sundown/html/houdini_href_e.o
|
167
184
|
- ext/snowcrash/build/out/Release/obj.target/sundown/sundown/html/houdini_html_e.o
|
@@ -181,54 +198,81 @@ files:
|
|
181
198
|
- ext/snowcrash/config.gypi
|
182
199
|
- ext/snowcrash/config.mk
|
183
200
|
- ext/snowcrash/configure
|
201
|
+
- ext/snowcrash/ext/markdown-parser/Makefile
|
202
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/CONTRIBUTING.md
|
203
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/Makefile
|
204
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/Makefile.win
|
205
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/examples/smartypants.c
|
206
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/examples/sundown.c
|
207
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/html/houdini.h
|
208
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/html/houdini_href_e.c
|
209
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/html/houdini_html_e.c
|
210
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/html/html.c
|
211
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/html/html.h
|
212
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/html/html_smartypants.c
|
213
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/html_block_names.txt
|
214
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/src/autolink.c
|
215
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/src/autolink.h
|
216
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/src/buffer.c
|
217
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/src/buffer.h
|
218
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/src/html_blocks.h
|
219
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/src/markdown.c
|
220
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/src/markdown.h
|
221
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/src/src_map.c
|
222
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/src/src_map.h
|
223
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/src/stack.c
|
224
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/src/stack.h
|
225
|
+
- ext/snowcrash/ext/markdown-parser/ext/sundown/sundown.def
|
226
|
+
- ext/snowcrash/ext/markdown-parser/msvc/markdown/markdown.vcproj
|
227
|
+
- ext/snowcrash/ext/markdown-parser/msvc/msvc.sln
|
228
|
+
- ext/snowcrash/ext/markdown-parser/msvc/sundown/sundown.vcproj
|
229
|
+
- ext/snowcrash/ext/markdown-parser/src/ByteBuffer.cc
|
230
|
+
- ext/snowcrash/ext/markdown-parser/src/ByteBuffer.h
|
231
|
+
- ext/snowcrash/ext/markdown-parser/src/MarkdownNode.cc
|
232
|
+
- ext/snowcrash/ext/markdown-parser/src/MarkdownNode.h
|
233
|
+
- ext/snowcrash/ext/markdown-parser/src/MarkdownParser.cc
|
234
|
+
- ext/snowcrash/ext/markdown-parser/src/MarkdownParser.h
|
184
235
|
- ext/snowcrash/provisioning.sh
|
185
236
|
- ext/snowcrash/snowcrash.gyp
|
186
237
|
- ext/snowcrash/src/ActionParser.h
|
187
238
|
- ext/snowcrash/src/AssetParser.h
|
188
|
-
- ext/snowcrash/src/BlockUtility.h
|
189
239
|
- ext/snowcrash/src/Blueprint.h
|
190
240
|
- ext/snowcrash/src/BlueprintParser.h
|
191
|
-
- ext/snowcrash/src/BlueprintParserCore.h
|
192
|
-
- ext/snowcrash/src/BlueprintSection.h
|
193
241
|
- ext/snowcrash/src/BlueprintUtility.h
|
194
242
|
- ext/snowcrash/src/CBlueprint.cc
|
195
243
|
- ext/snowcrash/src/CBlueprint.h
|
196
244
|
- ext/snowcrash/src/CSourceAnnotation.cc
|
197
245
|
- ext/snowcrash/src/CSourceAnnotation.h
|
198
246
|
- ext/snowcrash/src/CodeBlockUtility.h
|
199
|
-
- ext/snowcrash/src/DescriptionSectionUtility.h
|
200
247
|
- ext/snowcrash/src/HTTP.cc
|
201
248
|
- ext/snowcrash/src/HTTP.h
|
202
|
-
- ext/snowcrash/src/
|
203
|
-
- ext/snowcrash/src/
|
204
|
-
- ext/snowcrash/src/ListUtility.h
|
205
|
-
- ext/snowcrash/src/MarkdownBlock.cc
|
206
|
-
- ext/snowcrash/src/MarkdownBlock.h
|
207
|
-
- ext/snowcrash/src/MarkdownParser.cc
|
208
|
-
- ext/snowcrash/src/MarkdownParser.h
|
209
|
-
- ext/snowcrash/src/ParameterDefinitonParser.h
|
249
|
+
- ext/snowcrash/src/HeadersParser.h
|
250
|
+
- ext/snowcrash/src/ParameterParser.h
|
210
251
|
- ext/snowcrash/src/ParametersParser.h
|
211
|
-
- ext/snowcrash/src/Parser.cc
|
212
|
-
- ext/snowcrash/src/Parser.h
|
213
|
-
- ext/snowcrash/src/ParserCore.cc
|
214
|
-
- ext/snowcrash/src/ParserCore.h
|
215
252
|
- ext/snowcrash/src/PayloadParser.h
|
216
253
|
- ext/snowcrash/src/Platform.h
|
217
254
|
- ext/snowcrash/src/RegexMatch.h
|
218
255
|
- ext/snowcrash/src/ResourceGroupParser.h
|
219
256
|
- ext/snowcrash/src/ResourceParser.h
|
220
|
-
- ext/snowcrash/src/
|
257
|
+
- ext/snowcrash/src/Section.cc
|
258
|
+
- ext/snowcrash/src/Section.h
|
259
|
+
- ext/snowcrash/src/SectionParser.h
|
260
|
+
- ext/snowcrash/src/SectionParserData.h
|
261
|
+
- ext/snowcrash/src/SectionProcessor.h
|
221
262
|
- ext/snowcrash/src/Serialize.cc
|
222
263
|
- ext/snowcrash/src/Serialize.h
|
223
264
|
- ext/snowcrash/src/SerializeJSON.cc
|
224
265
|
- ext/snowcrash/src/SerializeJSON.h
|
225
266
|
- ext/snowcrash/src/SerializeYAML.cc
|
226
267
|
- ext/snowcrash/src/SerializeYAML.h
|
268
|
+
- ext/snowcrash/src/Signature.cc
|
269
|
+
- ext/snowcrash/src/Signature.h
|
227
270
|
- ext/snowcrash/src/SourceAnnotation.h
|
228
271
|
- ext/snowcrash/src/StringUtility.h
|
229
272
|
- ext/snowcrash/src/SymbolTable.h
|
230
273
|
- ext/snowcrash/src/UriTemplateParser.cc
|
231
274
|
- ext/snowcrash/src/UriTemplateParser.h
|
275
|
+
- ext/snowcrash/src/ValuesParser.h
|
232
276
|
- ext/snowcrash/src/Version.h
|
233
277
|
- ext/snowcrash/src/csnowcrash.cc
|
234
278
|
- ext/snowcrash/src/csnowcrash.h
|
@@ -237,30 +281,6 @@ files:
|
|
237
281
|
- ext/snowcrash/src/snowcrash.h
|
238
282
|
- ext/snowcrash/src/snowcrash/snowcrash.cc
|
239
283
|
- ext/snowcrash/src/win/RegexMatch.cc
|
240
|
-
- ext/snowcrash/sundown/CONTRIBUTING.md
|
241
|
-
- ext/snowcrash/sundown/Makefile
|
242
|
-
- ext/snowcrash/sundown/Makefile.win
|
243
|
-
- ext/snowcrash/sundown/examples/smartypants.c
|
244
|
-
- ext/snowcrash/sundown/examples/sundown.c
|
245
|
-
- ext/snowcrash/sundown/html/houdini.h
|
246
|
-
- ext/snowcrash/sundown/html/houdini_href_e.c
|
247
|
-
- ext/snowcrash/sundown/html/houdini_html_e.c
|
248
|
-
- ext/snowcrash/sundown/html/html.c
|
249
|
-
- ext/snowcrash/sundown/html/html.h
|
250
|
-
- ext/snowcrash/sundown/html/html_smartypants.c
|
251
|
-
- ext/snowcrash/sundown/html_block_names.txt
|
252
|
-
- ext/snowcrash/sundown/src/autolink.c
|
253
|
-
- ext/snowcrash/sundown/src/autolink.h
|
254
|
-
- ext/snowcrash/sundown/src/buffer.c
|
255
|
-
- ext/snowcrash/sundown/src/buffer.h
|
256
|
-
- ext/snowcrash/sundown/src/html_blocks.h
|
257
|
-
- ext/snowcrash/sundown/src/markdown.c
|
258
|
-
- ext/snowcrash/sundown/src/markdown.h
|
259
|
-
- ext/snowcrash/sundown/src/src_map.c
|
260
|
-
- ext/snowcrash/sundown/src/src_map.h
|
261
|
-
- ext/snowcrash/sundown/src/stack.c
|
262
|
-
- ext/snowcrash/sundown/src/stack.h
|
263
|
-
- ext/snowcrash/sundown/sundown.def
|
264
284
|
- ext/snowcrash/tools/gyp/AUTHORS
|
265
285
|
- ext/snowcrash/tools/gyp/DEPS
|
266
286
|
- ext/snowcrash/tools/gyp/OWNERS
|
@@ -1,186 +0,0 @@
|
|
1
|
-
//
|
2
|
-
// BlockUtility.h
|
3
|
-
// snowcrash
|
4
|
-
//
|
5
|
-
// Created by Zdenek Nemec on 11/11/13.
|
6
|
-
// Copyright (c) 2013 Apiary Inc. All rights reserved.
|
7
|
-
//
|
8
|
-
|
9
|
-
#ifndef SNOWCRASH_BLOCKUTILITY_H
|
10
|
-
#define SNOWCRASH_BLOCKUTILITY_H
|
11
|
-
|
12
|
-
#include "BlueprintSection.h"
|
13
|
-
#include "StringUtility.h"
|
14
|
-
|
15
|
-
namespace snowcrash {
|
16
|
-
|
17
|
-
/**
|
18
|
-
* \brief Skip to the matching closing block.
|
19
|
-
* \param begin Begin of the section inside a block buffer.
|
20
|
-
* \param end End of the block buffer.
|
21
|
-
* \param sectionBegin A %MarkdownBlockType of the beginning.
|
22
|
-
* \param sectionEnd A %MarkdownBlockType of the end.
|
23
|
-
* \return An iterator pointing to the end of the section.
|
24
|
-
*
|
25
|
-
* Advances iterator from the begin of a section to the end
|
26
|
-
* of a section at the same nesting level.
|
27
|
-
*/
|
28
|
-
FORCEINLINE BlockIterator SkipToClosingBlock(const BlockIterator& begin,
|
29
|
-
const BlockIterator& end,
|
30
|
-
MarkdownBlockType sectionBegin,
|
31
|
-
MarkdownBlockType sectionEnd) {
|
32
|
-
|
33
|
-
BlockIterator currentBlock = begin;
|
34
|
-
if (currentBlock->type == sectionBegin) {
|
35
|
-
int level = 1;
|
36
|
-
++currentBlock;
|
37
|
-
while (currentBlock != end && level) {
|
38
|
-
if (currentBlock->type == sectionBegin)
|
39
|
-
++level;
|
40
|
-
|
41
|
-
if (currentBlock->type == sectionEnd)
|
42
|
-
--level;
|
43
|
-
|
44
|
-
if (level)
|
45
|
-
++currentBlock;
|
46
|
-
}
|
47
|
-
}
|
48
|
-
|
49
|
-
return currentBlock;
|
50
|
-
}
|
51
|
-
|
52
|
-
/**
|
53
|
-
* \brief Parse one line of raw `key:value` data.
|
54
|
-
* \param line A line to parse.
|
55
|
-
* \param keyValuePair The output buffer to place the parsed data into.
|
56
|
-
* \return True on success, false otherwise.
|
57
|
-
*/
|
58
|
-
FORCEINLINE bool KeyValueFromLine(const std::string& line,
|
59
|
-
KeyValuePair& keyValuePair) {
|
60
|
-
|
61
|
-
std::vector<std::string> rawMetadata = SplitOnFirst(line, ':');
|
62
|
-
if (rawMetadata.size() != 2)
|
63
|
-
return false;
|
64
|
-
|
65
|
-
keyValuePair = std::make_pair(rawMetadata[0], rawMetadata[1]);
|
66
|
-
TrimString(keyValuePair.first);
|
67
|
-
TrimString(keyValuePair.second);
|
68
|
-
|
69
|
-
return (!keyValuePair.first.empty() && !keyValuePair.second.empty());
|
70
|
-
}
|
71
|
-
|
72
|
-
/**
|
73
|
-
* \brief Construct unexpected block error message for given block.
|
74
|
-
* \param section A section being parsed.
|
75
|
-
* \param cue Cursor to the unexpected markdown block.
|
76
|
-
* \param sourceData Source data byte buffer.
|
77
|
-
* \return An Error with description relevant to the type of the unexpected block.
|
78
|
-
*
|
79
|
-
* This function
|
80
|
-
*/
|
81
|
-
FORCEINLINE Error UnexpectedBlockError(const BlueprintSection& section,
|
82
|
-
const BlockIterator& cur,
|
83
|
-
const SourceData& sourceData) {
|
84
|
-
|
85
|
-
|
86
|
-
std::stringstream ss;
|
87
|
-
ss << "unexpected " << BlockName(cur->type) << " block";
|
88
|
-
|
89
|
-
if (section.hasParent()) {
|
90
|
-
|
91
|
-
switch (section.parent().type) {
|
92
|
-
|
93
|
-
// Top-level section
|
94
|
-
case UndefinedSectionType:
|
95
|
-
ss << ", expected a group, resource or an action definition, e.g. ";
|
96
|
-
ss << "'# Group <name>', '# <resource name> [<URI>]' or '# <HTTP method> <URI>'";
|
97
|
-
break;
|
98
|
-
|
99
|
-
// TODO: other sections
|
100
|
-
|
101
|
-
default:
|
102
|
-
break;
|
103
|
-
}
|
104
|
-
}
|
105
|
-
|
106
|
-
return Error(ss.str(),
|
107
|
-
BusinessError,
|
108
|
-
MapSourceDataBlock(cur->sourceMap, sourceData));
|
109
|
-
}
|
110
|
-
|
111
|
-
|
112
|
-
/**
|
113
|
-
* \brief Retrieves source code character map for a markdown block.
|
114
|
-
* \param cur A block to retrieve the characters map for.
|
115
|
-
* \param fallback Alternative block if %cur map source does not exists.
|
116
|
-
* \param bounds Boundaries of the %cur and %fallback container.
|
117
|
-
* \param sourceData Source data to map.
|
118
|
-
* \returns Character map for given markdown block or its alternative block,
|
119
|
-
* if exists. Empty source character map otherwise.
|
120
|
-
*/
|
121
|
-
FORCEINLINE SourceCharactersBlock CharacterMapForBlock(const BlockIterator& cur,
|
122
|
-
const BlockIterator& fallback,
|
123
|
-
const SectionBounds& bounds,
|
124
|
-
const SourceData& sourceData)
|
125
|
-
{
|
126
|
-
// Try to use cursor's source map
|
127
|
-
if (cur != bounds.second &&
|
128
|
-
!cur->sourceMap.empty()) {
|
129
|
-
return MapSourceDataBlock(cur->sourceMap, sourceData);
|
130
|
-
}
|
131
|
-
|
132
|
-
// Fallback to alternative (previous) block
|
133
|
-
if (fallback != bounds.second &&
|
134
|
-
!fallback->sourceMap.empty()) {
|
135
|
-
return MapSourceDataBlock(fallback->sourceMap, sourceData);
|
136
|
-
}
|
137
|
-
|
138
|
-
return SourceCharactersBlock();
|
139
|
-
}
|
140
|
-
|
141
|
-
/**
|
142
|
-
* \brief Checks cursor validity within its container.
|
143
|
-
* \param section A section to check against.
|
144
|
-
* \param cur An iterator to be checked.
|
145
|
-
* \param sourceData Source data byte buffer.
|
146
|
-
* \param result Error result output, an error object is added in case of failed check.
|
147
|
-
* \returns True if cursor appears to be valid, false otherwise.
|
148
|
-
*/
|
149
|
-
FORCEINLINE bool CheckCursor(const BlueprintSection& section,
|
150
|
-
const BlockIterator& cur,
|
151
|
-
const SourceData& sourceData,
|
152
|
-
Result& result) {
|
153
|
-
if (cur != section.bounds.second)
|
154
|
-
return true;
|
155
|
-
|
156
|
-
if (!section.hasParent() ||
|
157
|
-
section.parent().bounds.first->sourceMap.empty())
|
158
|
-
return false;
|
159
|
-
|
160
|
-
// ERR: Sanity check
|
161
|
-
SourceCharactersBlock sourceBlock = CharacterMapForBlock(section.parent().bounds.first,
|
162
|
-
section.parent().bounds.second,
|
163
|
-
section.parent().bounds,
|
164
|
-
sourceData);
|
165
|
-
result.error = Error("unexpected markdown closure",
|
166
|
-
ApplicationError,
|
167
|
-
sourceBlock);
|
168
|
-
return false;
|
169
|
-
}
|
170
|
-
|
171
|
-
/**
|
172
|
-
* \brief Check header block for an potential ambiguous signature
|
173
|
-
* \return True if a header does not contain potential ambiguous signature, false otherwise.
|
174
|
-
*/
|
175
|
-
template <class T>
|
176
|
-
FORCEINLINE bool CheckHeaderBlock(const BlueprintSection& section,
|
177
|
-
const BlockIterator& cur,
|
178
|
-
const SourceData& sourceData,
|
179
|
-
Result& result) {
|
180
|
-
|
181
|
-
return false;
|
182
|
-
}
|
183
|
-
}
|
184
|
-
|
185
|
-
|
186
|
-
#endif
|