ProjenyPackage.yaml throws an error on tab character
I have a projeny project, with 1 empty unity project and 1 empty package.
ProjenyPackage.yaml:
Platforms:
- Windows #leading spaces - OK
- UWP #leading tab character - NOT OK
Inside Unity I'm trying to make the project dependent on the package. So I drag and drop OculusUtils package from the packages tab to the Assets Folder in Projeny GUI but get an error: Screen 1 Screen 2
The error goes:
Failed while processing config yaml for project 'Master' (platform 'Windows'). Details: while scanning for the next token found character '\t' that cannot start any token in "
", line 4, column 1: - UWP ^
The solution is to replace tab characters with spaces, which is sorta a mortal sin :/
I'm guessing this is an issue with the YamlDotNet library. Not sure what we can do to fix it. Would be nice if it allowed either tabs or spaces like python. I doubt it could ever support using both at the same time though like in your example.
The YAML specification does not allow tabs. This isn't a library issues, its a user issue. This is intentionally how YAML works. Spaces only. Tabs have been frowned upon for ages and YAML Just outright disallows them.
Why does YAML forbid tabs?
Tabs have been outlawed since they are treated differently by different editors and tools. And since indentation is so critical to proper interpretation of YAML, this issue is just too tricky to even attempt. Indeed Guido van Rossum of Python has acknowledged that allowing TABs in Python source is a headache for many people and that were he to design Python again, he would forbid them.
@jwvanderbeck thanks for the detailed answer. I guess this can be closed than
This is still a a bug, if the projeny gui is outputing the file with tabs.