Exemplo n.º 1
0
def check_depends():
	changelog_fn = gs.dist_path("CHANGELOG.md")
	try:
		with open(changelog_fn) as f:
			s = f.read()
	except IOError:
		gs.notice(DOMAIN, traceback.format_exc())
		return

	changes = split_changes(s)
	if changes:
		def cb():
			aso = gs.aso()
			old_rev = aso.get('changelog.rev', '')
			new_rev = changes[0][0]
			if new_rev > old_rev:
				aso.set('changelog.rev', new_rev)
				gs.save_aso()

				new_changes = [
					'GoSublime: Recent Updates (you may need to restart Sublime Text for changes to take effect)',
					'------------------------------------------------------------------------------------------',
				]

				for change in changes:
					rev, msg = change
					if rev > old_rev:
						new_changes.append('\n%s\n\t%s' % (rev, msg))
					else:
						break

				new_changes.append('\nSee %s for the full CHANGELOG\n' % changelog_fn)
				new_changes = '\n'.join(new_changes)
				gs.show_output(DOMAIN, new_changes, print_output=False)
		sublime.set_timeout(cb, 0)
	else:
		margo.call(
			path='/',
			args='hello',
			message='hello MarGo'
		)
Exemplo n.º 2
0
def _token(head, bin):
	head = _read(gs.dist_path(head))
	token = '%s %s' % (head.strip(), _fasthash(bin))
	return token
Exemplo n.º 3
0
import time
import hashlib
import base64
import Queue
import uuid
import margo
import json
import atexit

DOMAIN = 'MarGo9'
REQUEST_PREFIX = '%s.rqst.' % DOMAIN
PROC_ATTR_NAME = 'mg9.proc'

# customization of, or user-owned margo will no longer be supported
# so we'll hardcode the relevant paths and refer to them directly instead of relying on PATH
MARGO0_SRC = gs.dist_path('something_borrowed/margo0')
MARGO9_SRC = gs.dist_path('margo9')
MARGO0_EXE = 'gosublime.margo0.exe'
MARGO9_EXE = 'gosublime.margo9.exe'
MARGO0_BIN = gs.home_path('bin', MARGO0_EXE)
MARGO9_BIN = gs.home_path('bin', MARGO9_EXE)

if not gs.checked(DOMAIN, '_vars'):
	_send_q = Queue.Queue()
	_recv_q = Queue.Queue()

class Request(object):
	def __init__(self, f, method='', token=''):
		self.f = f
		self.tm = time.time()
		self.method = method
Exemplo n.º 4
0
def cmd_help(view, edit, args, wd, rkey):
	gs.focus(gs.dist_path('9o.md'))
	push_output(view, rkey, '')
Exemplo n.º 5
0
import os
import Queue
import re
import sublime
import sublime_plugin
import threading
import time
import uuid

DOMAIN = 'MarGo'
REQUEST_PREFIX = '%s.rqst.' % DOMAIN
PROC_ATTR_NAME = 'mg9.proc'

CHANGES_SPLIT_PAT = re.compile(r'^##', re.MULTILINE)
CHANGES_MATCH_PAT = re.compile(r'^\s*(r[\d.]+[-]\d+)\s+(.+?)\s*$', re.DOTALL)
CHANGELOG_FN = gs.dist_path("CHANGELOG.md")
CHANGES = []

with open(CHANGELOG_FN) as f:
	s = f.read()

for m in CHANGES_SPLIT_PAT.split(s):
	m = CHANGES_MATCH_PAT.match(m)
	if m:
		CHANGES.append((m.group(1), m.group(2)))
CHANGES.sort(reverse=True)
REV = CHANGES[0][0]

# customization of, or user-owned margo will no longer be supported
# so we'll hardcode the relevant paths and refer to them directly instead of relying on PATH
MARGO_SRC = gs.dist_path('margo9')
Exemplo n.º 6
0
def _run(cmd, cwd=None, shell=False):
    nv = {
        'GOBIN': '',
        'GOPATH': gs.dist_path('something_borrowed'),
    }
    return gsshell.run(cmd, shell=shell, cwd=cwd, env=nv)
Exemplo n.º 7
0
import time
import hashlib
import base64
import Queue
import uuid
import margo
import json
import atexit

