예제 #1
0
    def run(self):
        self.started = time.time()
        tid = gs.begin(DOMAIN,
                       self.message,
                       set_status=False,
                       cancel=self.cancel)
        try:
            try:
                self.p = gs.popen(self.cmd,
                                  shell=self.shell,
                                  stderr=subprocess.STDOUT,
                                  environ=self.env,
                                  cwd=self.cwd,
                                  bufsize=1)

                CommandStdoutReader(self, self.p.stdout).start()
            except Exception as ex:
                self.x = ex
            finally:
                self.rcode = self.p.wait() if self.p else False
        finally:
            gs.end(tid)
            self.ended = time.time()
            self.on_done(self)

            for f in self.done:
                try:
                    f(self)
                except Exception:
                    gs.notice(DOMAIN, gs.traceback())
예제 #2
0
파일: mg9.py 프로젝트: charlievieth/GoSubl
    def cb(res, err):
        if tid:
            gs.end(tid)

        res = gs.dval(res.get("Candidates"), [])
        calltip_cache.set(fn, src, pos, res, err)
        f(res, err)
예제 #3
0
    def run(self):
        self.started = time.time()
        tid = gs.begin(DOMAIN, self.message, set_status=False, cancel=self.cancel)
        try:
            try:
                self.p = gs.popen(
                    self.cmd,
                    shell=self.shell,
                    stderr=subprocess.STDOUT,
                    environ=self.env,
                    cwd=self.cwd,
                    bufsize=1,
                )

                CommandStdoutReader(self, self.p.stdout).start()
            except Exception as ex:
                self.x = ex
            finally:
                self.rcode = self.p.wait() if self.p else False
        finally:
            gs.end(tid)
            self.ended = time.time()
            self.on_done(self)

            for f in self.done:
                try:
                    f(self)
                except Exception:
                    gs.notice(DOMAIN, gs.traceback())
예제 #4
0
파일: gsq.py 프로젝트: charlievieth/GoSubl
 def run(self):
     tid = gs.begin(self.domain, self.msg, self.set_status)
     try:
         self.f()  # WARN (CEV): Error
     except Exception:
         gs.notice(self.domain, gs.traceback())
     finally:
         gs.end(tid)
예제 #5
0
 def run(self):
     tid = gs.begin(self.domain, self.msg, self.set_status)
     try:
         self.f()
     except Exception:
         gs.notice(self.domain, gs.traceback())
     finally:
         gs.end(tid)
예제 #6
0
파일: gsq.py 프로젝트: charlievieth/GoSubl
    def run(self):
        while True:
            try:
                f, msg, set_status = self.q.get()
                tid = gs.begin(self.domain, msg, set_status)

                try:
                    f()
                except Exception:
                    gs.notice(self.domain, gs.traceback())
            except:
                pass

            gs.end(tid)
예제 #7
0
파일: mg9.py 프로젝트: GeertJohan/GoSublime
def _init_go_bin():
    global GO_BIN

    if GO_BIN:
        return

    tid = gs.begin(DOMAIN, 'Looking for go')

    GO_BIN = gs.which('go')
    if not GO_BIN:
        _init_shell_path()
        GO_BIN = gs.which('go')

    gs.end(tid)
예제 #8
0
    def run(self):
        while True:
            try:
                f, msg, set_status = self.q.get()
                tid = gs.begin(self.domain, msg, set_status)

                try:
                    f()
                except Exception:
                    gs.notice(self.domain, gs.traceback())
            except:
                pass

            gs.end(tid)
예제 #9
0
파일: mg9.py 프로젝트: GeertJohan/GoSublime
def _init_go_bin():
	global GO_BIN

	if GO_BIN:
		return

	tid = gs.begin(DOMAIN, 'Looking for go')

	GO_BIN = gs.which('go')
	if not GO_BIN:
		_init_shell_path()
		GO_BIN = gs.which('go')

	gs.end(tid)
