def replace(self, edit, r, text): if edit.edit_token == 0: raise ValueError( "Edit objects may not be used after the TextCommand's run method has returned" ) sublime_api.view_replace(self.view_id, edit.edit_token, r, text)
def run(self, edit): self.window = sublime.active_window() self.view = self.window.active_view() self.settings = sublime.load_settings("Papyrus.sublime-settings") self.language = re.sub(r"(?i)(?:(\w+/)|(\.(\w+-\w+)))", "", self.view.settings().get('syntax').lower()) self.regex = self.load_regex_from_file() #{ "command": "set_setting", "args": {"setting": "tab_size", "value": 4}, "caption": "Tab Width: 4", "checkbox": true }, #{ "command": "expand_tabs", "caption": "Convert Indentation to Spaces", "args": {"set_translate_tabs": true} }, #{ "command": "unexpand_tabs", "caption": "Convert Indentation to Tabs", "args": {"set_translate_tabs": true} } self.window.run_command("set_setting", { "setting": "tab_size", "value": 4 }) self.window.run_command("unexpand_tabs", {"set_translate_tabs": True}) #replace(r"( {2})", r"\t") <- with 2 being whatever the tab_size WAS BEFORE CHANGE line_regions = self.view.split_by_newlines( sublime.Region(0, self.view.size())) for region in line_regions: line_text = self.view.substr(self.view.line(region)) for word in self.view.substr(region).split(' '): for reg in self.regex: match = re.search(reg, word, re.IGNORECASE) if match: matched = self.fold_hex(self.view, region, match.group()) line_text = line_text.replace( matched, self.format_match(matched, reg)) sublime_api.view_replace(self.view.view_id, edit.edit_token, self.view.line(region), line_text) sublime.status_message("Pretty Print – Papyrus")
def replace(self, edit, r, text): sublime_api.view_replace(self.view_id, edit.edit_token, r, text)
def replace(self, edit, r, text): if edit.edit_token == 0: raise ValueError("Edit objects may not be used after the TextCommand's run method has returned") sublime_api.view_replace(self.view_id, edit.edit_token, r, text)