mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-03-13 03:12:21 +01:00
Fix to make the script works with any language
Hi, The script fail when the language of the system is not set at "en_US.UTF-8" . I have made change to force the lang to en_US.UTF-8 when this script run. I also notice the behead_re and diverge_re regexp are wrong. (extra # and space at the begining) Now the gitstatus.py return the correct informations.
This commit is contained in:
parent
175b4a8073
commit
d5ed39a148
1 changed files with 11 additions and 6 deletions
|
|
@ -2,6 +2,7 @@
|
||||||
# -*- coding: UTF-8 -*-
|
# -*- coding: UTF-8 -*-
|
||||||
from subprocess import Popen, PIPE
|
from subprocess import Popen, PIPE
|
||||||
import re
|
import re
|
||||||
|
import os
|
||||||
|
|
||||||
# change those symbols to whatever you prefer
|
# change those symbols to whatever you prefer
|
||||||
symbols = {
|
symbols = {
|
||||||
|
|
@ -15,8 +16,13 @@ symbols = {
|
||||||
'sha1': ':'
|
'sha1': ':'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def get_env_en():
|
||||||
|
new_env = dict(os.environ)
|
||||||
|
new_env['LANG'] = 'en_US.UTF-8'
|
||||||
|
return new_env
|
||||||
|
|
||||||
output, error = Popen(
|
output, error = Popen(
|
||||||
['git', 'status'], stdout=PIPE, stderr=PIPE, universal_newlines=True).communicate()
|
['git', 'status'], stdout=PIPE, stderr=PIPE, universal_newlines=True, env=get_env_en()).communicate()
|
||||||
|
|
||||||
if error:
|
if error:
|
||||||
import sys
|
import sys
|
||||||
|
|
@ -24,8 +30,8 @@ if error:
|
||||||
lines = output.splitlines()
|
lines = output.splitlines()
|
||||||
|
|
||||||
behead_re = re.compile(
|
behead_re = re.compile(
|
||||||
r"^# Your branch is (ahead of|behind) '(.*)' by (\d+) commit")
|
r"^Your branch is (ahead of|behind) '(.*)' by (\d+) commit")
|
||||||
diverge_re = re.compile(r"^# and have (\d+) and (\d+) different")
|
diverge_re = re.compile(r"^ and have (\d+) and (\d+) different")
|
||||||
|
|
||||||
status = ''
|
status = ''
|
||||||
staged = re.compile(r'^# Changes to be committed:$', re.MULTILINE)
|
staged = re.compile(r'^# Changes to be committed:$', re.MULTILINE)
|
||||||
|
|
@ -33,9 +39,8 @@ changed = re.compile(r'^# Changed but not updated:$', re.MULTILINE)
|
||||||
untracked = re.compile(r'^# Untracked files:$', re.MULTILINE)
|
untracked = re.compile(r'^# Untracked files:$', re.MULTILINE)
|
||||||
unmerged = re.compile(r'^# Unmerged paths:$', re.MULTILINE)
|
unmerged = re.compile(r'^# Unmerged paths:$', re.MULTILINE)
|
||||||
|
|
||||||
|
|
||||||
def execute(*command):
|
def execute(*command):
|
||||||
out, err = Popen(stdout=PIPE, stderr=PIPE, *command).communicate()
|
out, err = Popen(stdout=PIPE,env=get_env_en(), stderr=PIPE, *command).communicate()
|
||||||
if not err:
|
if not err:
|
||||||
nb = len(out.splitlines())
|
nb = len(out.splitlines())
|
||||||
else:
|
else:
|
||||||
|
|
@ -65,7 +70,7 @@ if bline.find('Not currently on any branch') != -1:
|
||||||
'git',
|
'git',
|
||||||
'rev-parse',
|
'rev-parse',
|
||||||
'--short',
|
'--short',
|
||||||
'HEAD'], stdout=PIPE).communicate()[0][:-1]
|
'HEAD'], stdout=PIPE, env=get_env_en()).communicate()[0][:-1]
|
||||||
else:
|
else:
|
||||||
branch = bline.split(' ')[-1]
|
branch = bline.split(' ')[-1]
|
||||||
bstatusline = lines[1]
|
bstatusline = lines[1]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue