…rather then unknown warning.
GBCommentsProcessor: Minor changes
This provides much simpler handling of the change in 3485e41
This is with an eye toward converting to ARC, which does not like having NSObjects in structs, and also makes the code more readable.
Fixes #349 and failing test case: ``` GBCommentsProcessorRegistrationsTesting testProcessCommentWithContextStore_combinations_shouldRegisterMethodDescriptionBlock ```
When a link falls within another link, such as a URL string within a method call, processing both would result in the processed URL being appended to the processed method call, duplicating the text from the URL. Instead, keep track of the links processed, and ignore a link if it's inside of a previously processed link. Here's a test case which illustrates the problem: ```objc /** `NSURL *baseURL = [NSURL URLWithString:@"http://example.com/v1/"]` */ @interface Fooclass : NSObject @end ``` Result: ```html <p><code>NSURL *baseURL = [NSURL URLWithString:@"http://example.com/v1/"]</code>http://example.com/v1/<code>"]</code></p> ``` With patch: ```html <p><code>NSURL *baseURL = [NSURL URLWithString:@"http://example.com/v1/"]</code></p> ``` The test case does indeed cover this problem but certainly could be improved.
…ce methods to the code order.
The regression was introduced with one of recent contributions. My guess is the contributor was using older code base and didn't update before issuing pull request. The same issue repeated second time, to prevent further regressions, I added a comment to source code specifically guarding against changing affected lines. Not the best approach, but at least something until 3.0 is out...
@deprecated content will be added to the abstract block as "(<b class="deprecated">Deprecated:</b><span class="deprecated"> deprecated message here</span>)" Signed-off-by: Bilge Taylan Ulusoy <firstname.lastname@example.org>
Signed-off-by: Bilge Taylan Ulusoy <email@example.com>
Signed-off-by: Dominik Pich <Dominik@pich.info>
…thod] now works) and markdown generation. Refs #237
…with custom title. Refs #237
…ginal name is nil. Closes #199.
Add support for printing titles of information blocks. Apple displays "Note:" in bold at the start of their note documentation. We'd like to do the same for warnings and bugs. This is now the default, and can be turned turned on/off with the 'print-information-block-titles' setting.
This covers the following cases: - Cross reference to "current" class, category or protocol. - Cross reference to "current" method or property.
…resses #117. This is on by default, but can be controlled through `--merge-category-comment` cmd line switch.
The problem with star delimited unordered lists was in appledoc comment preprocessor which consumed single star and replaced them with double star markers so that text would be emitted in bold. That's actually a feature of appledoc which allows single stars be used for bold markers, but may break compatibility with Markdown as the result. As there's no reliable way of determining whether the user wants to have star delimited, I decided to go the route I had in my mind for some time now: introduce another command line switch that would prevent handling single stars. It's on/off solution, so not the best one, but everyone can choose at least... Also updated [online documentation](http://gentlebytes.com/appledoc-docs-examples-basic/index.html#compatibility) with example of using the new switch. **Important:** As of this version on, single star handling is **off** by default! This may break backwards compatibility with some folks, but I feel it's better to keep as Markdown compatible for new people as possible...
This is useful if you only want to generate documentation for certain sources but those sources depend on other sources that should not have documentation generated for them. With this feature, you add all sources as input and exclude certain sources from output generation. It will hide warnings on excluded sources, not generate output for them, but they will be used for merging with your included sources (eg. inheritance etc.)
Using @since or @available comment in a method description will generate a new section in the method doc. called "Availability". The content of that section will be the text following the @since or @available tag.
…#105. To allow Xcode properly open the file after selecting the warning in build list, it requires full path to it in the output, so I had to add full path to GBSourceInfo and use that when generating Xcode compatible log. Note that I had appledoc crashed inside `[GBLog logFormatterForLogFormat]` when using standard log formats. The problem was with sending the given format instance `lowercaseString` however in case numerical value was used, the actual instance was `NSNumber`. To compensate, additional check was added to make sure the instance is indeed a `NSString`. Strange no one reported this as I didn't touch this code since last pushing to GitHub (or everyone was hardly waiting for Xcode compatibility and are now using that mode :). Also added `xcode` log format option to help output and increased build number to 701.
…105. By using special log format `--logformat xcode`, appledoc formats warnings and errors related to source files in a way that Xcode is able to catch them and display them in build results. Currently only warnings are using that format (there is no error log message related to source files). *Implementation details:* Note that implementation required tweaking Cocoa Lumberjack source. Specifically, it required passing in original source code filename and line number to log message. Although logging macros pick up source file and line automatically through `__FILE__` and `__LINE__`, these belong to appledoc sources. But for Xcode warnings making sense, we need to write the file name and line of the context being parsed. To reuse existing macros, I added both values to DDMessage and additional class method to DDLog which needs to be called prior to logging. The method will simply store info to static vars. Then logging method will pick up stored values, write them to message and reset static vars. When emitting log messages, Xcode formatter will check if these values are set and emit specially formatted logs, otherwise it will revert to message only. *Additional note:* Although I searched for all occurrences of `GBLogWarn` and `GBLogError` in the project and updated those that seemed relevant, some may have been left out - let me know about exact messages and I will check it. Also note that parsing code currently doesn't emit warnings, if something goes wrong, exceptions are raised, which doesn't log the file and line. Didn't take much time to go into this as these usually indicate parsing code needs to be refined.
…ries into classes. Although model objects properly merged sections from categories, resulting in empty sections if there were no methods in there, HTML generator rendered existing methods in these sections as if they were actually registered. Although this might require further investigation to really fix the issue (i.e. why output generator doesn't render empty section, why it adds methods to it?), current solution simply removes all empty sections after merging. Also updated build number to 694.