# # coding=utf-8 """Constants and definitions""" import re from colorama import Fore, Back # Used for command parsing, output redirection, tab completion and word # breaks. Do not change. QUOTES = ['"', "'"] REDIRECTION_PIPE = '|' REDIRECTION_OUTPUT = '>' REDIRECTION_APPEND = '>>' REDIRECTION_CHARS = [REDIRECTION_PIPE, REDIRECTION_OUTPUT] REDIRECTION_TOKENS = [REDIRECTION_PIPE, REDIRECTION_OUTPUT, REDIRECTION_APPEND] COMMENT_CHAR = '#' MULTILINE_TERMINATOR = ';' # Regular expression to match ANSI escape codes ANSI_ESCAPE_RE = re.compile(r'\x1b[^m]*m') LINE_FEED = '\n' # Values for colors setting COLORS_NEVER = 'Never' COLORS_TERMINAL = 'Terminal' COLORS_ALWAYS = 'Always' # Foreground color presets. FG_COLORS = { 'black': Fore.BLACK, 'red': Fore.RED, 'green': Fore.GREEN, 'yellow': Fore.YELLOW, 'blue': Fore.BLUE, 'magenta': Fore.MAGENTA, 'cyan': Fore.CYAN, 'white': Fore.WHITE, 'gray': Fore.LIGHTBLACK_EX, 'lightred': Fore.LIGHTRED_EX, 'lightblue': Fore.LIGHTBLUE_EX, 'lightgreen': Fore.LIGHTGREEN_EX, 'lightyellow': Fore.LIGHTYELLOW_EX, 'lightmagenta': Fore.LIGHTMAGENTA_EX, 'lightcyan': Fore.LIGHTCYAN_EX, 'lightwhite': Fore.LIGHTWHITE_EX, 'reset': Fore.RESET, } # Background color presets. BG_COLORS = { 'black': Back.BLACK, 'red': Back.RED, 'green': Back.GREEN, 'yellow': Back.YELLOW, 'blue': Back.BLUE, 'magenta': Back.MAGENTA, 'cyan': Back.CYAN, 'white': Back.WHITE, 'gray': Back.LIGHTBLACK_EX, 'lightred': Back.LIGHTRED_EX, 'lightblue': Back.LIGHTBLUE_EX, 'lightgreen': Back.LIGHTGREEN_EX, 'lightyellow': Back.LIGHTYELLOW_EX, 'lightmagenta': Back.LIGHTMAGENTA_EX, 'lightcyan': Back.LIGHTCYAN_EX, 'lightwhite': Back.LIGHTWHITE_EX, 'reset': Back.RESET, } DEFAULT_SHORTCUTS = {'?': 'help', '!': 'shell', '@': 'run_script', '@@': '_relative_run_script'}