Worst Phobos documentation evar!
Kiith-Sa via Digitalmars-d
digitalmars-d at puremagic.com
Mon Dec 29 18:50:56 PST 2014
On Tuesday, 30 December 2014 at 01:35:57 UTC, Andrei Alexandrescu
wrote:
> On 12/29/14 12:04 PM, Jacob Carlborg wrote:
>> On 2014-12-29 20:48, Walter Bright wrote:
>>
>>> I don't care much for hybrids, they are confusing and ugly.
>>
>> Markdown already support raw HTML. We could use Markdown but
>> with Ddoc
>> macros instead of raw HTML.
>>
>> BTW, Ddoc macros are really ugly.
>
> Ideas for a better syntax? I like the idea of a uniform syntax
> for all macros instead of learning one syntax for each artfact.
> -- Andrei
Current syntax:
$(B bolded)
OO O O
* 4 characters of overhead
* The characters are 'big' and seem like text (especially $),
taking attention away from the actual content. Different
from e.g. **bold** or `italic`
* To type, needs 6 keypresses
- 2 shifts + 4 keys (shift held for one key)
- as a person with RSI, this is relevant to me
* Need parens even for 1-argument version, increasing
lisp-ness with nested macros
-----------------------------
Idea: short 1-argument syntax
-----------------------------
I think one way to improve this would be to add an equivalent of
the
short template instantiation syntax:
someFunction(to!(ReturnType!T))
is less lispy and more readable than
someFunction(to!(ReturnType!(T)))
(especially with longer lines, more args, deeper nestings)
similarly e.g. (not proposing this exact syntax - just an example)
$(LI B$bold D$true)
is more readable than
$(LI $(B bold) $(D true))
And requires only 2 keypresses (including shift) for the
1-parameter macros.
Of course, this only helps with 1-parameter macros, but that's
very often the worst source of visual noise in DDoc, especially
with things like list items and tables (nesting), especially if
the lines are long.
--------------------------------------
Idea: 2(3 with space) character syntax
--------------------------------------
I'm not sure if this is viable without causing more damage than
benefit (too much escaping).
Idea: use 2 delimiting characters, preferably 'small' characters
that don't distract.
E.g (again, these are not actual proposals, just to illustrate
the point):
`B bold`
(very little visual noise but perhaps a bit too little/easy to
miss, 3 keypresses including space)
;B bold;
(slightly more visual noise but not too distracting, but
';' is probably too common character so there could be
too much escaping, 3 keypresses)
.. etc.
More information about the Digitalmars-d
mailing list