def run(self, edit, set_status=False): view = self.view def f(cl, err): def f2(cl, err): c = {} if len(cl) == 1: c = cl[0] if set_status: if c: s = '%s: %s' % (c['name'], c['type']) view.set_status(HINT_KEY, s) else: view.erase_status(HINT_KEY) else: if c: s = '%s %s\n%s' % (c['name'], c['class'], c['type']) else: s = '// %s' % (err or 'No calltips found') gs.show_output(HINT_KEY, s, print_output=False, syntax_file='GsDoc') sublime.set_timeout(lambda: f2(cl, err), 0) fn = view.file_name() src = gs.view_src(view) pos = gs.sel(view).begin() mg9.calltip(fn, src, pos, set_status, f)
def run(self, edit, set_status=False): view = self.view def f(cl, err): def f2(cl, err): c = {} if len(cl) == 1: c = cl[0] if set_status: if c: pfx = "func(" typ = c["type"] if typ.startswith(pfx): s = "func %s(%s" % (c["name"], typ[len(pfx) :]) else: s = "%s: %s" % (c["name"], typ) view.set_status(HINT_KEY, s) else: view.erase_status(HINT_KEY) else: if c: s = "%s %s\n%s" % (c["name"], c["class"], c["type"]) else: s = "// %s" % (err or "No calltips found") gs.show_output(HINT_KEY, s, print_output=False, syntax_file="GsDoc") sublime.set_timeout(lambda: f2(cl, err), 0) fn = view.file_name() src = gs.view_src(view) pos = gs.sel(view).begin() mg9.calltip(fn, src, pos, set_status, f)
def run(self): def f(res, err): if err: gs.notify(DOMAIN, err) return mats = {} args = {} decls = res.get("file_decls", []) decls.extend(res.get("pkg_decls", [])) for d in decls: name = d["name"] prefix, _ = match_prefix_name(name) kind = d["kind"].lstrip("+- ") if prefix and kind == "func" and d["repr"] == "": mats[prefix] = True args[name] = name names = sorted(args.keys()) ents = ["Run all tests and examples"] for k in ["Test", "Benchmark", "Example"]: if mats.get(k): s = "Run %ss Only" % k ents.append(s) if k == "Benchmark": args[s] = ["-test.run=none", '-test.bench="%s.*"' % k] else: args[s] = ['-test.run="%s.*"' % k] for k in names: ents.append(k) if k.startswith("Benchmark"): args[k] = ["-test.run=none", '-test.bench="^%s$"' % k] else: args[k] = ['-test.run="^%s$"' % k] def cb(i, win): if i >= 0: a = args.get(ents[i], []) win.active_view().run_command( "gs9o_open", {"run": gs.lst("go", "test", a)} ) gs.show_quick_panel(ents, cb) win, view = gs.win_view(None, self.window) if view is None: return vfn = gs.view_fn(view) src = gs.view_src(view) pkg_dir = "" if view.file_name(): pkg_dir = os.path.dirname(view.file_name()) mg9.declarations(vfn, src, pkg_dir, f)
def cmd_share(view, edit, args, wd, rkey): av = gs.active_valid_go_view(win=view.window()) if av is None: push_output(view, rkey, 'not sharing non-go src') return def f(res, err): s = '%s\n%s' % (err, res.get('url', '')) push_output(view, rkey, s.strip()) mg9.share(gs.view_src(view.window().active_view()), f)
def run(self): def f(res, err): if err: gs.notify(DOMAIN, err) return mats = {} args = {} decls = res.get('file_decls', []) decls.extend(res.get('pkg_decls', [])) for d in decls: name = d['name'] prefix, _ = match_prefix_name(name) kind = d['kind'].lstrip('+-~ ') if prefix and kind == 'func' and d['repr'] == '': mats[prefix] = True args[name] = name names = sorted(args.keys()) ents = ['Run all tests and examples'] for k in ['Test', 'Benchmark', 'Example']: if mats.get(k): s = 'Run %ss Only' % k ents.append(s) if k == 'Benchmark': args[s] = ['-test.run=none', '-test.bench="%s.*"' % k] else: args[s] = ['-test.run="%s.*"' % k] for k in names: ents.append(k) if k.startswith('Benchmark'): args[k] = ['-test.run=none', '-test.bench="^%s$"' % k] else: args[k] = ['-test.run="^%s$"' % k] def cb(i, win): if i >= 0: a = args.get(ents[i], []) win.active_view().run_command('gs9o_open', {'run': gs.lst('go', 'test', a)}) gs.show_quick_panel(ents, cb) win, view = gs.win_view(None, self.window) if view is None: return vfn = gs.view_fn(view) src = gs.view_src(view) pkg_dir = '' if view.file_name(): pkg_dir = os.path.dirname(view.file_name()) mg9.declarations(vfn, src, pkg_dir, f)
def present_current(self): pkg_dir = '' view = gs.active_valid_go_view(win=self.window, strict=False) if view: if view.file_name(): pkg_dir = os.path.dirname(view.file_name()) vfn = gs.view_fn(view) src = gs.view_src(view) else: vfn = '' src = '' self.present(vfn, src, pkg_dir)
def run(self): def f(res, err): if err: gs.notify(DOMAIN, err) return mats = {} args = {} decls = res.get('file_decls', []) decls.extend(res.get('pkg_decls', [])) for d in decls: name = d['name'] prefix, _ = match_prefix_name(name) if prefix and d['kind'] == 'func' and d['repr'] == '': mats[prefix] = True args[name] = name names = sorted(args.keys()) ents = ['Run all tests and examples'] for k in ['Test', 'Benchmark', 'Example']: if mats.get(k): s = 'Run %ss Only' % k ents.append(s) if k == 'Benchmark': args[s] = ['-test.run=none', '-test.bench="%s.*"' % k] else: args[s] = ['-test.run="%s.*"' % k] for k in names: ents.append(k) if k.startswith('Benchmark'): args[k] = ['-test.run=none', '-test.bench="^%s$"' % k] else: args[k] = ['-test.run="^%s$"' % k] def cb(i, win): if i >= 0: a = args.get(ents[i], []) win.active_view().run_command('gs9o_open', {'run': gs.lst('go', 'test', a)}) gs.show_quick_panel(ents, cb) win, view = gs.win_view(None, self.window) if view is None: return vfn = gs.view_fn(view) src = gs.view_src(view) pkg_dir = '' if view.file_name(): pkg_dir = os.path.dirname(view.file_name()) mg9.declarations(vfn, src, pkg_dir, f)
def palette_declarations(self, view, direct=False): def f(res, err): if err: gs.notify('GsDeclarations', err) else: decls = res.get('file_decls', []) decls.sort(key=lambda v: v.get('row', 0)) added = 0 for i, v in enumerate(decls): loc = Loc(v['fn'], v['row'], v['col']) s = '%s %s' % (v['kind'], (v['repr'] or v['name'])) self.add_item(s, self.jump_to, (view, loc)) added += 1 if added < 1: self.add_item(['', 'No declarations found']) self.do_show_panel() mg9.declarations(gs.view_fn(view), gs.view_src(view), '', f)
def palette_declarations(self, view, direct=False): def f(res, err): if err: gs.notify("GsDeclarations", err) else: decls = res.get("file_decls", []) decls.sort(key=lambda v: v.get("row", 0)) added = 0 for i, v in enumerate(decls): loc = Loc(v["fn"], v["row"], v["col"]) s = "%s %s" % (v["kind"], (v["repr"] or v["name"])) self.add_item(s, self.jump_to, (view, loc)) added += 1 if added < 1: self.add_item(["", "No declarations found"]) self.do_show_panel() mg9.declarations(gs.view_fn(view), gs.view_src(view), "", f)
def run(self,debug=False): global w_builders g_builder=None wid=self.window.id() if w_builders.has_key(wid): g_builder=w_builders[wid] if (g_builder is not None) and (g_builder.is_running()): g_builder.showLView() return def f(res, err): if err: gs.notify(DOMAIN, err) return mats = {} args = {} decls = res.get('file_decls', []) decls.extend(res.get('pkg_decls', [])) for d in decls: name = d['name'] prefix, _ = match_prefix_name(name) if prefix and d['kind'] == 'func' and d['repr'] == '': mats[True] = prefix args[name] = name names = sorted(args.keys()) ents = ['Run all tests and examples'] for k in ['Test', 'Benchmark', 'Example']: if mats.get(k): s = 'Run %ss Only' % k ents.append(s) if k == 'Benchmark': args[s] = ['-test.run=none', '-test.bench="%s.*"' % k] else: args[s] = ['-test.run="%s.*"' % k] for k in names: ents.append(k) if k.startswith('Benchmark'): args[k] = ['-test.run=none', '-test.bench="^%s$"' % k] else: args[k] = ['-test.run=^%s$' % k] def cb(i, win): if i >= 0: a = args.get(ents[i], []) sargs="" if len(a)>0: sargs=a[0] # print sargs if debug: win.run_command('gdb_launch', {'test':True,'trun':sargs}) else: global g_builder g_builder=GoBuilder() g_builder.initEnv(True,sargs,self.window.active_view(),n_console_view) g_builder.run() gs.show_quick_panel(ents, cb) win, view = gs.win_view(None, self.window) if view is None: return vfn = gs.view_fn(view) src = gs.view_src(view) pkg_dir = '' if view.file_name(): pkg_dir = os.path.dirname(view.file_name()) mg9.declarations(vfn, src, pkg_dir, f)
def run(self, debug=False): global w_builders g_builder = None wid = self.window.id() if w_builders.has_key(wid): g_builder = w_builders[wid] if (g_builder is not None) and (g_builder.is_running()): g_builder.showLView() return def f(res, err): if err: gs.notify(DOMAIN, err) return mats = {} args = {} decls = res.get('file_decls', []) decls.extend(res.get('pkg_decls', [])) for d in decls: name = d['name'] prefix, _ = match_prefix_name(name) if prefix and d['kind'] == 'func' and d['repr'] == '': mats[True] = prefix args[name] = name names = sorted(args.keys()) ents = ['Run all tests and examples'] for k in ['Test', 'Benchmark', 'Example']: if mats.get(k): s = 'Run %ss Only' % k ents.append(s) if k == 'Benchmark': args[s] = ['-test.run=none', '-test.bench="%s.*"' % k] else: args[s] = ['-test.run="%s.*"' % k] for k in names: ents.append(k) if k.startswith('Benchmark'): args[k] = ['-test.run=none', '-test.bench="^%s$"' % k] else: args[k] = ['-test.run=^%s$' % k] def cb(i, win): if i >= 0: a = args.get(ents[i], []) sargs = "" if len(a) > 0: sargs = a[0] # print sargs if debug: win.run_command('gdb_launch', { 'test': True, 'trun': sargs }) else: global g_builder g_builder = GoBuilder() g_builder.initEnv(True, sargs, self.window.active_view(), n_console_view) g_builder.run() gs.show_quick_panel(ents, cb) win, view = gs.win_view(None, self.window) if view is None: return vfn = gs.view_fn(view) src = gs.view_src(view) pkg_dir = '' if view.file_name(): pkg_dir = os.path.dirname(view.file_name()) mg9.declarations(vfn, src, pkg_dir, f)