= A plugin for displaying code tags (`XXX`, `FIXME`, `TODO`, etc.) = Demo [http://developer.wz2100.net/codetags here], [http://git.mortis.eu/codetags.git git repository]. Since I cannot find any documentation directly I just wanted to tell you people that you need a subdirectory named cache thats writeable by your trac to make this work. Oh and dont wonder that it takes so much time the first time used ;). Also don't forget to grant the CODETAGS_VIEW permission. To enable in the trac.ini: {{{ #!ini [components] codetags.* = enabled }}} Additional configuration options in trac.ini: {{{ #!ini [code-tags] scan_files = *.html, *.py, *.c, *.h, *.hh, *.m, *.pch, *.hpp scan_folders = trunk/*, branches/* tags = XXX, TODO, FIXME, BUG }}} {{{scan_files}}} allows you to define specific file types to scan (default: *) [[br]] {{{scan_folders}}} specifies which directories within the repository to scan (default: *) [[br]] {{{exclude_folders}}} specifies directories that are subdirectories of {{{scan_folders}}} but don't need to be scanned [[br]] {{{exclude_files}}} specifies files that shouldn't be scanned even though they're included by scan_files [[br]] {{{tags}}} allows you to specify what tags to locate, though only the defaults are colored at all. (default: XXX, TODO, FIXME) [[br]] By default, this plugin doesn't ignore binary files. If you use svn/trac in a web-dev environment, this is a pain, since the tagger finds tags in files such as `.gif`. This, however, shouldn't be a serious problem because CodeTagsPlugin plugin searches for word boundaries (regex '\b') at the edges of words. = Last Release Version = The last CodeTagsPlugin release is [http://git.mortis.eu/git/codetags.git/snapshot/0.3.tar.gz codetags-0.3.tar.gz]. = Bugs = * When moving/deleting files with TODO tags in them, they will not disappear from the list * I've tested this and it works fine for me - rjollos 2009-08-03. * I am seeing this running Trac 0.12dev-r8983 and codetags-0.2 - aaron@irontickets.com * Running trac 0.11 (debian repo) I see this issue in codetags-0.2 - dagherad_at_gmail_dot_com (27th January 2010) * Fixed as of [http://git.mortis.eu/git/codetags.git/commit/dbae3295c4bf96313f673f01e2e1af8e3b632ba3 codetags-0.2_20100627142125] * Under 0.12 stable we got a error ''"!AttributeError: '!NoneType' object has no attribute 'youngest_rev'"'', the patch [attachment:CodeTags-0.12-get_repository.patch] fixes this problem. All Repository request should use !RepositoryManager as described in http://trac.edgewall.org/wiki/TracDev/ApiChanges/0.12 * Should be fixed with commit [http://git.mortis.eu/git/codetags.git/commit/0b0baaaa962155b445702fa7ae37e1078d4a3361 0b0baaa], as it uses the Environment's backwards-compatibility API correctly. * Does not handle multiple repositories well * if no default set, `get_repository(None)` will return `None` * Even if a default is set, it will only parse this repository * Fixed by patch [attachment:basic_multirepo_support.patch] = Feature Request = Since the tracker has no !CodeTags component I will put that here: * feature "upgrade CodeTag to issue". Click on one of the CodeTags to be brought to a "New Ticket" page, with fields already completed (will require some parsing). Bonus points if the CodeTag (and surrounding comments, which might be numerous) can optionally be removed from the SVN and a commit log entry automatically generated. * Having a huge code base makes the table with the tags so huge that even modern browsers can hardly display it. Maybe: * Split it up into multiple pages * Choose display for only specified tags * Chose display for only specified path in repository * Allowing regex's for the [code-tags] fields would increase flexibility (scan_files, scan_folders, tags).