DOMAIN = 'MarGo9'
REQUEST_PREFIX = '%s.rqst.' % DOMAIN
PROC_ATTR_NAME = 'mg9.proc'

# customization of, or user-owned margo will no longer be supported
# so we'll hardcode the relevant paths and refer to them directly instead of relying on PATH
MARGO0_SRC = gs.dist_path('something_borrowed/margo0')
MARGO9_SRC = gs.dist_path('margo9')
MARGO0_EXE = 'gosublime.margo0.exe'
MARGO9_EXE = 'gosublime.margo9.exe'
MARGO0_BIN = gs.home_path('bin', MARGO0_EXE)
MARGO9_BIN = gs.home_path('bin', MARGO9_EXE)

if not gs.checked(DOMAIN, '_vars'):
    _send_q = Queue.Queue()
    _recv_q = Queue.Queue()


class Request(object):
    def __init__(self, f, method='', token=''):
        self.f = f
        self.tm = time.time()
Exemplo n.º 8
0
import gsshell
import sublime
import threading
import os
import gsq
import time
import hashlib
import base64
import Queue
import uuid

DOMAIN = "MarGo9"

# customization of, or user-owned gocode and margo will no longer be supported
# so we'll hardcode the relevant paths and refer to them directly instead of relying on PATH
MARGO9_SRC = gs.dist_path("margo9")
GOCODE_SRC = gs.dist_path("something_borrowed/gocode")
MARGO9_BIN = gs.home_path("bin", "gosublime.margo9.exe")
GOCODE_BIN = gs.home_path("bin", "gosublime.gocode.exe")

if not gs.checked(DOMAIN, "_vars"):
    _send_q = Queue.Queue()
    _recv_q = Queue.Queue()
    _stash = {}


def _sb(s):
    bdir = gs.home_path("bin")
    if s.startswith(bdir):
        s = "~bin%s" % (s[len(bdir) :])
    return s
Exemplo n.º 9
0
import gscommon as gs
import gsshell
import sublime
import threading
import os
import gsq
import time
import hashlib
import base64
import Queue

DOMAIN = 'MarGo9'

# customization of, or user-owned gocode and margo will no longer be supported
# so we'll hardcode the relevant paths and refer to them directly instead of relying on PATH
MARGO9_SRC = gs.dist_path('margo9')
GOCODE_SRC = gs.dist_path('something_borrowed/gocode')
MARGO9_BIN = gs.home_path('bin', 'gosublime.margo9.exe')
GOCODE_BIN = gs.home_path('bin', 'gosublime.gocode.exe')

def _sb(s):
	bdir = gs.home_path('bin')
	if s.startswith(bdir):
		s = '~bin%s' % (s[len(bdir):])
	return s

def _tp(s):
	return (_sb(s), ('ok' if os.path.exists(s) else 'missing'))

def _so(out, err, start, end):
	out = out.strip()
Exemplo n.º 10
0
Arquivo: mg9.py Projeto: d3z/GoSublime
import hashlib
import base64
import Queue
import uuid
import margo
import json
import atexit
import re

DOMAIN = 'MarGo9'
REQUEST_PREFIX = '%s.rqst.' % DOMAIN
PROC_ATTR_NAME = 'mg9.proc'

CHANGES_SPLIT_PAT = re.compile(r'^##', re.MULTILINE)
CHANGES_MATCH_PAT = re.compile(r'^\s*(r[\d.]+[-]\d+)\s+(.+?)\s*$', re.DOTALL)
CHANGELOG_FN = gs.dist_path("CHANGELOG.md")
CHANGES = []

with open(CHANGELOG_FN) as f:
	s = f.read()

for m in CHANGES_SPLIT_PAT.split(s):
	m = CHANGES_MATCH_PAT.match(m)
	if m:
		CHANGES.append((m.group(1), m.group(2)))
CHANGES.sort(reverse=True)
REV = CHANGES[0][0]

# customization of, or user-owned margo will no longer be supported
# so we'll hardcode the relevant paths and refer to them directly instead of relying on PATH
MARGO0_SRC = gs.dist_path('something_borrowed/margo0')
Exemplo n.º 11
0
import hashlib
import base64
import Queue
import uuid
import margo
import json
import atexit
import re

