I also used it, but it wasn't good enough for me too.
I make use of Slicks sophisticated search feature.
In fact I tailored my
find_word_sel() macro I already posted here
http://community.slickedit.com/index.php?topic=171.0.
The good thing: You can define your own patterns (cur_word) e.g.
ZEEVDO The not-so-good thing: You've to invoke it manually (no auto-update).
But at least you can easily step thru all TODOs in the usual way (find-next / -prev).
// HS2: opt: c == current buffer, b == all buffers, p == project files, w == workspace files
_command int hf2,hs2_find_todo (_str opt = 'c') name_info (','VSARG2_READ_ONLY|VSARG2_REQUIRES_EDITORCTL|VSARG2_MARK)
{
int status = 0;
_str search_options = make_search_options (VSSEARCHFLAG_WORD |
VSSEARCHFLAG_RE |
VSSEARCHFLAG_HIDDEN_TEXT |
VSSEARCHFLAG_NOSAVE_TEXT |
VSSEARCHFLAG_FINDHILIGHT |
VSSEARCHFLAG_GO, true);
search_options = search_options :+ '@W:PCCF';
// _str cur_word = '(TODO)|(HS2DO)|(HS2)|(TRACE)';
_str cur_word = '(TODO)|(HS2DO)|(HS2)';
clear_highlights ();
// HS2: dbg
// say ("search options: '" search_options "'");
int mfff = MFFIND_THREADED | MFFIND_GLOBAL;
int grep_id = 9; // -> Search<9>
if ( cur_word != '' )
{
switch ( opt )
{
case 'b':
status=_mffind (cur_word, search_options, MFFIND_BUFFERS, "", mfff , false, false, '', '', true, grep_id);
break;
case 'p':
status=_mffind (cur_word, search_options, MFFIND_PROJECT_FILES, "", mfff, true, false, '', '', true, grep_id);
break;
case 'w':
status=_mffind (cur_word, search_options, MFFIND_WORKSPACE_FILES, "", mfff, false, true, '', '', true, grep_id);
break;
case 'c':
default:
status=_mffind (cur_word, search_options, MFFIND_BUFFER, "", mfff, false, false, '', '', true, grep_id);
}
hs2_activate_edit ();
}
return( status );
}
// (aliased) wrappers to be bound to keyboard shortcuts are to quickly call'em on cmdline
_command int hf2b,hs2_find_todo_buffers () name_info (','VSARG2_READ_ONLY|VSARG2_REQUIRES_EDITORCTL|VSARG2_MARK)
{
return(hs2_find_todo ('b'));
}
_command int hf2p,hs2_find_todo_project () name_info (','VSARG2_READ_ONLY|VSARG2_REQUIRES_EDITORCTL|VSARG2_MARK)
{
return(hs2_find_todo ('p'));
}
_command int hf2w,hs2_find_todo_wkspace () name_info (','VSARG2_READ_ONLY|VSARG2_REQUIRES_EDITORCTL|VSARG2_MARK)
{
return(hs2_find_todo ('w'));
}
Hope this workaround is ok for you too, HS2