Refactored the guide filename and path detection a bit - now also keeping a separate :dir field to reference the directory. Using "url" field for that purpose seems awkward, so replaced all these usages with :dir. Fixes #584
A patch by Patrick Gleichmann. Specs by me. Refs #527
Instead of :external_classes, use :external - like the name of the option itself, and like it is now with all other options.
Change the #warn method so it can be used for also passing in arguments, and then use it for reporting the :nodoc warning too. For this to work: - Logger#warn expects a `file` parameter instead of `filename` and `linenr`, which must always be a hash. - The fourth parameter is then free to be used as optional `args` array for the warning types that need it.
The support for the deprecated old format was removed a while ago, but the warning type was forgotten to be removed, so it hanged along without having any actual effect.
So that the option name used inside JSDuck is the same as the --option used on command line. Rename the following: * categories_path --> categories * output_dir --> output * template_dir --> template * img_tpl --> img * link_tpl --> link * imports --> import
Reset the defaults every time the Options::Parser#parse method is called. This allows us to re-use the parser which is slow to instantiate. Some tests still need to re-instatiate the parser every time - move these to a separate suite, so only the tests that need it will run slower.