DOMAIN = 'MarGo9'
REQUEST_PREFIX = '%s.rqst.' % DOMAIN
PROC_ATTR_NAME = 'mg9.proc'

CHANGES_SPLIT_PAT = re.compile(r'^##', re.MULTILINE)
CHANGES_MATCH_PAT = re.compile(r'^\s*(r[\d.]+[-]\d+)\s+(.+?)\s*$', re.DOTALL)
CHANGELOG_FN = gs.dist_path("CHANGELOG.md")
CHANGES = []

with open(CHANGELOG_FN) as f:
    s = f.read()

for m in CHANGES_SPLIT_PAT.split(s):
    m = CHANGES_MATCH_PAT.match(m)
    if m:
        CHANGES.append((m.group(1), m.group(2)))
CHANGES.sort(reverse=True)
REV = CHANGES[0][0]

# customization of, or user-owned margo will no longer be supported
# so we'll hardcode the relevant paths and refer to them directly instead of relying on PATH
MARGO0_SRC = gs.dist_path('something_borrowed/margo0')
Exemplo n.º 12
0
import os
import Queue
import re
import sublime
import sublime_plugin
import threading
import time
import uuid

DOMAIN = 'MarGo'
REQUEST_PREFIX = '%s.rqst.' % DOMAIN
PROC_ATTR_NAME = 'mg9.proc'

CHANGES_SPLIT_PAT = re.compile(r'^##', re.MULTILINE)
CHANGES_MATCH_PAT = re.compile(r'^\s*(r[\d.]+[-]\d+)\s+(.+?)\s*$', re.DOTALL)
CHANGELOG_FN = gs.dist_path("CHANGELOG.md")
CHANGES = []

with open(CHANGELOG_FN) as f:
    s = f.read()

for m in CHANGES_SPLIT_PAT.split(s):
    m = CHANGES_MATCH_PAT.match(m)
    if m:
        CHANGES.append((m.group(1), m.group(2)))
CHANGES.sort(reverse=True)
REV = CHANGES[0][0]

# customization of, or user-owned margo will no longer be supported
# so we'll hardcode the relevant paths and refer to them directly instead of relying on PATH
MARGO_SRC = gs.dist_path('margo9')
Exemplo n.º 13
0
def _run(cmd, cwd=None, shell=False):
    nv = {"GOBIN": "", "GOPATH": gs.dist_path("something_borrowed")}
    return gsshell.run(cmd, shell=shell, cwd=cwd, env=nv)
Exemplo n.º 14
0
def _run(cmd, cwd=None, shell=False):
	nv = {
		'GOBIN': '',
		'GOPATH': gs.dist_path('something_borrowed'),
	}
	return gsshell.run(cmd, shell=shell, cwd=cwd, env=nv)
Exemplo n.º 15
0
def _token(head, bin):
    head = _read(gs.dist_path(head))
    token = '%s %s' % (head.strip(), _fasthash(bin))
    return token
Exemplo n.º 16
0
def cmd_help(view, edit, args, wd, rkey):
    gs.focus(gs.dist_path('9o.md'))
    push_output(view, rkey, '')
Exemplo n.º 17
0
import hashlib
import base64
import Queue
import uuid
import margo
import json
import atexit
import re

DOMAIN = "MarGo9"
REQUEST_PREFIX = "%s.rqst." % DOMAIN
PROC_ATTR_NAME = "mg9.proc"

CHANGES_SPLIT_PAT = re.compile(r"^##", re.MULTILINE)
CHANGES_MATCH_PAT = re.compile(r"^\s*(r[\d.]+[-]\d+)\s+(.+?)\s*$", re.DOTALL)
CHANGELOG_FN = gs.dist_path("CHANGELOG.md")
CHANGES = []

with open(CHANGELOG_FN) as f:
    s = f.read()

for m in CHANGES_SPLIT_PAT.split(s):
    m = CHANGES_MATCH_PAT.match(m)
    if m:
        CHANGES.append((m.group(1), m.group(2)))
CHANGES.sort(reverse=True)
REV = CHANGES[0][0]

# customization of, or user-owned margo will no longer be supported
# so we'll hardcode the relevant paths and refer to them directly instead of relying on PATH
MARGO0_SRC = gs.dist_path("something_borrowed/margo0")