예제 #10
0
파일: gsev.py 프로젝트: eticzon/GoSublime
def do_post_save(view):
    if not gs.is_pkg_view(view):
        return

    for c in gs.setting('on_save', []):
        cmd = c.get('cmd', '')
        args = c.get('args', {})
        msg = 'running on_save command %s' % cmd
        tid = gs.begin(DOMAIN, msg, set_status=False)
        try:
            view.run_command(cmd, args)
        except Exception as ex:
            gs.notice(DOMAIN, 'Error %s' % ex)
        finally:
            gs.end(tid)
예제 #11
0
파일: gsev.py 프로젝트: defeated/GoSublime
def do_post_save(view):
	if not gs.is_pkg_view(view):
		return

	for c in gs.setting('on_save', []):
		cmd = c.get('cmd', '')
		args = c.get('args', {})
		msg = 'running on_save command %s' % cmd
		tid = gs.begin(DOMAIN, msg, set_status=False)
		try:
			view.run_command(cmd, args)
		except Exception as ex:
			gs.notice(DOMAIN, 'Error %s' % ex)
		finally:
			gs.end(tid)
예제 #12
0
파일: mg9.py 프로젝트: GeertJohan/GoSublime
def _init_go_version():
	global GO_VERSION

	if GO_VERSION and GO_VERSION != about.DEFAULT_GO_VERSION:
		return

	tid = gs.begin(DOMAIN, 'Finding go version')

	bin = _go_bin()
	if bin:
		out, _, _ = gsshell.run(['go', 'version'], stderr=subprocess.STDOUT, env=gs.env())
		m = about.GO_VERSION_OUTPUT_PAT.search(out)
		if m:
			GO_VERSION = '-'.join(s for s in m.groups() if s)

	gs.end(tid)
예제 #13
0
파일: mg9.py 프로젝트: GeertJohan/GoSublime
def _init_go_version():
    global GO_VERSION

    if GO_VERSION and GO_VERSION != about.DEFAULT_GO_VERSION:
        return

    tid = gs.begin(DOMAIN, 'Finding go version')

    bin = _go_bin()
    if bin:
        out, _, _ = gsshell.run(['go', 'version'],
                                stderr=subprocess.STDOUT,
                                env=gs.env())
        m = about.GO_VERSION_OUTPUT_PAT.search(out)
        if m:
            GO_VERSION = '-'.join(s for s in m.groups() if s)

    gs.end(tid)
예제 #14
0
파일: mg9.py 프로젝트: charlievieth/GoSubl
def calltip(fn, src, pos, quiet, f):
    tid = ""
    if not quiet:
        tid = gs.begin(DOMAIN, "Fetching calltips")

    def cb(res, err):
        if tid:
            gs.end(tid)

        res = gs.dval(res.get("Candidates"), [])
        calltip_cache.set(fn, src, pos, res, err)
        f(res, err)

    res, err, ok = calltip_cache.get(fn, src, pos)
    if ok:
        if tid:
            gs.end(tid)
        f(res, err)
        return

    return acall("gocode_calltip", _complete_opts(fn, src, pos, True), cb)
예제 #15
0
파일: gs9o.py 프로젝트: 905522052/GoSublime
		def f():
			gs.end(tid)
			push_output(view, rkey, out, hourglass_repl='| done: %s' % res.get('dur', ''))
예제 #16
0
 def cb(res, err):
     gs.end(tid)
     f(res, err)
예제 #17
0
    def cb(res, err):
        if tid:
            gs.end(tid)

        res = gs.dval(res.get('Candidates'), [])
        f(res, err)
예제 #18
0
	def cb(res, err):
		if tid:
			gs.end(tid)

		res = gs.dval(res.get('calltips'), [])
		f(res, err)
예제 #19
0
파일: mg9.py 프로젝트: allanw1/Arianrhod
	def cb(res, err):
		if tid:
			gs.end(tid)

		res = gs.dval(res.get('Candidates'), [])
		f(res, err)
예제 #20
0
 def f():
     gs.end(tid)
     push_output(view, rkey, out, hourglass_repl="| done: %s" % res.get("dur", ""))
예제 #21
0
파일: mg9.py 프로젝트: allanw1/Arianrhod
	def cb(res, err):
		gs.end(tid)
		f(res, err)
예제 #22
0
 def f():
     gs.end(tid)
     push_output(view,
                 rkey,
                 out,
                 hourglass_repl='| done: %s' % res.get('dur', ''))