def toggle_import(self, a): global last_import_path view, decl = a im, err = margo.imports( view.file_name(), view.substr(sublime.Region(0, view.size())), [decl] ) if err: gs.notice(DOMAIN, err) else: src = im.get('src', '') line_ref = im.get('line_ref', 0) r = view.full_line(view.text_point(max(0, line_ref-1), 0)) if not src or line_ref < 1 or not r: return dirty, err = gspatch.merge(view, r.end(), src) if err: gs.notice_undo(DOMAIN, err, view, dirty) elif dirty: if decl.get('add'): last_import_path[view.file_name()] = decl.get('path') else: last_import_path[view.file_name()] = ''
def toggle_import(self, a): global last_import_path view, decl = a im, err = margo.imports( view.file_name(), view.substr(sublime.Region(0, view.size())), False, [decl] ) if err: gs.notice(DOMAIN, err) else: src = im.get('src', '') size_ref = im.get('size_ref', 0) if src and size_ref > 0: dirty, err = gspatch.merge(view, size_ref, src) if err: gs.notice_undo(DOMAIN, err, view, dirty) elif dirty: if decl.get('add'): last_import_path[view.file_name()] = decl.get('path') else: last_import_path[view.file_name()] = '' gs.notice(DOMAIN, 'imports updated...')
def toggle_import(self, a): global last_import_path view, decl = a im, err = margo.imports(view.file_name(), view.substr(sublime.Region(0, view.size())), [decl]) if err: gs.notice(DOMAIN, err) else: src = im.get('src', '') line_ref = im.get('line_ref', 0) r = view.full_line(view.text_point(max(0, line_ref - 1), 0)) if not src or line_ref < 1 or not r: return dirty, err = gspatch.merge(view, r.end(), src) if err: gs.notice_undo(DOMAIN, err, view, dirty) elif dirty: if decl.get('add'): last_import_path[view.file_name()] = decl.get('path') else: last_import_path[view.file_name()] = '' gs.notice(DOMAIN, 'imports updated...')
def palette_imports(self, view, direct=False): indent = '' if direct else ' ' im, err = margo.imports( view.file_name(), view.substr(sublime.Region(0, view.size())), True, [] ) if err: gs.notice(DOMAIN, err) delete_imports = [] add_imports = [] imports = im.get('file_imports', []) for path in im.get('import_paths', []): skipAdd = False for i in imports: if i.get('path') == path: skipAdd = True name = i.get('name', '') if not name: name = basename(path) if name == path: delete_imports.append(('%sdelete: %s' % (indent, name), i)) else: delete_imports.append(('%sdelete: %s ( %s )' % (indent, name, path), i)) if not skipAdd: add_imports.append(('%s%s' % (indent, path), {'path': path, 'add': True})) for i in sorted(delete_imports): self.add_item(i[0], self.toggle_import, (view, i[1])) self.add_item(' --- ', self.show_palette, 'imports') for i in sorted(add_imports): self.add_item(i[0], self.toggle_import, (view, i[1]))