コード例 #1
0
def fmt(fn, src):
    st = gs.settings_dict()
    x = st.get('fmt_cmd')
    if x:
        env = sh.env()
        x = [string.Template(s).safe_substitute(env) for s in x]
        res, err = bcall(
            'sh', {
                'Env': env,
                'Cmd': {
                    'Name': x[0],
                    'Args': x[1:],
                    'Input': src or '',
                },
            })
        return res.get('out', ''), (err or res.get('err', ''))

    res, err = bcall(
        'fmt', {
            'Fn': fn or '',
            'Src': src or '',
            'TabIndent': st.get('fmt_tab_indent'),
            'TabWidth': st.get('fmt_tab_width'),
        })
    return res.get('src', ''), err
コード例 #2
0
ファイル: mg9.py プロジェクト: allanw1/Arianrhod
def fmt(fn, src):
	fn = fn or ''
	src = src or ''
	fmt_cmd = gs.settings_dict().get('fmt_cmd')
	if not fmt_cmd:
		return _mg_fmt(fn, src)

	env = sh.env()
	fmt_cmd = [string.Template(s).safe_substitute(env) for s in fmt_cmd]
	cmd_name = fmt_cmd[0]
	cmd_args = fmt_cmd[1:]
	res, err = bcall('sh', {
		'Env': env,
		'Cmd': {
			'Name': cmd_name,
			'Args': cmd_args,
			'Input': src,
		},
	}, err_title=cmd_name)
	err = err or res.get('err') or ''
	cmd_src = '' if err else (res.get('out') or '')
	if err:
		mg_src, mg_err = _mg_fmt(fn, src)
		if mg_src and not mg_err:
			err = 'Used MarGo fmt because %s failed:\n\n%s' % (cmd_name, err)
			cmd_src = mg_src

	return cmd_src, err
コード例 #3
0
def fmt(fn, src):
    fn = fn or ''
    src = src or ''
    fmt_cmd = gs.settings_dict().get('fmt_cmd')
    if not fmt_cmd:
        return _mg_fmt(fn, src)

    env = sh.env()
    fmt_cmd = [string.Template(s).safe_substitute(env) for s in fmt_cmd]
    cmd_name = fmt_cmd[0]
    cmd_args = fmt_cmd[1:]
    res, err = bcall('sh', {
        'Env': env,
        'Cmd': {
            'Name': cmd_name,
            'Args': cmd_args,
            'Input': src,
        },
    },
                     err_title=cmd_name)
    err = err or res.get('err') or ''
    cmd_src = '' if err else (res.get('out') or '')
    if err:
        mg_src, mg_err = _mg_fmt(fn, src)
        if mg_src and not mg_err:
            err = 'Used MarGo fmt because %s failed:\n\n%s' % (cmd_name, err)
            cmd_src = mg_src

    return cmd_src, err
コード例 #4
0
ファイル: mg9.py プロジェクト: rfloriano/GoSublime
def fmt(fn, src):
	st = gs.settings_dict()
	x = st.get('fmt_cmd')
	if x:
		os.unsetenv('DYLD_INSERT_LIBRARIES')
		st_env = {}
		for k, v in st.get('env', {}).items():
			st_env[k] = os.path.expandvars(v)
		process = subprocess.Popen(x, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True, env=st_env or None)
		out, err = process.communicate(input=src.encode('utf-8'))
		return out.decode('utf-8'), err.decode('utf-8')

	res, err = bcall('fmt', {
		'Fn': fn or '',
		'Src': src or '',
		'TabIndent': st.get('fmt_tab_indent'),
		'TabWidth': st.get('fmt_tab_width'),
	})
	return res.get('src', ''), err
コード例 #5
0
ファイル: mg9.py プロジェクト: AlekSi/GoSublime
def fmt(fn, src):
	st = gs.settings_dict()
	x = st.get('fmt_cmd')
	if x:
		res, err = bcall('sh', {
			'Env': sh.env(),
			'Cmd': {
					'Name': x[0],
					'Args': x[1:],
					'Input': src or '',
			},
		})
		return res.get('out', ''), (err or res.get('err', ''))

	res, err = bcall('fmt', {
		'Fn': fn or '',
		'Src': src or '',
		'TabIndent': st.get('fmt_tab_indent'),
		'TabWidth': st.get('fmt_tab_width'),
	})
	return res.get('src', ''), err
コード例 #6
0
ファイル: mg9.py プロジェクト: kpkhxlgy0/SublimeText3
def fmt(fn, src):
    st = gs.settings_dict()
    x = st.get('fmt_cmd')
    if x:
        res, err = bcall(
            'sh', {
                'Env': sh.env(),
                'Cmd': {
                    'Name': x[0],
                    'Args': x[1:],
                    'Input': src or '',
                },
            })
        return res.get('out', ''), (err or res.get('err', ''))

    res, err = bcall(
        'fmt', {
            'Fn': fn or '',
            'Src': src or '',
            'TabIndent': st.get('fmt_tab_indent'),
            'TabWidth': st.get('fmt_tab_width'),
        })
    return res.get('src', ''), err
コード例 #7
0
ファイル: mg9.py プロジェクト: d0f/sublime-text-3
def fmt(fn, src):
	st = gs.settings_dict()
	x = st.get('fmt_cmd')
	if x:
		env = sh.env()
		x = [string.Template(s).safe_substitute(env) for s in x]
		res, err = bcall('sh', {
			'Env': env,
			'Cmd': {
					'Name': x[0],
					'Args': x[1:],
					'Input': src or '',
			},
		})
		return res.get('out', ''), (err or res.get('err', ''))

	res, err = bcall('fmt', {
		'Fn': fn or '',
		'Src': src or '',
		'TabIndent': st.get('fmt_tab_indent'),
		'TabWidth': st.get('fmt_tab_width'),
	})
	return res.get('src', ''), err
コード例 #8
0
ファイル: gs9o.py プロジェクト: 905522052/GoSublime
def cmd_settings(view, edit, args, wd, rkey):
	_env_settings(gs.settings_dict(), view, edit, args, wd, rkey)
コード例 #9
0
def cmd_settings(view, edit, args, wd, rkey):
    _env_settings(gs.settings_dict(), view, edit, args, wd, rkey)