import method class CheckSpelling(method.Method): """Check the spelling of a buffer via ispell""" ispell_args = ('ispell', '-x', '-M') def _execute(self, w, **vargs): # -x no backup file # -M show context menu if w.buffer.changed(): w.set_error("There are unsaved changes; please save first.") return l = list(self.ispell_args) l.append(w.buffer.path) w.application.run_external(*l) if w.buffer.changed_on_disk(): w.buffer.reload()