Changeset 392

Show
Ignore:
Timestamp:
01/21/06 04:51:35 (3 years ago)
Author:
athomas
Message:

RepoSearchPlugin:

  • Link directly to first source line containing a search term.
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • reposearchplugin/0.9/tracreposearch/search.py

    r379 r392  
    33from trac.versioncontrol.api import Node 
    44from trac.perm import IPermissionRequestor 
    5 from trac.util import Markup 
     5from trac.util import Markup, escape 
    66import re 
    77import posixpath 
     
    107107                       'Directory') 
    108108            else: 
    109                 yield (self.env.href.browser(node.path), 
     109                found = 0 
     110                for n, line in enumerate(node.get_content().read().splitlines()): 
     111                    line = line.lower() 
     112                    for q in query: 
     113                        idx = line.find(q) 
     114                        if idx != -1: 
     115                            found = n + 1 
     116                            break 
     117                    if found: 
     118                        break 
     119 
     120                yield (self.env.href.browser(node.path) + (found and '#L%i' % found or ''), 
    110121                       node.path, change.date, change.author, 
    111122                       shorten_result(node.get_content().read(), query))