apiaryio/drafter

Support tabs and CRLF line endings

Opened this issue ยท 23 comments

@netmilk commented

+1
Apiary users are often facing this issue:

message: Cannot parse blueprint code 
description: The use of tab(s) '\\t' in source data isn't currently 
supported, please contact makers 
code: 2

@zdne commented

To fix this issues a moderate modification to https://github.com/apiaryio/sundown is needed.

Consider using Hoedown contributing to hoedown/hoedown#22 and hoedown/hoedown#28 instead

@pksunkara commented

Can we make a hack for this by expanding all \t before parsing?

@zdne commented

This won't not help as then you would need to recalculate the source maps (in order to display any possible warning / errors). Doing so (recalculating) is the core problem here and solving it would bring the solution for this issue (and thus it wouldn't be a hack)

@ze-phyr-us commented

+1 for tabs! Any ETA on this?

@zdne commented

@ze-phyr-us so far there wasn't too much of push on this one (read no concrete plans yet). Introducing this will most likely mean migration to Hoedown or CommonMark parser.

@defaltd commented

Pinging for update @zdne

@zdne commented

Hey @Stephn-R,
you are the first one to ask for this in a long time. I am afraid the status hasn't changed since apiaryio/snowcrash#29 (comment) we might migrate the parser but no ETA just yet.

@defaltd commented

So lets rise this baby back from the dead ๐Ÿ’€ โšก

@jacquesfu commented

So what's a workaround? I have codeblocks with tabs to show examples... will the codeblocks have to be converted to spaces I guess?

@ze-phyr-us commented

@jacquesfu I'm just piping my blueprints through sed 's/ / /g' before feeding them to snowcrash.

Edit: GH screws up the formatting, but obviously that was s/<tab>/<4 spaces>/g

@zdne commented

Hey guys, may I just ask you where you need the tabs? Is it the mock server or testing? I presume it is really about the content of payloads and not necessarily the blueprint itself, correct?

@defaltd commented

Alright so the way I was able to resolve this was if I targeted the affected files and ran a python method for stripping out carriage returns >> \r

@ze-phyr-us commented

@zdne Coding standards. When the entire project uses tabs rather than spaces, I want my documentation consistent with that.

@defaltd commented

Agreed but this discussion is about the way line endings are formed by your IDE/System

@lippea commented

This is not big problem, but quite annoying.
We also have problem that I removed all \t \r, committed to git, but others still have problem with \r after downloading the code again.

@BigBlueHat commented

I just hit this issue because Windows. ๐Ÿ˜– It's obviously possible to route around, but it's an unfortunate complication when trying to use API Blueprint docs with dredd, etc.

Remove pain. Win hearts and minds. ๐Ÿ˜„

๐Ÿ‘ to fixing this soon.

@tobeorla commented

I hope CRLF gets supported or converted when necessary

@honzajavorek commented

This is an important pre-requisite for apiaryio/dredd#204.

@lippea commented

It was annoying, but not blocking issue.
I ended up by replacing with notepad++ and check into github with .gitattributes:
*.apib text eol=lf