After a day of pulling my hair out wondering why all my apps no longer compile I found the bug.
I name all my apps like this to give me more information about the latest versions:
2015-05-27 :: Garden Controller v0.1
2015-04-13 :: NeoPixel2
…etc
If I remove the colons, they all compile fine. There is nothing in the IDE UI to indicate that certain special characters are off limits now, whereas a few months ago these were totally legal and functioned properly.
So, is this a new bug in the compiler or a bug in the UI documentation?
I guess this has something to do with the fact that a colon is an illegal file name character on pretty much any/every operating system. There are a couple of others, who might equally cause problems.
You can find an overview of some of the characters you’re not supposed to use over here. A hyphen, or an underscore make for a good, legal, separator, and are commonly used for this purpose.
Still, @jeiden might want to have a look at validation in the IDE.
: is not illegal in any unix-like OS. So if this is the Web IDE, then I think the problem may be self-induced by the web-IDE code (perhaps it is being overprotective of cross-platform issues), if it is local development on Windoze, then you could well be right.
I think the expectation is reasonable that the IDE should take any legal project name and take steps to escape the string before it creates actual files on the host filesystem; or it should refuse to accept names that will not work (with appropriate help text.)
The principle of least astonishment should apply here, IMHO. I think this can rightly be classified as a low priority bug - luckily there’s a simple enough workaround, as @Moors7 points out.
Thanks for posting! The IDE prevents some characters from being used in the filenames, but it looks like colon is missing from the regex, I’ll open a ticket for it.
I agree with the above, however, the problem is that users like myself have used colons for a year now, and now we can’t. I don’t mind changing one bit, however it’s a very jarring for less flexible users.