def append_data(self, proc, bData, end=False):
        if self.debug:
            print("DEBUG: append_data start")
        data = bData.decode('utf-8')
        if self.debug:
            print("DEBUG: data= "+data)
        self.buffered_data = self.buffered_data + data
        data = self.buffered_data.replace(self.file_path, self.file_name).replace('\r\n', '\n').replace('\r', '\n')

        if end is False:
            rsep_pos = data.rfind('\n')
            if rsep_pos == -1:
                # not found full line.
                return
            self.buffered_data = data[rsep_pos+1:]
            data = data[:rsep_pos+1]

        # ignore error.
        text = data
        if (len(self.ignore_errors) > 0) and (not self.use_node_jslint):
            text = ''
            for line in data.split('\n'):
                if len(line) == 0:
                    continue
                ignored = False
                for rule in self.ignore_errors:
                    if re.search(rule, line):
                        ignored = True
                        self.ignored_error_count += 1
                        if self.debug:
                            print("text match line ")
                            print("rule = " + rule)
                            print("line = " + line)
                            print("---------")
                        break
                if ignored is False:
                    text += line + '\n'

        self.show_tests_panel()
        selection_was_at_end = (len(self.output_view.sel()) == 1 and self.output_view.sel()[0] == sublime.Region(self.output_view.size()))
        with Edit(self.output_view, True) as edit:
            edit.insert(self.output_view.size(), text)

        if end and not self.use_node_jslint:
            text = '\njslint: ignored ' + str(self.ignored_error_count) + ' errors.\n\n'
            with Edit(self.output_view, True) as edit:
                edit.insert(0, text)
dataset/ETHPy150Open fbzhong/sublime-jslint/jslint.py/JslintCommand.append_data/original