httpie-cli/httpie/pretty.py

31 lines
789 B
Python
Raw Normal View History

import os
2012-02-25 13:39:38 +01:00
import json
2012-04-26 14:48:38 +02:00
2012-02-25 13:39:38 +01:00
import pygments
2012-04-26 14:48:38 +02:00
from pygments import token
from pygments.util import ClassNotFound
2012-04-26 14:48:38 +02:00
from pygments.styles import get_style_by_name, STYLE_MAP
2012-04-26 13:05:59 +02:00
from pygments.lexers import get_lexer_for_mimetype, HttpLexer
from pygments.formatters.terminal import TerminalFormatter
2012-04-26 14:48:38 +02:00
from pygments.formatters.terminal256 import Terminal256Formatter
from . import solarized
2012-02-25 13:39:38 +01:00
DEFAULT_STYLE = 'solarized'
2012-03-15 00:11:49 +01:00
AVAILABLE_STYLES = [DEFAULT_STYLE] + list(STYLE_MAP.keys())
FORMATTER = (Terminal256Formatter
if '256color' in os.environ.get('TERM', '')
else TerminalFormatter)
2012-02-25 13:39:38 +01:00
2012-04-26 13:05:59 +02:00
2012-04-26 14:48:38 +02:00
def formatter(style_name):
if style_name == 'solarized':
style = solarized.SolarizedStyle
2012-04-26 13:05:59 +02:00
2012-04-26 14:48:38 +02:00
else:
style = get_style_by_name(style_name)
2012-04-26 13:05:59 +02:00
2012-04-26 14:48:38 +02:00
return FORMATTER(style=style)