def f(docs, err): doc = '' if err: self.show_output('// Error: %s' % err) elif docs: if mode == "goto": fn = '' flags = 0 if len(docs) > 0: d = docs[0] fn = d.get('fn', '') row = d.get('row', 0) col = d.get('col', 0) if fn: gs.println('opening %s:%s:%s' % (fn, row, col)) vu.open(fn=fn, row=row, col=col) return self.show_output("%s: cannot find definition" % DOMAIN) elif mode == "hint": s = [] for d in docs: name = d.get('name', '') if name: kind = d.get('kind', '') pkg = d.get('pkg', '') if pkg: name = '%s.%s' % (pkg, name) src = d.get('src', '') if src: src = '\n//\n%s' % src doc = '// %s %s%s' % (name, kind, src) s.append(doc) doc = '\n\n\n'.join(s).strip() self.show_output(doc or "// %s: no docs found" % DOMAIN)
def cb(i, win): if i >= 0: fn = m[ents[i]] if os.path.isdir(fn): win.run_command("gs_browse_files", {"dir": fn}) else: vu.open(fn=fn, win=win)
def f(res, err): if err: ui.error(DOMAIN, err) return fn = res.get('Fn') row = res.get('Line', -1) - 1 col = res.get('Col', 0) - 1 if not fn or row < 0: ui.note(DOMAIN, "no definition found") return gs.println('opening %s:%s:%s' % (fn, row, col)) vu.open(fn=fn, row=row, col=col)
def act_on_path(view, path): vv = vu.open(fn=path, win=view.window()) if vv.has_view(): return True if URL_PATH_PAT.match(path): if path.lower().startswith('gs.packages://'): vv = vu.open(fn=os.path.join(gs.packages_dir(), path[14:]), win=view.window()) return vv.has_view() try: if not URL_SCHEME_PAT.match(path): path = 'http://%s' % path ui.note(DOMAIN, 'open url: %s' % path) webbrowser.open_new_tab(path) return True except Exception: ui.trace(DOMAIN) return False ui.note(DOMAIN, "Invalid path `%s'" % path) return False
def goto(self, loc): vu.open(fn=loc.fn, row=loc.row, col=loc.col)
def cb(i, win): if i >= 0: d = decls[i] vu.open(fn=d['fn'], win=win, row=d['row'], col=d['col'])
def cb(): aso = gs.aso() if about.ANN != aso.get('ann', ''): aso.set('ann', about.ANN) gs.save_aso() vu.open(gs.dist_path('CHANGELOG.md'))