def reassign(self, view): v = view.settings() v.clear_on_change("checkbounce_grammar_monitor") on = v.get("enable_checkbounce_grammar") vid = view.id() if not vid in self.prev_syntax: self.prev_syntax[vid] = v.get("syntax") elif self.prev_syntax[vid] != v.get("syntax"): GrammarChecker.remove(view.id()) view.erase_status('checkbounce') GrammarChecker.assign(view, self.finish) if on != self.on: self.on = on GrammarChecker.remove(view.id()) sublime.set_timeout(lambda: view.erase_status('checkbounce-grammar'), 0) GrammarChecker.assign(view, self.finish) GrammarChecker.reload() self.on_modified(view) if not on: GrammarChecker.remove(view.id()) sublime.set_timeout(lambda: view.erase_status('checkbounce-grammar'), 0) v.add_on_change("checkbounce_grammar_monitor", lambda: self.reassign(view))
def hit(self, view): if not ST3: self.check(view.id()) self.checked.add(view.id()) if view.size() == 0: g = GrammarChecker.get_checker(view.id()) if g: g.clear() GrammarChecker.reload() sublime.set_timeout(lambda: view.erase_status('checkbounce-grammar'), 0) return const.grammar_queue.hit(view)