cheat-fork-echo/cheat/utils.py

52 lines
1.3 KiB
Python

from __future__ import print_function
import os
import sys
def colorize(sheet_content):
""" Colorizes cheatsheet content if so configured """
# only colorize if so configured
if not 'CHEATCOLORS' in os.environ:
return sheet_content
try:
from pygments import highlight
from pygments.lexers import BashLexer
from pygments.formatters import TerminalFormatter
# if pygments can't load, just return the uncolorized text
except ImportError:
return sheet_content
return highlight(sheet_content, BashLexer(), TerminalFormatter())
def die(message):
""" Prints a message to stderr and then terminates """
warn(message)
exit(1)
def editor():
""" Determines the user's preferred editor """
if 'EDITOR' not in os.environ:
die(
'In order to create/edit a cheatsheet you must set your EDITOR '
'environment variable to your editor\'s path.'
)
elif os.environ['EDITOR'] == "":
die(
'Your EDITOR environment variable is set to an empty string. It must '
'be set to your editor\'s path.'
)
else:
return os.environ['EDITOR']
def warn(message):
""" Prints a message to stderr """
print((message), file=sys.stderr)