lounge_lizard 0.1.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 +7 -0
- data/.gitignore +11 -0
- data/.gitmodules +3 -0
- data/.rspec +2 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +4 -0
- data/Guardfile +33 -0
- data/LICENSE.txt +21 -0
- data/README.md +50 -0
- data/Rakefile +43 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/circle.yml +14 -0
- data/ext/drafter/CHANGELOG.md +278 -0
- data/ext/drafter/Dockerfile +17 -0
- data/ext/drafter/Makefile +62 -0
- data/ext/drafter/appveyor.yml +17 -0
- data/ext/drafter/bin/drafter +0 -0
- data/ext/drafter/build/Makefile +387 -0
- data/ext/drafter/build/drafter.Makefile +6 -0
- data/ext/drafter/build/drafter.target.mk +159 -0
- data/ext/drafter/build/ext/snowcrash/libmarkdownparser.target.mk +141 -0
- data/ext/drafter/build/ext/snowcrash/libsnowcrash.target.mk +154 -0
- data/ext/drafter/build/ext/snowcrash/libsundown.target.mk +149 -0
- data/ext/drafter/build/ext/snowcrash/perf-libsnowcrash.target.mk +147 -0
- data/ext/drafter/build/ext/snowcrash/snowcrash.Makefile +6 -0
- data/ext/drafter/build/gyp-mac-tool +606 -0
- data/ext/drafter/build/libdrafter.target.mk +186 -0
- data/ext/drafter/build/libsos.target.mk +137 -0
- data/ext/drafter/build/out/Release/drafter +0 -0
- data/ext/drafter/build/out/Release/libdrafter.dylib +0 -0
- data/ext/drafter/build/out/Release/libmarkdownparser.a +0 -0
- data/ext/drafter/build/out/Release/libsnowcrash.a +0 -0
- data/ext/drafter/build/out/Release/libsos.a +0 -0
- data/ext/drafter/build/out/Release/libsundown.a +0 -0
- data/ext/drafter/build/out/Release/obj.target/drafter/src/config.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/drafter/src/main.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/drafter/src/reporting.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/ConversionContext.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/NamedTypesRegistry.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/RefractAPI.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/RefractDataStructure.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/RefractElementFactory.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/RefractSourceMap.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/Render.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/Serialize.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/SerializeAST.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/SerializeResult.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/SerializeSourcemap.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/drafter.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/drafter_private.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/ComparableVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/Element.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/ExpandVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/IsExpandableVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/JSONSchemaVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/PrintVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/Query.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/Registry.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/RenderJSONVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/SerializeCompactVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/SerializeVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/TypeQueryVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/VisitorUtils.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libmarkdownparser/ext/snowcrash/ext/markdown-parser/src/ByteBuffer.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libmarkdownparser/ext/snowcrash/ext/markdown-parser/src/MarkdownNode.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libmarkdownparser/ext/snowcrash/ext/markdown-parser/src/MarkdownParser.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/Blueprint.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/BlueprintSourcemap.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/HTTP.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/HeadersParser.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/MSON.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/MSONOneOfParser.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/MSONSourcemap.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/MSONTypeSectionParser.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/MSONValueMemberParser.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/Section.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/Signature.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/UriTemplateParser.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/posix/RegexMatch.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/snowcrash.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsos/ext/sos/src/sos.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/html/houdini_href_e.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/html/houdini_html_e.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/html/html.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/html/html_smartypants.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/src/autolink.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/src/buffer.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/src/markdown.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/src/src_map.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/src/stack.o +0 -0
- data/ext/drafter/circle.yml +32 -0
- data/ext/drafter/config.gypi +10 -0
- data/ext/drafter/config.mk +5 -0
- data/ext/drafter/configure +224 -0
- data/ext/drafter/drafter.gyp +189 -0
- data/ext/drafter/drafter.xcworkspace/contents.xcworkspacedata +13 -0
- data/ext/drafter/ext/snowcrash/Makefile +58 -0
- data/ext/drafter/ext/snowcrash/appveyor.yml +7 -0
- data/ext/drafter/ext/snowcrash/common.gypi +165 -0
- data/ext/drafter/ext/snowcrash/configure +197 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/Makefile +90 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/CONTRIBUTING.md +10 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/Makefile +84 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/Makefile.win +33 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/examples/smartypants.c +72 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/examples/sundown.c +80 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html/houdini.h +37 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html/houdini_href_e.c +108 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html/houdini_html_e.c +84 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html/html.c +647 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html/html.h +77 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html/html_smartypants.c +389 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html_block_names.txt +25 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/autolink.c +297 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/autolink.h +51 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/buffer.c +225 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/buffer.h +96 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/html_blocks.h +206 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/markdown.c +2726 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/markdown.h +147 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/src_map.c +204 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/src_map.h +58 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/stack.c +81 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/stack.h +29 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/sundown.def +20 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/msvc/markdown/markdown.vcproj +188 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/msvc/msvc.sln +38 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/msvc/sundown/sundown.vcproj +206 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/src/ByteBuffer.cc +160 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/src/ByteBuffer.h +90 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/src/MarkdownNode.cc +152 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/src/MarkdownNode.h +103 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/src/MarkdownParser.cc +388 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/src/MarkdownParser.h +106 -0
- data/ext/drafter/ext/snowcrash/snowcrash.gyp +196 -0
- data/ext/drafter/ext/snowcrash/src/ActionParser.h +560 -0
- data/ext/drafter/ext/snowcrash/src/AssetParser.h +123 -0
- data/ext/drafter/ext/snowcrash/src/AttributesParser.h +123 -0
- data/ext/drafter/ext/snowcrash/src/Blueprint.cc +90 -0
- data/ext/drafter/ext/snowcrash/src/Blueprint.h +489 -0
- data/ext/drafter/ext/snowcrash/src/BlueprintParser.h +845 -0
- data/ext/drafter/ext/snowcrash/src/BlueprintSourcemap.cc +81 -0
- data/ext/drafter/ext/snowcrash/src/BlueprintSourcemap.h +345 -0
- data/ext/drafter/ext/snowcrash/src/BlueprintUtility.h +111 -0
- data/ext/drafter/ext/snowcrash/src/CodeBlockUtility.h +276 -0
- data/ext/drafter/ext/snowcrash/src/DataStructureGroupParser.h +157 -0
- data/ext/drafter/ext/snowcrash/src/HTTP.cc +49 -0
- data/ext/drafter/ext/snowcrash/src/HTTP.h +108 -0
- data/ext/drafter/ext/snowcrash/src/HeadersParser.cc +117 -0
- data/ext/drafter/ext/snowcrash/src/HeadersParser.h +377 -0
- data/ext/drafter/ext/snowcrash/src/MSON.cc +272 -0
- data/ext/drafter/ext/snowcrash/src/MSON.h +405 -0
- data/ext/drafter/ext/snowcrash/src/MSONMixinParser.h +103 -0
- data/ext/drafter/ext/snowcrash/src/MSONNamedTypeParser.h +135 -0
- data/ext/drafter/ext/snowcrash/src/MSONOneOfParser.cc +132 -0
- data/ext/drafter/ext/snowcrash/src/MSONOneOfParser.h +80 -0
- data/ext/drafter/ext/snowcrash/src/MSONParameterParser.h +166 -0
- data/ext/drafter/ext/snowcrash/src/MSONPropertyMemberParser.h +106 -0
- data/ext/drafter/ext/snowcrash/src/MSONSourcemap.cc +141 -0
- data/ext/drafter/ext/snowcrash/src/MSONSourcemap.h +181 -0
- data/ext/drafter/ext/snowcrash/src/MSONTypeSectionParser.cc +209 -0
- data/ext/drafter/ext/snowcrash/src/MSONTypeSectionParser.h +213 -0
- data/ext/drafter/ext/snowcrash/src/MSONUtility.h +506 -0
- data/ext/drafter/ext/snowcrash/src/MSONValueMemberParser.cc +214 -0
- data/ext/drafter/ext/snowcrash/src/MSONValueMemberParser.h +390 -0
- data/ext/drafter/ext/snowcrash/src/ModelTable.h +87 -0
- data/ext/drafter/ext/snowcrash/src/ParameterParser.h +516 -0
- data/ext/drafter/ext/snowcrash/src/ParametersParser.h +222 -0
- data/ext/drafter/ext/snowcrash/src/PayloadParser.h +733 -0
- data/ext/drafter/ext/snowcrash/src/Platform.h +33 -0
- data/ext/drafter/ext/snowcrash/src/RegexMatch.h +32 -0
- data/ext/drafter/ext/snowcrash/src/RelationParser.h +87 -0
- data/ext/drafter/ext/snowcrash/src/ResourceGroupParser.h +297 -0
- data/ext/drafter/ext/snowcrash/src/ResourceParser.h +536 -0
- data/ext/drafter/ext/snowcrash/src/Section.cc +48 -0
- data/ext/drafter/ext/snowcrash/src/Section.h +60 -0
- data/ext/drafter/ext/snowcrash/src/SectionParser.h +246 -0
- data/ext/drafter/ext/snowcrash/src/SectionParserData.h +109 -0
- data/ext/drafter/ext/snowcrash/src/SectionProcessor.h +299 -0
- data/ext/drafter/ext/snowcrash/src/Signature.cc +75 -0
- data/ext/drafter/ext/snowcrash/src/Signature.h +103 -0
- data/ext/drafter/ext/snowcrash/src/SignatureSectionProcessor.h +442 -0
- data/ext/drafter/ext/snowcrash/src/SourceAnnotation.h +166 -0
- data/ext/drafter/ext/snowcrash/src/StringUtility.h +323 -0
- data/ext/drafter/ext/snowcrash/src/UriTemplateParser.cc +195 -0
- data/ext/drafter/ext/snowcrash/src/UriTemplateParser.h +240 -0
- data/ext/drafter/ext/snowcrash/src/ValuesParser.h +111 -0
- data/ext/drafter/ext/snowcrash/src/posix/RegexMatch.cc +99 -0
- data/ext/drafter/ext/snowcrash/src/snowcrash.cc +90 -0
- data/ext/drafter/ext/snowcrash/src/snowcrash.h +44 -0
- data/ext/drafter/ext/snowcrash/src/win/RegexMatch.cc +78 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/AUTHORS +12 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/DEPS +23 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/OWNERS +1 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/PRESUBMIT.py +137 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/buildbot/buildbot_run.py +136 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/buildbot/commit_queue/OWNERS +6 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/buildbot/commit_queue/cq_config.json +15 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/codereview.settings +10 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/data/win/large-pdb-shim.cc +12 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/gyp +8 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/gyp.bat +5 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/gyp_main.py +16 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSNew.py +340 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSProject.py +208 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSSettings.py +1096 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSToolFile.py +58 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSUserFile.py +147 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSUtil.py +270 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSUtil.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSVersion.py +445 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSVersion.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/__init__.py +548 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/__init__.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/common.py +608 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/common.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/easy_xml.py +157 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/flock_tool.py +54 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/__init__.py +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/__init__.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/analyzer.py +741 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/android.py +1069 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/cmake.py +1248 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/dump_dependency_json.py +99 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/eclipse.py +425 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/gypd.py +94 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/gypsh.py +56 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/make.py +2218 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/make.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/msvs.py +3467 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/ninja.py +2427 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/ninja.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/xcode.py +1300 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/xcode.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/input.py +2899 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/input.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/mac_tool.py +605 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/msvs_emulation.py +1093 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/msvs_emulation.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/ninja_syntax.py +160 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/ninja_syntax.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/ordered_dict.py +289 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/simple_copy.py +46 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/simple_copy.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/win_tool.py +314 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/xcode_emulation.py +1664 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/xcode_emulation.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/xcode_ninja.py +276 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/xcode_ninja.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/xcodeproj_file.py +2927 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/xcodeproj_file.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/xml_fix.py +69 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylintrc +307 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/samples/samples +81 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/samples/samples.bat +5 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/setup.py +19 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/tools/Xcode/Specifications/gyp.pbfilespec +27 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/tools/Xcode/Specifications/gyp.xclangspec +226 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/tools/emacs/gyp.el +275 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/tools/graphviz.py +100 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/tools/pretty_gyp.py +155 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/tools/pretty_sln.py +169 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/tools/pretty_vcproj.py +329 -0
- data/ext/drafter/ext/snowcrash/vcbuild.bat +139 -0
- data/ext/drafter/ext/sos/Makefile +62 -0
- data/ext/drafter/ext/sos/src/sos.cc +235 -0
- data/ext/drafter/ext/sos/src/sos.h +188 -0
- data/ext/drafter/ext/sos/src/sosJSON.h +121 -0
- data/ext/drafter/ext/sos/src/sosYAML.h +105 -0
- data/ext/drafter/src/ConversionContext.cc +39 -0
- data/ext/drafter/src/ConversionContext.h +34 -0
- data/ext/drafter/src/NamedTypesRegistry.cc +405 -0
- data/ext/drafter/src/NamedTypesRegistry.h +28 -0
- data/ext/drafter/src/NodeInfo.h +143 -0
- data/ext/drafter/src/RefractAPI.cc +579 -0
- data/ext/drafter/src/RefractAPI.h +28 -0
- data/ext/drafter/src/RefractDataStructure.cc +1199 -0
- data/ext/drafter/src/RefractDataStructure.h +26 -0
- data/ext/drafter/src/RefractElementFactory.cc +107 -0
- data/ext/drafter/src/RefractElementFactory.h +67 -0
- data/ext/drafter/src/RefractSourceMap.cc +29 -0
- data/ext/drafter/src/RefractSourceMap.h +57 -0
- data/ext/drafter/src/Render.cc +157 -0
- data/ext/drafter/src/Render.h +40 -0
- data/ext/drafter/src/Serialize.cc +160 -0
- data/ext/drafter/src/Serialize.h +289 -0
- data/ext/drafter/src/SerializeAST.cc +507 -0
- data/ext/drafter/src/SerializeAST.h +29 -0
- data/ext/drafter/src/SerializeResult.cc +170 -0
- data/ext/drafter/src/SerializeResult.h +34 -0
- data/ext/drafter/src/SerializeSourcemap.cc +331 -0
- data/ext/drafter/src/SerializeSourcemap.h +21 -0
- data/ext/drafter/src/Version.h +40 -0
- data/ext/drafter/src/config.cc +91 -0
- data/ext/drafter/src/config.h +38 -0
- data/ext/drafter/src/drafter.cc +137 -0
- data/ext/drafter/src/drafter.h +102 -0
- data/ext/drafter/src/drafter_private.cc +85 -0
- data/ext/drafter/src/drafter_private.h +34 -0
- data/ext/drafter/src/main.cc +137 -0
- data/ext/drafter/src/refract/AppendDecorator.h +58 -0
- data/ext/drafter/src/refract/Build.h +67 -0
- data/ext/drafter/src/refract/ComparableVisitor.cc +43 -0
- data/ext/drafter/src/refract/ComparableVisitor.h +62 -0
- data/ext/drafter/src/refract/Element.cc +409 -0
- data/ext/drafter/src/refract/Element.h +656 -0
- data/ext/drafter/src/refract/ElementFwd.h +37 -0
- data/ext/drafter/src/refract/ElementInserter.h +59 -0
- data/ext/drafter/src/refract/Exception.h +31 -0
- data/ext/drafter/src/refract/ExpandVisitor.cc +359 -0
- data/ext/drafter/src/refract/ExpandVisitor.h +58 -0
- data/ext/drafter/src/refract/FilterVisitor.h +52 -0
- data/ext/drafter/src/refract/IsExpandableVisitor.cc +140 -0
- data/ext/drafter/src/refract/IsExpandableVisitor.h +31 -0
- data/ext/drafter/src/refract/Iterate.h +160 -0
- data/ext/drafter/src/refract/JSONSchemaVisitor.cc +675 -0
- data/ext/drafter/src/refract/JSONSchemaVisitor.h +73 -0
- data/ext/drafter/src/refract/PrintVisitor.cc +164 -0
- data/ext/drafter/src/refract/PrintVisitor.h +50 -0
- data/ext/drafter/src/refract/Query.cc +13 -0
- data/ext/drafter/src/refract/Query.h +38 -0
- data/ext/drafter/src/refract/Registry.cc +114 -0
- data/ext/drafter/src/refract/Registry.h +43 -0
- data/ext/drafter/src/refract/RenderJSONVisitor.cc +255 -0
- data/ext/drafter/src/refract/RenderJSONVisitor.h +51 -0
- data/ext/drafter/src/refract/SerializeCompactVisitor.cc +167 -0
- data/ext/drafter/src/refract/SerializeCompactVisitor.h +56 -0
- data/ext/drafter/src/refract/SerializeVisitor.cc +214 -0
- data/ext/drafter/src/refract/SerializeVisitor.h +55 -0
- data/ext/drafter/src/refract/TypeQueryVisitor.cc +46 -0
- data/ext/drafter/src/refract/TypeQueryVisitor.h +110 -0
- data/ext/drafter/src/refract/Visitor.h +126 -0
- data/ext/drafter/src/refract/VisitorUtils.cc +63 -0
- data/ext/drafter/src/refract/VisitorUtils.h +231 -0
- data/ext/drafter/src/reporting.cc +263 -0
- data/ext/drafter/src/reporting.h +39 -0
- data/ext/drafter/src/stream.h +148 -0
- data/ext/drafter/tools/homebrew/drafter.rb +18 -0
- data/ext/drafter/tools/make-tarball.sh +39 -0
- data/ext/drafter/tools/refract-filter.py +96 -0
- data/ext/drafter/tools/release.sh +17 -0
- data/ext/drafter/vcbuild.bat +203 -0
- data/lib/lounge_lizard/binding.rb +29 -0
- data/lib/lounge_lizard/version.rb +3 -0
- data/lib/lounge_lizard.rb +18 -0
- data/lounge_lizard.gemspec +37 -0
- metadata +547 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/* markdown.h - generic markdown parser */
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* Copyright (c) 2009, Natacha Porté
|
|
5
|
+
*
|
|
6
|
+
* Permission to use, copy, modify, and distribute this software for any
|
|
7
|
+
* purpose with or without fee is hereby granted, provided that the above
|
|
8
|
+
* copyright notice and this permission notice appear in all copies.
|
|
9
|
+
*
|
|
10
|
+
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
11
|
+
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
12
|
+
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
13
|
+
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
14
|
+
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
15
|
+
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
16
|
+
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
#ifndef UPSKIRT_MARKDOWN_H
|
|
20
|
+
#define UPSKIRT_MARKDOWN_H
|
|
21
|
+
|
|
22
|
+
#include "buffer.h"
|
|
23
|
+
#include "autolink.h"
|
|
24
|
+
#include "src_map.h"
|
|
25
|
+
|
|
26
|
+
#ifdef __cplusplus
|
|
27
|
+
extern "C" {
|
|
28
|
+
#endif
|
|
29
|
+
|
|
30
|
+
#define SUNDOWN_VERSION "1.16.0"
|
|
31
|
+
#define SUNDOWN_VER_MAJOR 1
|
|
32
|
+
#define SUNDOWN_VER_MINOR 16
|
|
33
|
+
#define SUNDOWN_VER_REVISION 0
|
|
34
|
+
|
|
35
|
+
/********************
|
|
36
|
+
* TYPE DEFINITIONS *
|
|
37
|
+
********************/
|
|
38
|
+
|
|
39
|
+
/* mkd_autolink - type of autolink */
|
|
40
|
+
enum mkd_autolink {
|
|
41
|
+
MKDA_NOT_AUTOLINK, /* used internally when it is not an autolink*/
|
|
42
|
+
MKDA_NORMAL, /* normal http/http/ftp/mailto/etc link */
|
|
43
|
+
MKDA_EMAIL /* e-mail link without explit mailto: */
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
enum mkd_tableflags {
|
|
47
|
+
MKD_TABLE_ALIGN_L = 1,
|
|
48
|
+
MKD_TABLE_ALIGN_R = 2,
|
|
49
|
+
MKD_TABLE_ALIGN_CENTER = 3,
|
|
50
|
+
MKD_TABLE_ALIGNMASK = 3,
|
|
51
|
+
MKD_TABLE_HEADER = 4
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
enum mkd_extensions {
|
|
55
|
+
MKDEXT_NO_INTRA_EMPHASIS = (1 << 0),
|
|
56
|
+
MKDEXT_TABLES = (1 << 1),
|
|
57
|
+
MKDEXT_FENCED_CODE = (1 << 2),
|
|
58
|
+
MKDEXT_AUTOLINK = (1 << 3),
|
|
59
|
+
MKDEXT_STRIKETHROUGH = (1 << 4),
|
|
60
|
+
MKDEXT_SPACE_HEADERS = (1 << 6),
|
|
61
|
+
MKDEXT_SUPERSCRIPT = (1 << 7),
|
|
62
|
+
MKDEXT_LAX_SPACING = (1 << 8)
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
/* sd_callbacks - functions for rendering parsed data */
|
|
66
|
+
struct sd_callbacks {
|
|
67
|
+
/* block level callbacks - NULL skips the block */
|
|
68
|
+
void (*blockcode)(struct buf *ob, const struct buf *text, const struct buf *lang, void *opaque);
|
|
69
|
+
void (*blockquote)(struct buf *ob, const struct buf *text, void *opaque);
|
|
70
|
+
void (*blockhtml)(struct buf *ob,const struct buf *text, void *opaque);
|
|
71
|
+
void (*header)(struct buf *ob, const struct buf *text, int level, void *opaque);
|
|
72
|
+
void (*hrule)(struct buf *ob, void *opaque);
|
|
73
|
+
void (*list)(struct buf *ob, const struct buf *text, int flags, void *opaque);
|
|
74
|
+
void (*listitem)(struct buf *ob, const struct buf *text, int flags, void *opaque);
|
|
75
|
+
void (*paragraph)(struct buf *ob, const struct buf *text, void *opaque);
|
|
76
|
+
void (*table)(struct buf *ob, const struct buf *header, const struct buf *body, void *opaque);
|
|
77
|
+
void (*table_row)(struct buf *ob, const struct buf *text, void *opaque);
|
|
78
|
+
void (*table_cell)(struct buf *ob, const struct buf *text, int flags, void *opaque);
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
/* span level callbacks - NULL or return 0 prints the span verbatim */
|
|
82
|
+
int (*autolink)(struct buf *ob, const struct buf *link, enum mkd_autolink type, void *opaque);
|
|
83
|
+
int (*codespan)(struct buf *ob, const struct buf *text, void *opaque);
|
|
84
|
+
int (*double_emphasis)(struct buf *ob, const struct buf *text, void *opaque);
|
|
85
|
+
int (*emphasis)(struct buf *ob, const struct buf *text, void *opaque);
|
|
86
|
+
int (*image)(struct buf *ob, const struct buf *link, const struct buf *title, const struct buf *alt, void *opaque);
|
|
87
|
+
int (*linebreak)(struct buf *ob, void *opaque);
|
|
88
|
+
int (*link)(struct buf *ob, const struct buf *link, const struct buf *title, const struct buf *content, void *opaque);
|
|
89
|
+
int (*raw_html_tag)(struct buf *ob, const struct buf *tag, void *opaque);
|
|
90
|
+
int (*triple_emphasis)(struct buf *ob, const struct buf *text, void *opaque);
|
|
91
|
+
int (*strikethrough)(struct buf *ob, const struct buf *text, void *opaque);
|
|
92
|
+
int (*superscript)(struct buf *ob, const struct buf *text, void *opaque);
|
|
93
|
+
|
|
94
|
+
/* low level callbacks - NULL copies input directly into the output */
|
|
95
|
+
void (*entity)(struct buf *ob, const struct buf *entity, void *opaque);
|
|
96
|
+
void (*normal_text)(struct buf *ob, const struct buf *text, void *opaque);
|
|
97
|
+
|
|
98
|
+
/* header and footer */
|
|
99
|
+
void (*doc_header)(struct buf *ob, void *opaque);
|
|
100
|
+
void (*doc_footer)(struct buf *ob, void *opaque);
|
|
101
|
+
|
|
102
|
+
/* AST construction helpers */
|
|
103
|
+
void (*blockquote_begin)(void *opaque);
|
|
104
|
+
void (*list_begin)(int flags, void *opaque);
|
|
105
|
+
void (*listitem_begin)(int flags, void *opaque);
|
|
106
|
+
|
|
107
|
+
/* source map */
|
|
108
|
+
void (*block_did_parse)(const src_map* map, const uint8_t *txt_data, size_t size, void *opaque);
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
struct sd_markdown;
|
|
112
|
+
|
|
113
|
+
/*********
|
|
114
|
+
* FLAGS *
|
|
115
|
+
*********/
|
|
116
|
+
|
|
117
|
+
/* list/listitem flags */
|
|
118
|
+
#define MKD_LIST_ORDERED 1
|
|
119
|
+
#define MKD_LI_BLOCK 2 /* <li> containing block data */
|
|
120
|
+
|
|
121
|
+
/**********************
|
|
122
|
+
* EXPORTED FUNCTIONS *
|
|
123
|
+
**********************/
|
|
124
|
+
|
|
125
|
+
extern struct sd_markdown *
|
|
126
|
+
sd_markdown_new(
|
|
127
|
+
unsigned int extensions,
|
|
128
|
+
size_t max_nesting,
|
|
129
|
+
const struct sd_callbacks *callbacks,
|
|
130
|
+
void *opaque);
|
|
131
|
+
|
|
132
|
+
extern void
|
|
133
|
+
sd_markdown_render(struct buf *ob, const uint8_t *document, size_t doc_size, struct sd_markdown *md);
|
|
134
|
+
|
|
135
|
+
extern void
|
|
136
|
+
sd_markdown_free(struct sd_markdown *md);
|
|
137
|
+
|
|
138
|
+
extern void
|
|
139
|
+
sd_version(int *major, int *minor, int *revision);
|
|
140
|
+
|
|
141
|
+
#ifdef __cplusplus
|
|
142
|
+
}
|
|
143
|
+
#endif
|
|
144
|
+
|
|
145
|
+
#endif
|
|
146
|
+
|
|
147
|
+
/* vim: set filetype=c: */
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* src_map.c
|
|
3
|
+
* snowcrash
|
|
4
|
+
*
|
|
5
|
+
* Created by Zdenek Nemec on 4/21/13.
|
|
6
|
+
* Copyright (c) 2013 Apiary Inc. All rights reserved.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
#include "src_map.h"
|
|
10
|
+
|
|
11
|
+
#include <assert.h>
|
|
12
|
+
|
|
13
|
+
range *
|
|
14
|
+
range_new(size_t loc, size_t len)
|
|
15
|
+
{
|
|
16
|
+
range *r;
|
|
17
|
+
if((r = malloc(sizeof *r)) != NULL) {
|
|
18
|
+
r->loc = loc;
|
|
19
|
+
r->len = len;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return r;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
void
|
|
26
|
+
range_release(range *r)
|
|
27
|
+
{
|
|
28
|
+
if (!r)
|
|
29
|
+
return;
|
|
30
|
+
|
|
31
|
+
free(r);
|
|
32
|
+
r = NULL;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
src_map *
|
|
36
|
+
src_map_new()
|
|
37
|
+
{
|
|
38
|
+
src_map *map;
|
|
39
|
+
if ((map = malloc(sizeof *map)) != NULL) {
|
|
40
|
+
stack_init(map, 4);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return map;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
void
|
|
47
|
+
src_map_release(src_map *map)
|
|
48
|
+
{
|
|
49
|
+
size_t i = 0;
|
|
50
|
+
|
|
51
|
+
if (!map)
|
|
52
|
+
return;
|
|
53
|
+
|
|
54
|
+
for (i = 0; i < (size_t)map->asize; ++i) {
|
|
55
|
+
range_release(map->item[i]);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
stack_free(map);
|
|
59
|
+
free(map);
|
|
60
|
+
map = NULL;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
src_map *
|
|
64
|
+
src_map_new_submap(const src_map *map, const range *r)
|
|
65
|
+
{
|
|
66
|
+
size_t i;
|
|
67
|
+
size_t first_item = -1;
|
|
68
|
+
src_map *new_map = NULL;
|
|
69
|
+
size_t remain_len = 0;
|
|
70
|
+
|
|
71
|
+
if (!map ||
|
|
72
|
+
!map->size ||
|
|
73
|
+
!r ||
|
|
74
|
+
!r->len)
|
|
75
|
+
return NULL;
|
|
76
|
+
|
|
77
|
+
/* find first item */
|
|
78
|
+
for (i = 0; i < (size_t)map->size; ++i) {
|
|
79
|
+
|
|
80
|
+
range *it = (range *)map->item[i];
|
|
81
|
+
if (r->loc >= it->loc &&
|
|
82
|
+
r->loc < it->loc + it->len) {
|
|
83
|
+
first_item = i;
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if (first_item == (size_t)-1)
|
|
89
|
+
return NULL;
|
|
90
|
+
|
|
91
|
+
/* create new map */
|
|
92
|
+
new_map = src_map_new();
|
|
93
|
+
remain_len = r->len;
|
|
94
|
+
|
|
95
|
+
for (i = first_item; i < (size_t)map->size; ++i) {
|
|
96
|
+
|
|
97
|
+
range *it = (range *)map->item[i];
|
|
98
|
+
size_t add_loc = (i == first_item) ? r->loc : it->loc;
|
|
99
|
+
size_t add_len = (it->len < remain_len) ? it->len : remain_len;
|
|
100
|
+
|
|
101
|
+
range *add_range = range_new(add_loc, add_len);
|
|
102
|
+
stack_push(new_map, add_range);
|
|
103
|
+
|
|
104
|
+
remain_len -= add_len;
|
|
105
|
+
|
|
106
|
+
if (remain_len <= 0)
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return new_map;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/* append range to src_map */
|
|
114
|
+
void
|
|
115
|
+
src_map_append(src_map *map, const range *r)
|
|
116
|
+
{
|
|
117
|
+
range *new_range = NULL;
|
|
118
|
+
|
|
119
|
+
if (!map ||
|
|
120
|
+
!r ||
|
|
121
|
+
!r->len)
|
|
122
|
+
return;
|
|
123
|
+
|
|
124
|
+
if (map->size) {
|
|
125
|
+
/* check continuous range */
|
|
126
|
+
range *last_range = (range *)map->item[map->size - 1];
|
|
127
|
+
if (r->loc <= last_range->loc + last_range->len) {
|
|
128
|
+
last_range->len += r->len - (last_range->loc + last_range->len - r->loc);
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/* not continuous, create new range and push */
|
|
134
|
+
new_range = range_new(r->loc, r->len);
|
|
135
|
+
stack_push(map, new_range);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/* return index-th cursor from map */
|
|
139
|
+
size_t
|
|
140
|
+
src_map_location(const src_map *map, size_t index)
|
|
141
|
+
{
|
|
142
|
+
size_t i = 0;
|
|
143
|
+
size_t cur = 0;
|
|
144
|
+
|
|
145
|
+
if (!map ||
|
|
146
|
+
!map->size)
|
|
147
|
+
return -1;
|
|
148
|
+
|
|
149
|
+
for (i = 0; i < (size_t)map->size; ++i) {
|
|
150
|
+
|
|
151
|
+
range *it = (range *)map->item[i];
|
|
152
|
+
if (index < cur + it->len) {
|
|
153
|
+
return it->loc + index - cur;
|
|
154
|
+
}
|
|
155
|
+
cur += it->len;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
assert(0);
|
|
159
|
+
return -1;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/* create new src_map from index onward */
|
|
163
|
+
src_map *
|
|
164
|
+
src_map_new_tail(const src_map *map, size_t index, size_t maxlen)
|
|
165
|
+
{
|
|
166
|
+
size_t i = 0;
|
|
167
|
+
size_t cur = 0;
|
|
168
|
+
size_t first_item = -1;
|
|
169
|
+
size_t count = 0;
|
|
170
|
+
src_map *new_map = NULL;
|
|
171
|
+
|
|
172
|
+
if (!map ||
|
|
173
|
+
!map->size)
|
|
174
|
+
return NULL;
|
|
175
|
+
|
|
176
|
+
for (i = 0; i < (size_t)map->size; ++i) {
|
|
177
|
+
|
|
178
|
+
range *it = (range *)map->item[i];
|
|
179
|
+
if (index < cur + it->len) {
|
|
180
|
+
first_item = i;
|
|
181
|
+
break;
|
|
182
|
+
}
|
|
183
|
+
cur += it->len;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
if (first_item == (size_t)-1)
|
|
187
|
+
return NULL;
|
|
188
|
+
|
|
189
|
+
/* create new map */
|
|
190
|
+
new_map = src_map_new();
|
|
191
|
+
for (i = first_item; i < map->size && count < maxlen; ++i) {
|
|
192
|
+
|
|
193
|
+
range *it = (range *)map->item[i];
|
|
194
|
+
range *add_range = range_new(it->loc, it->len);
|
|
195
|
+
|
|
196
|
+
if (count + it->len > maxlen) {
|
|
197
|
+
add_range->len = maxlen - count;
|
|
198
|
+
}
|
|
199
|
+
count += it->len;
|
|
200
|
+
stack_push(new_map, add_range);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
return new_map;
|
|
204
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* src_map.h
|
|
3
|
+
* snowcrash
|
|
4
|
+
*
|
|
5
|
+
* Created by Zdenek Nemec on 4/21/13.
|
|
6
|
+
* Copyright (c) 2013 Apiary Inc. All rights reserved.
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#ifndef SNOWCRASH_SUNDOWN_SRCMAP_H
|
|
11
|
+
#define SNOWCRASH_SUNDOWN_SRCMAP_H
|
|
12
|
+
|
|
13
|
+
#include <stdlib.h>
|
|
14
|
+
#include "stack.h"
|
|
15
|
+
|
|
16
|
+
#ifdef __cplusplus
|
|
17
|
+
extern "C" {
|
|
18
|
+
#endif
|
|
19
|
+
|
|
20
|
+
/* range: character data range */
|
|
21
|
+
typedef struct {
|
|
22
|
+
size_t loc;
|
|
23
|
+
size_t len;
|
|
24
|
+
} range;
|
|
25
|
+
|
|
26
|
+
/* range_new: allocate & init new range */
|
|
27
|
+
range *range_new(size_t loc, size_t len);
|
|
28
|
+
|
|
29
|
+
/* range_new: release range */
|
|
30
|
+
void range_release(range *r);
|
|
31
|
+
|
|
32
|
+
/* stack of range forming the buffer content */
|
|
33
|
+
typedef struct stack src_map;
|
|
34
|
+
|
|
35
|
+
/* src_map_new: allocate new source map */
|
|
36
|
+
src_map *src_map_new();
|
|
37
|
+
|
|
38
|
+
/* src_map_release: release source map */
|
|
39
|
+
void src_map_release(src_map *map);
|
|
40
|
+
|
|
41
|
+
/* src_map_submap: create map from a subset of map */
|
|
42
|
+
src_map *src_map_new_submap(const src_map *map, const range *r);
|
|
43
|
+
|
|
44
|
+
/* src_map_new_tail: create map from tail of map */
|
|
45
|
+
src_map *src_map_new_tail(const src_map *map, size_t index, size_t maxlen);
|
|
46
|
+
|
|
47
|
+
/* src_map_append: append range to source map */
|
|
48
|
+
void src_map_append(src_map *map, const range *r);
|
|
49
|
+
|
|
50
|
+
/* src_map_location: returns location in source for given index */
|
|
51
|
+
size_t src_map_location(const src_map *map, size_t index);
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
#ifdef __cplusplus
|
|
55
|
+
}
|
|
56
|
+
#endif
|
|
57
|
+
|
|
58
|
+
#endif
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
#include "stack.h"
|
|
2
|
+
#include <string.h>
|
|
3
|
+
|
|
4
|
+
int
|
|
5
|
+
stack_grow(struct stack *st, size_t new_size)
|
|
6
|
+
{
|
|
7
|
+
void **new_st;
|
|
8
|
+
|
|
9
|
+
if (st->asize >= new_size)
|
|
10
|
+
return 0;
|
|
11
|
+
|
|
12
|
+
new_st = realloc(st->item, new_size * sizeof(void *));
|
|
13
|
+
if (new_st == NULL)
|
|
14
|
+
return -1;
|
|
15
|
+
|
|
16
|
+
memset(new_st + st->asize, 0x0,
|
|
17
|
+
(new_size - st->asize) * sizeof(void *));
|
|
18
|
+
|
|
19
|
+
st->item = new_st;
|
|
20
|
+
st->asize = new_size;
|
|
21
|
+
|
|
22
|
+
if (st->size > new_size)
|
|
23
|
+
st->size = new_size;
|
|
24
|
+
|
|
25
|
+
return 0;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
void
|
|
29
|
+
stack_free(struct stack *st)
|
|
30
|
+
{
|
|
31
|
+
if (!st)
|
|
32
|
+
return;
|
|
33
|
+
|
|
34
|
+
free(st->item);
|
|
35
|
+
|
|
36
|
+
st->item = NULL;
|
|
37
|
+
st->size = 0;
|
|
38
|
+
st->asize = 0;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
int
|
|
42
|
+
stack_init(struct stack *st, size_t initial_size)
|
|
43
|
+
{
|
|
44
|
+
st->item = NULL;
|
|
45
|
+
st->size = 0;
|
|
46
|
+
st->asize = 0;
|
|
47
|
+
|
|
48
|
+
if (!initial_size)
|
|
49
|
+
initial_size = 8;
|
|
50
|
+
|
|
51
|
+
return stack_grow(st, initial_size);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
void *
|
|
55
|
+
stack_pop(struct stack *st)
|
|
56
|
+
{
|
|
57
|
+
if (!st->size)
|
|
58
|
+
return NULL;
|
|
59
|
+
|
|
60
|
+
return st->item[--st->size];
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
int
|
|
64
|
+
stack_push(struct stack *st, void *item)
|
|
65
|
+
{
|
|
66
|
+
if (stack_grow(st, st->size * 2) < 0)
|
|
67
|
+
return -1;
|
|
68
|
+
|
|
69
|
+
st->item[st->size++] = item;
|
|
70
|
+
return 0;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
void *
|
|
74
|
+
stack_top(struct stack *st)
|
|
75
|
+
{
|
|
76
|
+
if (!st->size)
|
|
77
|
+
return NULL;
|
|
78
|
+
|
|
79
|
+
return st->item[st->size - 1];
|
|
80
|
+
}
|
|
81
|
+
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#ifndef STACK_H__
|
|
2
|
+
#define STACK_H__
|
|
3
|
+
|
|
4
|
+
#include <stdlib.h>
|
|
5
|
+
|
|
6
|
+
#ifdef __cplusplus
|
|
7
|
+
extern "C" {
|
|
8
|
+
#endif
|
|
9
|
+
|
|
10
|
+
struct stack {
|
|
11
|
+
void **item;
|
|
12
|
+
size_t size;
|
|
13
|
+
size_t asize;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
void stack_free(struct stack *);
|
|
17
|
+
int stack_grow(struct stack *, size_t);
|
|
18
|
+
int stack_init(struct stack *, size_t);
|
|
19
|
+
|
|
20
|
+
int stack_push(struct stack *, void *);
|
|
21
|
+
|
|
22
|
+
void *stack_pop(struct stack *);
|
|
23
|
+
void *stack_top(struct stack *);
|
|
24
|
+
|
|
25
|
+
#ifdef __cplusplus
|
|
26
|
+
}
|
|
27
|
+
#endif
|
|
28
|
+
|
|
29
|
+
#endif
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
LIBRARY SUNDOWN
|
|
2
|
+
EXPORTS
|
|
3
|
+
sdhtml_renderer
|
|
4
|
+
sdhtml_toc_renderer
|
|
5
|
+
sdhtml_smartypants
|
|
6
|
+
bufgrow
|
|
7
|
+
bufnew
|
|
8
|
+
bufcstr
|
|
9
|
+
bufprefix
|
|
10
|
+
bufput
|
|
11
|
+
bufputs
|
|
12
|
+
bufputc
|
|
13
|
+
bufrelease
|
|
14
|
+
bufreset
|
|
15
|
+
bufslurp
|
|
16
|
+
bufprintf
|
|
17
|
+
sd_markdown_new
|
|
18
|
+
sd_markdown_render
|
|
19
|
+
sd_markdown_free
|
|
20
|
+
sd_version
|