23 lines
678 B
Python
23 lines
678 B
Python
|
import os
|
||
|
import subprocess
|
||
|
from ..utils import BasicSegment
|
||
|
|
||
|
|
||
|
class Segment(BasicSegment):
|
||
|
def add_to_powerline(self):
|
||
|
powerline = self.powerline
|
||
|
|
||
|
try:
|
||
|
p1 = subprocess.Popen(['ruby', '-v'], stdout=subprocess.PIPE)
|
||
|
p2 = subprocess.Popen(['sed', "s/ (.*//"], stdin=p1.stdout, stdout=subprocess.PIPE)
|
||
|
ruby_and_gemset = p2.communicate()[0].decode('utf-8').rstrip()
|
||
|
|
||
|
gem_set = os.environ.get('GEM_HOME', '@').split('@')
|
||
|
|
||
|
if len(gem_set) > 1:
|
||
|
ruby_and_gemset += "@{}".format(gem_set.pop())
|
||
|
|
||
|
powerline.append(ruby_and_gemset, 15, 1)
|
||
|
except OSError:
|
||
|
return
|