dotfiles/config/powerline-shell/segments/ruby_version.py

23 lines
678 B
Python
Raw Normal View History

2021-04-20 11:12:35 +00:00
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