A browser for large line-oriented text files, implemented in Tcl/Tk.
Note: in this context "line-oriented" denotes that each line of text is considered a data unit. Color highlighting (including search matches) will always apply the highlight to the complete text line.
Trowser was developed for sifting through debug output files written by software under development. Such debug files can get very large; in the extreme, there could be a line of trace written for every entered function (e.g. documenting the call and actual parameters) and one more line every time a function is left. When debugging complex exceptions, it's often necessary to analize several hundreds or thousands of lines of debug trace to understand the cause.
Such analysis usually starts by first looking at top-level events (e.g. stimuli by the environment) and then digging down into the details. trowser was developed to facilitate this process. Of course one could also use standard tools such as grep or awk and less or vim to tackle this task, but this way lots of repetitive manual hacking on the command line is required. For an every-day task, it seems worth to invest some time into automating the process in a specialized tool.
As of the initial 1.0 release, many of trowser's features are still not that much different from what can be found in various regular text editors. Future development may extend the filtering capabilities though (e.g. by allowing multiple search results windows and pre-defined stacks of search patterns to allow quick folding-in and -out of trace detail levels.) Additionally, trowser already has the capability to automatically parse data out of the trace file which can be included in bookmarks and search results list and could easily be extended in that direction for different applications. With less than 7000 lines of code trowser still is a relatively small application (in large part thanks to the powerful "text" widget in Tk) so there's only a low barrier of getting familiar with the source code to allow extending or adapting the functionality for your own needs.
- The first screenshot shows the main window with a text which has color highlighting applied and an ongoing incremental search (for an expression which matches the line marked in yellow) plus three bookmarked text lines;
- The second screenshot shows the highlight pattern editor dialog (holding the patterns used for the previous screenshot);
- The third screenshot shows the search history dialog (i.e. a list of previously used search patterns) and the search result list (the list is filled with all lines matching the three patterns selected in the search history list shown above; one line is highlighted in yellow as it matches a new search in the main window);
- The fourth window shows the bookmark list (these are the lines marked with a blue dot in the first screenshot);
- The last screenshot shows the pipe load dialog which pops up when the input stream exceeds the buffer size to allow skipping excessive input data
In a hurry? Add it to your Download Basket!
What's New in This Release:
- Background highlighting tasks have been improved in respect to scrolling or jumping, so that no incompletely highlighted text portions become visible anymore.
- Background search and highlighting tasks have been made "smoother" so that interactive use is less hindered.
- A bug in background task management has been fixed which sometimes led to an infinite lock-up of background tasks.
- The display of progress bars and status messages has been changed to work better with some older window managers (which previously painted those windows with decorations and failed to force them to the top.)