The nowiki and preformatted markup syntax doesn't let us quote actual markup for nowiki and preformatted -- this is especially needed when talking about the syntax or explaining it.
One possible solution is to include any trailing "}" into the nowiki or pre block, like this: {{{foo}}}}}} produces <nowiki>foo}}}</nowiki>. This solution, however, only allows you to put the curly braces at the end of the block. While this is enough for our current use cases, it's not a general solution.
That's why it may be good to have a special markup, as an exception parsed inside the pre and nowiki blocks, that "escapes" the closing of these blocks. Even when it's just adding special cases, as now we can't possibly inslude *that* markup in a pre block.
Note, that -- as the escape is only valid inside the pre blocks, and then only before the actual end marker -- there is little chance for conflict.
Tilde "~"#
Advantages:- Used on:
- JSPWiki
- Has semantic connotation wit "not", which might suggest the meaning when seen
- Not available on many Keyboards
- Hard to type under Microsoft Windows (Could you be more precise? I have no trouble typing it using MS Windows with a US or German keyboard)
- Traditionally used in text as an alternative to hyphen (eg. in number ranges) or meaning "roughly".
Backslash "\"#
Advantages:- Extremely widespread for escaping in:
- Programming languages
- File names
- Regular expressions and search queries
- Used in Microsoft Windows for paths
- A bit confusing considering the double backslash proposed in Creole 0.4.
Caret "^"#
Advantages:- Sometimes used to mean "not"
- Not on all Keyboards
- No precedent (?)
Percent "%"#
Advantages:- Commonly used for an alternate escape character, when backslash is not available
- for printf parameters
- for time and date formatting
- for colored text