mirror of
https://github.com/powerline/powerline.git
synced 2025-07-27 07:44:36 +02:00
parent
86c3768e4e
commit
d7a674deaa
@ -135,6 +135,7 @@ class Prompt(object):
|
|||||||
'client_id': 1,
|
'client_id': 1,
|
||||||
'local_theme': self.theme,
|
'local_theme': self.theme,
|
||||||
'parser_state': zsh.getvalue('_POWERLINE_PARSER_STATE'),
|
'parser_state': zsh.getvalue('_POWERLINE_PARSER_STATE'),
|
||||||
|
'shortened_path': zsh.getvalue('_POWERLINE_SHORTENED_PATH'),
|
||||||
}
|
}
|
||||||
r = ''
|
r = ''
|
||||||
if self.above:
|
if self.above:
|
||||||
|
@ -103,6 +103,10 @@ _powerline_set_jobnum() {
|
|||||||
_POWERLINE_JOBNUM=${(%):-%j}
|
_POWERLINE_JOBNUM=${(%):-%j}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_powerline_set_shortened_path() {
|
||||||
|
_POWERLINE_SHORTENED_PATH="${(%):-%~}"
|
||||||
|
}
|
||||||
|
|
||||||
_powerline_update_counter() {
|
_powerline_update_counter() {
|
||||||
zpython '_powerline.precmd()'
|
zpython '_powerline.precmd()'
|
||||||
}
|
}
|
||||||
@ -116,6 +120,8 @@ _powerline_setup_prompt() {
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
precmd_functions+=( _powerline_set_jobnum )
|
precmd_functions+=( _powerline_set_jobnum )
|
||||||
|
chpwd_functions+=( _powerline_set_shortened_path )
|
||||||
|
_powerline_set_shortened_path
|
||||||
|
|
||||||
VIRTUAL_ENV_DISABLE_PROMPT=1
|
VIRTUAL_ENV_DISABLE_PROMPT=1
|
||||||
|
|
||||||
@ -138,6 +144,7 @@ _powerline_setup_prompt() {
|
|||||||
add_args+=' --last_exit_code=$?'
|
add_args+=' --last_exit_code=$?'
|
||||||
add_args+=' --last_pipe_status="$pipestatus"'
|
add_args+=' --last_pipe_status="$pipestatus"'
|
||||||
add_args+=' --renderer_arg="client_id=$$"'
|
add_args+=' --renderer_arg="client_id=$$"'
|
||||||
|
add_args+=' --renderer_arg="shortened_path=$_POWERLINE_SHORTENED_PATH"'
|
||||||
add_args+=' --jobnum=$_POWERLINE_JOBNUM'
|
add_args+=' --jobnum=$_POWERLINE_JOBNUM'
|
||||||
local new_args_2=' --renderer_arg="parser_state=${(%%):-%_}"'
|
local new_args_2=' --renderer_arg="parser_state=${(%%):-%_}"'
|
||||||
new_args_2+=' --renderer_arg="local_theme=continuation"'
|
new_args_2+=' --renderer_arg="local_theme=continuation"'
|
||||||
|
@ -14,16 +14,16 @@
|
|||||||
"branch": {
|
"branch": {
|
||||||
"before": "BR "
|
"before": "BR "
|
||||||
},
|
},
|
||||||
|
"cwd": {
|
||||||
|
"args": {
|
||||||
|
"ellipsis": "..."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
"line_current_symbol": {
|
"line_current_symbol": {
|
||||||
"contents": "LN "
|
"contents": "LN "
|
||||||
},
|
},
|
||||||
|
|
||||||
"powerline.segments.common.cwd": {
|
|
||||||
"args": {
|
|
||||||
"ellipsis": "..."
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"powerline.segments.common.network_load": {
|
"powerline.segments.common.network_load": {
|
||||||
"args": {
|
"args": {
|
||||||
"recv_format": "DL {value:>8}",
|
"recv_format": "DL {value:>8}",
|
||||||
|
@ -14,16 +14,16 @@
|
|||||||
"branch": {
|
"branch": {
|
||||||
"before": " "
|
"before": " "
|
||||||
},
|
},
|
||||||
|
"cwd": {
|
||||||
|
"args": {
|
||||||
|
"ellipsis": "⋯"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
"line_current_symbol": {
|
"line_current_symbol": {
|
||||||
"contents": " "
|
"contents": " "
|
||||||
},
|
},
|
||||||
|
|
||||||
"powerline.segments.common.cwd": {
|
|
||||||
"args": {
|
|
||||||
"ellipsis": "⋯"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"powerline.segments.common.network_load": {
|
"powerline.segments.common.network_load": {
|
||||||
"args": {
|
"args": {
|
||||||
"recv_format": "⬇ {value:>8}",
|
"recv_format": "⬇ {value:>8}",
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
"only_if_ssh": true
|
"only_if_ssh": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"powerline.segments.common.cwd": {
|
"cwd": {
|
||||||
"args": {
|
"args": {
|
||||||
"dir_limit_depth": 3
|
"dir_limit_depth": 3
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
"priority": 50
|
"priority": 50
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"module": "powerline.segments.shell",
|
||||||
"name": "cwd",
|
"name": "cwd",
|
||||||
"priority": 10
|
"priority": 10
|
||||||
},
|
},
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
"priority": 40
|
"priority": 40
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"module": "powerline.segments.shell",
|
||||||
"name": "cwd",
|
"name": "cwd",
|
||||||
"priority": 10
|
"priority": 10
|
||||||
},
|
},
|
||||||
|
@ -14,16 +14,16 @@
|
|||||||
"branch": {
|
"branch": {
|
||||||
"before": "⎇ "
|
"before": "⎇ "
|
||||||
},
|
},
|
||||||
|
"cwd": {
|
||||||
|
"args": {
|
||||||
|
"ellipsis": "⋯"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
"line_current_symbol": {
|
"line_current_symbol": {
|
||||||
"contents": " "
|
"contents": " "
|
||||||
},
|
},
|
||||||
|
|
||||||
"powerline.segments.common.cwd": {
|
|
||||||
"args": {
|
|
||||||
"ellipsis": "⋯"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"powerline.segments.common.network_load": {
|
"powerline.segments.common.network_load": {
|
||||||
"args": {
|
"args": {
|
||||||
"recv_format": "⬇ {value:>8}",
|
"recv_format": "⬇ {value:>8}",
|
||||||
|
@ -14,16 +14,16 @@
|
|||||||
"branch": {
|
"branch": {
|
||||||
"before": "BR "
|
"before": "BR "
|
||||||
},
|
},
|
||||||
|
"cwd": {
|
||||||
|
"args": {
|
||||||
|
"ellipsis": "…"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
"line_current_symbol": {
|
"line_current_symbol": {
|
||||||
"contents": " "
|
"contents": " "
|
||||||
},
|
},
|
||||||
|
|
||||||
"powerline.segments.common.cwd": {
|
|
||||||
"args": {
|
|
||||||
"ellipsis": "…"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"powerline.segments.common.network_load": {
|
"powerline.segments.common.network_load": {
|
||||||
"args": {
|
"args": {
|
||||||
"recv_format": "⇓ {value:>8}",
|
"recv_format": "⇓ {value:>8}",
|
||||||
|
@ -14,17 +14,17 @@
|
|||||||
"branch": {
|
"branch": {
|
||||||
"before": "B "
|
"before": "B "
|
||||||
},
|
},
|
||||||
|
"cwd": {
|
||||||
"line_current_symbol": {
|
|
||||||
"contents": ""
|
|
||||||
},
|
|
||||||
|
|
||||||
"powerline.segments.common.cwd": {
|
|
||||||
"args": {
|
"args": {
|
||||||
"use_path_separator": true,
|
"use_path_separator": true,
|
||||||
"ellipsis": "…"
|
"ellipsis": "…"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"line_current_symbol": {
|
||||||
|
"contents": ""
|
||||||
|
},
|
||||||
|
|
||||||
"powerline.segments.common.network_load": {
|
"powerline.segments.common.network_load": {
|
||||||
"args": {
|
"args": {
|
||||||
"recv_format": "⇓{value:>8}",
|
"recv_format": "⇓{value:>8}",
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
# vim:fileencoding=utf-8:noet
|
# vim:fileencoding=utf-8:noet
|
||||||
|
|
||||||
from powerline.theme import requires_segment_info
|
from powerline.theme import requires_segment_info
|
||||||
|
from powerline.segments import with_docstring
|
||||||
|
from powerline.segments.common import CwdSegment
|
||||||
|
|
||||||
|
|
||||||
@requires_segment_info
|
@requires_segment_info
|
||||||
@ -120,3 +122,42 @@ def continuation(pl, segment_info, omit_cmdsubst=True, right_align=False, rename
|
|||||||
ret[-1].update(width='auto', align='l', highlight_group=['continuation:current', 'continuation'])
|
ret[-1].update(width='auto', align='l', highlight_group=['continuation:current', 'continuation'])
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|
||||||
|
@requires_segment_info
|
||||||
|
class ShellCwdSegment(CwdSegment):
|
||||||
|
def get_shortened_path(self, pl, segment_info, use_shortened_path=True, **kwargs):
|
||||||
|
if use_shortened_path:
|
||||||
|
try:
|
||||||
|
return segment_info['shortened_path']
|
||||||
|
except KeyError:
|
||||||
|
pass
|
||||||
|
return super(ShellCwdSegment, self).get_shortened_path(pl, segment_info, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
cwd = with_docstring(ShellCwdSegment(),
|
||||||
|
'''Return the current working directory.
|
||||||
|
|
||||||
|
Returns a segment list to create a breadcrumb-like effect.
|
||||||
|
|
||||||
|
:param int dir_shorten_len:
|
||||||
|
shorten parent directory names to this length (e.g.
|
||||||
|
:file:`/long/path/to/powerline` → :file:`/l/p/t/powerline`)
|
||||||
|
:param int dir_limit_depth:
|
||||||
|
limit directory depth to this number (e.g.
|
||||||
|
:file:`/long/path/to/powerline` → :file:`⋯/to/powerline`)
|
||||||
|
:param bool use_path_separator:
|
||||||
|
Use path separator in place of soft divider.
|
||||||
|
:param bool use_shortened_path:
|
||||||
|
Use path from shortened_path ``--renderer_arg`` argument. If this argument
|
||||||
|
is present ``shorten_home`` argument is ignored.
|
||||||
|
:param bool shorten_home:
|
||||||
|
Shorten home directory to ``~``.
|
||||||
|
:param str ellipsis:
|
||||||
|
Specifies what to use in place of omitted directories. Use None to not
|
||||||
|
show this subsegment at all.
|
||||||
|
|
||||||
|
Divider highlight group used: ``cwd:divider``.
|
||||||
|
|
||||||
|
Highlight groups used: ``cwd:current_folder`` or ``cwd``. It is recommended to define all highlight groups.
|
||||||
|
''')
|
||||||
|
@ -162,6 +162,122 @@ class TestShell(TestCase):
|
|||||||
},
|
},
|
||||||
])
|
])
|
||||||
|
|
||||||
|
def test_cwd(self):
|
||||||
|
new_os = new_module('os', path=os.path, sep='/')
|
||||||
|
pl = Pl()
|
||||||
|
cwd = [None]
|
||||||
|
|
||||||
|
def getcwd():
|
||||||
|
wd = cwd[0]
|
||||||
|
if isinstance(wd, Exception):
|
||||||
|
raise wd
|
||||||
|
else:
|
||||||
|
return wd
|
||||||
|
|
||||||
|
segment_info = {'getcwd': getcwd, 'home': None}
|
||||||
|
with replace_attr(shell, 'os', new_os):
|
||||||
|
cwd[0] = '/abc/def/ghi/foo/bar'
|
||||||
|
self.assertEqual(common.cwd(pl=pl, segment_info=segment_info), [
|
||||||
|
{'contents': '/', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True},
|
||||||
|
{'contents': 'abc', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True},
|
||||||
|
{'contents': 'def', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True},
|
||||||
|
{'contents': 'ghi', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True},
|
||||||
|
{'contents': 'foo', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True},
|
||||||
|
{'contents': 'bar', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True, 'highlight_group': ['cwd:current_folder', 'cwd']},
|
||||||
|
])
|
||||||
|
segment_info['home'] = '/abc/def/ghi'
|
||||||
|
self.assertEqual(shell.cwd(pl=pl, segment_info=segment_info), [
|
||||||
|
{'contents': '~', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True},
|
||||||
|
{'contents': 'foo', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True},
|
||||||
|
{'contents': 'bar', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True, 'highlight_group': ['cwd:current_folder', 'cwd']},
|
||||||
|
])
|
||||||
|
segment_info.update(shortened_path='~foo/ghi')
|
||||||
|
self.assertEqual(shell.cwd(pl=pl, segment_info=segment_info), [
|
||||||
|
{'contents': '~foo', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True},
|
||||||
|
{'contents': 'ghi', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True, 'highlight_group': ['cwd:current_folder', 'cwd']},
|
||||||
|
])
|
||||||
|
self.assertEqual(shell.cwd(pl=pl, segment_info=segment_info, use_shortened_path=False), [
|
||||||
|
{'contents': '~', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True},
|
||||||
|
{'contents': 'foo', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True},
|
||||||
|
{'contents': 'bar', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True, 'highlight_group': ['cwd:current_folder', 'cwd']},
|
||||||
|
])
|
||||||
|
segment_info.pop('shortened_path')
|
||||||
|
self.assertEqual(shell.cwd(pl=pl, segment_info=segment_info, dir_limit_depth=3), [
|
||||||
|
{'contents': '~', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True},
|
||||||
|
{'contents': 'foo', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True},
|
||||||
|
{'contents': 'bar', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True, 'highlight_group': ['cwd:current_folder', 'cwd']}
|
||||||
|
])
|
||||||
|
self.assertEqual(shell.cwd(pl=pl, segment_info=segment_info, dir_limit_depth=3, shorten_home=False), [
|
||||||
|
{'contents': '⋯', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True},
|
||||||
|
{'contents': 'ghi', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True},
|
||||||
|
{'contents': 'foo', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True},
|
||||||
|
{'contents': 'bar', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True, 'highlight_group': ['cwd:current_folder', 'cwd']}
|
||||||
|
])
|
||||||
|
self.assertEqual(shell.cwd(pl=pl, segment_info=segment_info, dir_limit_depth=1), [
|
||||||
|
{'contents': '⋯', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True},
|
||||||
|
{'contents': 'bar', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True, 'highlight_group': ['cwd:current_folder', 'cwd']}
|
||||||
|
])
|
||||||
|
self.assertEqual(shell.cwd(pl=pl, segment_info=segment_info, dir_limit_depth=1, ellipsis='...'), [
|
||||||
|
{'contents': '...', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True},
|
||||||
|
{'contents': 'bar', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True, 'highlight_group': ['cwd:current_folder', 'cwd']}
|
||||||
|
])
|
||||||
|
self.assertEqual(shell.cwd(pl=pl, segment_info=segment_info, dir_limit_depth=1, ellipsis=None), [
|
||||||
|
{'contents': 'bar', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True, 'highlight_group': ['cwd:current_folder', 'cwd']}
|
||||||
|
])
|
||||||
|
self.assertEqual(shell.cwd(pl=pl, segment_info=segment_info, dir_limit_depth=1, use_path_separator=True), [
|
||||||
|
{'contents': '⋯/', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': False},
|
||||||
|
{'contents': 'bar', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': False, 'highlight_group': ['cwd:current_folder', 'cwd']}
|
||||||
|
])
|
||||||
|
self.assertEqual(shell.cwd(pl=pl, segment_info=segment_info, dir_limit_depth=1, use_path_separator=True, ellipsis='...'), [
|
||||||
|
{'contents': '.../', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': False},
|
||||||
|
{'contents': 'bar', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': False, 'highlight_group': ['cwd:current_folder', 'cwd']}
|
||||||
|
])
|
||||||
|
self.assertEqual(shell.cwd(pl=pl, segment_info=segment_info, dir_limit_depth=1, use_path_separator=True, ellipsis=None), [
|
||||||
|
{'contents': 'bar', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': False, 'highlight_group': ['cwd:current_folder', 'cwd']}
|
||||||
|
])
|
||||||
|
self.assertEqual(shell.cwd(pl=pl, segment_info=segment_info, dir_limit_depth=2, dir_shorten_len=2), [
|
||||||
|
{'contents': '~', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True},
|
||||||
|
{'contents': 'fo', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True},
|
||||||
|
{'contents': 'bar', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True, 'highlight_group': ['cwd:current_folder', 'cwd']}
|
||||||
|
])
|
||||||
|
self.assertEqual(shell.cwd(pl=pl, segment_info=segment_info, dir_limit_depth=2, dir_shorten_len=2, use_path_separator=True), [
|
||||||
|
{'contents': '~/', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': False},
|
||||||
|
{'contents': 'fo/', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': False},
|
||||||
|
{'contents': 'bar', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': False, 'highlight_group': ['cwd:current_folder', 'cwd']}
|
||||||
|
])
|
||||||
|
cwd[0] = '/etc'
|
||||||
|
self.assertEqual(shell.cwd(pl=pl, segment_info=segment_info, use_path_separator=False), [
|
||||||
|
{'contents': '/', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True},
|
||||||
|
{'contents': 'etc', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True, 'highlight_group': ['cwd:current_folder', 'cwd']},
|
||||||
|
])
|
||||||
|
self.assertEqual(shell.cwd(pl=pl, segment_info=segment_info, use_path_separator=True), [
|
||||||
|
{'contents': '/', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': False},
|
||||||
|
{'contents': 'etc', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': False, 'highlight_group': ['cwd:current_folder', 'cwd']},
|
||||||
|
])
|
||||||
|
cwd[0] = '/'
|
||||||
|
self.assertEqual(shell.cwd(pl=pl, segment_info=segment_info, use_path_separator=False), [
|
||||||
|
{'contents': '/', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': True, 'highlight_group': ['cwd:current_folder', 'cwd']},
|
||||||
|
])
|
||||||
|
self.assertEqual(shell.cwd(pl=pl, segment_info=segment_info, use_path_separator=True), [
|
||||||
|
{'contents': '/', 'divider_highlight_group': 'cwd:divider', 'draw_inner_divider': False, 'highlight_group': ['cwd:current_folder', 'cwd']},
|
||||||
|
])
|
||||||
|
ose = OSError()
|
||||||
|
ose.errno = 2
|
||||||
|
cwd[0] = ose
|
||||||
|
self.assertEqual(shell.cwd(pl=pl, segment_info=segment_info, dir_limit_depth=2, dir_shorten_len=2), [
|
||||||
|
{'contents': '[not found]', 'divider_highlight_group': 'cwd:divider', 'highlight_group': ['cwd:current_folder', 'cwd'], 'draw_inner_divider': True}
|
||||||
|
])
|
||||||
|
cwd[0] = OSError()
|
||||||
|
self.assertRaises(OSError, shell.cwd, pl=pl, segment_info=segment_info, dir_limit_depth=2, dir_shorten_len=2)
|
||||||
|
cwd[0] = ValueError()
|
||||||
|
self.assertRaises(ValueError, shell.cwd, pl=pl, segment_info=segment_info, dir_limit_depth=2, dir_shorten_len=2)
|
||||||
|
|
||||||
|
def test_date(self):
|
||||||
|
pl = Pl()
|
||||||
|
with replace_attr(common, 'datetime', Args(now=lambda: Args(strftime=lambda fmt: fmt))):
|
||||||
|
self.assertEqual(common.date(pl=pl), [{'contents': '%Y-%m-%d', 'highlight_group': ['date'], 'divider_highlight_group': None}])
|
||||||
|
self.assertEqual(common.date(pl=pl, format='%H:%M', istime=True), [{'contents': '%H:%M', 'highlight_group': ['time', 'date'], 'divider_highlight_group': 'time:divider'}])
|
||||||
|
|
||||||
|
|
||||||
class TestCommon(TestCase):
|
class TestCommon(TestCase):
|
||||||
def test_hostname(self):
|
def test_hostname(self):
|
||||||
|
@ -39,5 +39,7 @@ do
|
|||||||
break
|
break
|
||||||
done
|
done
|
||||||
1
|
1
|
||||||
|
hash -d foo=$PWD:h ; cd .
|
||||||
|
true
|
||||||
true is the last line
|
true is the last line
|
||||||
exit
|
exit
|
||||||
|
Binary file not shown.
@ -33,3 +33,5 @@ abc
|
|||||||
1) def 2) ghi 3) jkl
|
1) def 2) ghi 3) jkl
|
||||||
[0m[23m[24m[J[0;38;5;252;48;5;240;1m Select variant [0;38;5;240;49;22m [0m1
|
[0m[23m[24m[J[0;38;5;252;48;5;240;1m Select variant [0;38;5;240;49;22m [0m1
|
||||||
def
|
def
|
||||||
|
[0m[23m[24m[J[0;38;5;22;48;5;148;1m INSERT [0;38;5;148;48;5;240;22m [0;38;5;250;48;5;240m⋯ [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240mtests [0;38;5;245;48;5;240;22m [0;38;5;250;48;5;240mshell [0;38;5;245;48;5;240;22m [0;38;5;252;48;5;240;1m3rd [0;38;5;240;49;22m [0mhash -d foo=$PWD:h ; cd .
|
||||||
|
[0m[23m[24m[J[0;38;5;22;48;5;148;1m INSERT [0;38;5;148;48;5;240;22m [0;38;5;250;48;5;240m~foo [0;38;5;245;48;5;240;22m [0;38;5;252;48;5;240;1m3rd [0;38;5;240;49;22m [0mtrue
|
||||||
|
Loading…
x
Reference in New Issue
Block a user