示例#1
0
    def show_occurrences(self, locations):
        buffer = self._make_buffer('*rope-occurrences*', "", switch=False)
        lisp.set_buffer(buffer)
        lisp.toggle_read_only(0)

        trunc_length = len(lisp.rope_get_project_root())

        lisp.insert('List of occurrences:\n')
        for location in locations:
            code_line = self.read_line_from_file(location.filename, location.lineno).rstrip()
            filename = location.filename[trunc_length:]
            lineno = str(location.lineno)
            offset = str(location.offset)

            lisp.insert(filename + ":" + lineno + ":" + code_line + " " + offset)

            beginning = lisp.line_beginning_position()
            end = beginning + len(filename)

            lisp.add_text_properties(beginning, end, [lisp.face, lisp.button])
            lisp.add_text_properties(beginning, end, [lisp.mouse_face, lisp.highlight,
                                                      lisp.help_echo, "mouse-2: visit this file in other window"])

            lisp.insert("\n")

        lisp.toggle_read_only(1)

        lisp.set(lisp["next-error-function"], lisp.rope_occurrences_next)
        lisp.local_set_key('\r', lisp.rope_occurrences_goto)
        lisp.local_set_key((lisp.mouse_1,), lisp.rope_occurrences_goto)
        lisp.local_set_key('q', lisp.delete_window)
示例#2
0
 def show_occurrences(self, locations):
     text = ['List of occurrences:', '']
     for location in locations:
         line = '%s : %s   %s %s' % (location.filename, location.lineno,
                                     location.note, location.offset)
         text.append(line)
     text = '\n'.join(text) + '\n'
     buffer = self._make_buffer('*rope-occurrences*', text, switch=False)
     lisp.set_buffer(buffer)
     lisp.toggle_read_only(1)
     lisp.set(lisp["next-error-function"], lisp.rope_occurrences_next)
     lisp.local_set_key('\r', lisp.rope_occurrences_goto)
     lisp.local_set_key('q', lisp.delete_window)