[PEAK] glimpse: another tool for exploring the PEAK

Stephen Waterbury golux at comcast.net
Fri Apr 9 18:43:51 EDT 2004


PEAKsters,

Being a longtime fan of glimpse (http://webglimpse.net/download.php),
I like to use it for exploring big codebases like Twisted and PEAK.
Glimpse is sort of like grep on steroids:  you can index a whole
directory using glimpseindex, telling it which files to include
or exclude (.glimpse_[include|exclude]), and then search them using
all the features of agrep (see attached list of switches).

To set this up:

(1) download glimpse from the link above, compile and install it.  

(2) save the attached glimpsepeak.tar.gz file into your PEAK directory,
    and:

    tar zxvf glimpsepeak.tar.gz
    ./glimpse/glimpseindexpeak

    (This creates a glimpse index of all .py files below the src directory.
    Note that all the index files are hidden files, .glimpse_blah, in the
    glimpseindexes directory.)

(3) create an alias similar to this:

    alias glimpsepeak='glimpse -H [path to PEAK]/PEAK/glimpse/glimpseindexes'

Now, from anywhere you happen to be, you can use the following command
to see where a string occurs in PEAK's src files:

    glimpsepeak [string]

... which can take any of the agrep switches (see agrep_usage, attached),
which probably includes all your favorites plus some extras, such as

    -#: find matches with at most # errors
    -B: best match mode. find the closest matches to the pattern

... and more.

Cheers,
Steve
-------------- next part --------------
A non-text attachment was scrubbed...
Name: glimpsepeak.tar.gz
Type: application/x-tar
Size: 537 bytes
Desc: not available
Url : http://www.eby-sarna.com/pipermail/peak/attachments/20040409/1216d9da/glimpsepeak.tar.tar
-------------- next part --------------
usage: agrep [-@#abcdehiklnoprstvwxyBDGIMSV] [-f patternfile] [-H
dir] pattern [files]

summary of frequently used options:
(For a more detailed listing see 'man agrep'.)
-#: find matches with at most # errors
-c: output the number of matched records
-d: define record delimiter
-h: do not output file names
-i: case-insensitive search, e.g., 'a' = 'A'
-l: output the names of files that contain a match
-n: output record prefixed by record number
-v: output those records that have no matches
-w: pattern has to match as a word, e.g., 'win' will not match
'wind'
-B: best match mode. find the closest matches to the pattern
-G: output the files that contain a match
-H 'dir': the cast-dictionary is located in directory 'dir'



More information about the PEAK mailing list