示例#1
0
    def index_view(self, view):
        databases = view.settings().get('pytags_databases')
        if not databases:
            return

        if view.window():
            project_folders = view.window().folders()
        else:
            # This sometimes happens, no idea when/why.
            project_folders = []

        async_worker.schedule(self.async_index_view, view.file_name(),
                              databases, project_folders)
示例#2
0
    def index_view(self, view):
        databases = view.settings().get('pytags_databases')
        if not databases:
            return

        if view.window():
            project_folders = view.window().folders()
        else:
            # This sometimes happens, no idea when/why.
            project_folders = []

        async_worker.schedule(self.async_index_view, view.file_name(),
                              databases, project_folders)
示例#3
0
    def search(self, symbol):
        def async_search(databases):
            symdb.set_databases(databases)
            results = symdb.query_occurrences(symbol)
            ui_worker.schedule(handle_results, results)

        def handle_results(results):
            if len(results) > 1:
                self.ask_user_result(results)
            elif results:  # len(results) == 1
                self.goto(results[0])
            else:
                message_dialog('Symbol "{0}" not found'.format(symbol))

        async_worker.schedule(async_search,
                              self.view.settings().get('pytags_databases'))
示例#4
0
    def search(self, symbol):
        def async_search(databases):
            symdb.set_databases(databases)
            results = symdb.query_occurrences(symbol)
            ui_worker.schedule(handle_results, results)

        def handle_results(results):
            if len(results) > 1:
                self.ask_user_result(results)
            elif results:  # len(results) == 1
                self.goto(results[0])
            else:
                message_dialog('Symbol "{0}" not found'.format(symbol))

        async_worker.schedule(async_search,
                              self.view.settings().get('pytags_databases'))
示例#5
0
    def run(self, edit, action='update'):
        if action == 'cancel':
            self.__class__.index_in_progress = False
            return

        if action == 'update':
            rebuild = False
        elif action == 'rebuild':
            rebuild = True
        else:
            raise ValueError('action must be one of {"cancel", "update", '
                             '"rebuild"}')

        self.__class__.index_in_progress = True
        async_worker.schedule(self.async_process_files,
                              self.view.settings().get('pytags_databases', []),
                              self.view.window().folders(), rebuild)
示例#6
0
    def run(self, edit, action='update'):
        if action == 'cancel':
            self.__class__.index_in_progress = False
            return

        if action == 'update':
            rebuild = False
        elif action == 'rebuild':
            rebuild = True
        else:
            raise ValueError('action must be one of {"cancel", "update", '
                             '"rebuild"}')

        self.__class__.index_in_progress = True
        async_worker.schedule(self.async_process_files,
                              self.view.settings().get('pytags_databases', []),
                              self.view.window().folders(), rebuild)