My favorites | Sign in
Project Logo
dil
                
Search
for
Updated Jun 09, 2009 by aziz.koeksal
Labels: Featured
Kandil  
Kandil is the magic oil-lamp that manifests your documentation wishes.

Kandil

Kandil is an XHTML and JavaScript browser application for documentation generated by dil.

Ddoc is used as the underlying system to generate the documentation. Dil improves upon Ddoc with unique features and introduces small differences:

Features

Filtering

There are three ways you can filter for specific symbols:

Plain text

Enter letters or words as usual, and a list of symbols that match will be shown. For example, "Expr" will match "Expression", "AndExpression", "OrExpression" etc.
You can also put a wildcard between two strings, e.g. "parse*ion" will match "parseExpression".

FQN filtering

Use a dot to separate words in order to search for symbols by matching against their fully qualified names (FQN.) For example, "tango.math" will match any symbol that is located in the math package. Or ".math." will show all math packages - if there are more than one - and the contained modules.

Attribute filtering

Strings that start with a colon, ":", will search for symbols by matching against their attributes. Attributes can be symbol kinds (e.g. "variable", "function"...) and storage classes (e.g. "extern", "protected"...). For example, the strings ":pub", ":publ", ":public" will search for symbols that have the public protection attribute. You don't have to type out the complete name of the attribute.

Macros

This is a list of macros which are only defined by dil.

Shortcomings

In contrast to dmd, dil doesn't highlight some keywords (e.g. null) and it doesn't emphasize symbols found in the comment text. In my experience, this is more trouble than desirable, explicit marking would have been better. Nevertheless, this might be implemented using JavaScript.

Variables/parameters with a DeclaratorSuffix (e.g. "int a[]") are slightly problematic (use "int[] a" instead.)

Sometimes it is apparent that semantic information is lacking. Furthermore, static if-statements are not evaluated (the if-branch is always chosen by default,) since SA in dil is not advanced enough, even for evaluating simple expressions.


Sign in to add a comment
Hosted by Google Code