Merge pull request #282 from b-ryan/fix-cmd-escape

Escape subshell commands
This commit is contained in:
Buck Ryan 2017-09-30 11:03:29 -04:00 committed by GitHub
commit bffc8af057

View file

@ -7,6 +7,7 @@ import sys
import importlib
import json
from .utils import warn, py3
import re
def get_valid_cwd():
@ -113,12 +114,16 @@ class Powerline(object):
def draw_segment(self, idx):
segment = self.segments[idx]
if self.args.shell == "bash":
sanitized = re.sub(r"([`$])", r"\\\1", segment[0])
else:
sanitized = segment[0]
next_segment = self.segments[idx + 1] if idx < len(self.segments)-1 else None
return ''.join((
self.fgcolor(segment[1]),
self.bgcolor(segment[2]),
segment[0],
sanitized,
self.bgcolor(next_segment[2]) if next_segment else self.reset,
self.fgcolor(segment[4]),
segment[3]))