This is mostly for curiosity's sake. I've known for awhile that Xcode is capable of recognizing comments in the form of // TODO: Something I don't feel like doing now
. Adding that line to the source of a file will cause that TODO comment to show up in Xcode's navigation bar:
I also recently discovered that comments of the form // MARK: Something
can achieve the same effect as #pragma mark
ing something. So I can write a comment that looks like:
// MARK: - // MARK: Future Improvements: // TODO: Make something better // TODO: Fix some bug
And Xcode will render it out like this:
Which leads me to wonder: Are there other kinds of comments that Xcode can understand to improve project navigation?
There is also MARK
, FIXME
, !!!
and ???
, e.g.
// FIXME: this bug needs to be fixed
and
// ???: WTF ???
You can see where these are defined in /Applications/Xcode.app/Contents/OtherFrameworks/XcodeEdit.framework/Versions/A/Resources/BaseSupport.xclangspec
(or /Developer/Library/PrivateFrameworks/XcodeEdit.framework/Resources/BaseSupport.xclangspec
for older versions of Xcode). Presumably you could also add your own tags here if you wanted to but I have not actually tried this. Here is the relevant section in BaseSupport.xclangspec
:
{ Identifier = "xcode.lang.comment.mark"; Syntax = { StartChars = "MTF!?"; Match = ( "^MARK:[ \t]+\(.*\)$", "^\(TODO:[ \t]+.*\)$", // include "TODO: " in the markers list "^\(FIXME:[ \t]+.*\)$", // include "FIXME: " in the markers list "^\(!!!:.*\)$", // include "!!!:" in the markers list "^\(\\?\\?\\?:.*\)$" // include "???:" in the markers list ); // This is the order of captures. All of the match strings above need the same order. CaptureTypes = ( "xcode.syntax.mark" ); Type = "xcode.syntax.comment"; }; },
These tags are also supported in the BBEdit text editor and its freeware sibling TextWrangler.
Looks like
// MARK: // TODO: // FIXME: // ???: // !!!:
all get translated into #pramga-like markers.
It appears that they stand for
// Mark, as in pragma // To Do note // Known bug marker // Serious question about form, content, or function // Serious concern about form, content, or function
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With