X-Git-Url: https://git.distorted.org.uk/~mdw/profile/blobdiff_plain/9d90b2d18f05e0b017f86ea421cc04f2924de5c1..b617a6a0d5df3b7dbb86a72c6cb0b875ac396810:/dot/ipython-config.py diff --git a/dot/ipython-config.py b/dot/ipython-config.py index d07657e..ac08c66 100644 --- a/dot/ipython-config.py +++ b/dot/ipython-config.py @@ -1,7 +1,13 @@ ### -*-python -*- +try: import pygments as PYG +except: PYG = None +try: import prompt_toolkit as PTK +except: PTK = None + c = get_config() +## Simple stuff. c.InteractiveShell.autocall = 0 c.InteractiveShell.autoindent = True c.InteractiveShell.automagic = False @@ -9,7 +15,45 @@ c.InteractiveShell.automagic = False c.InteractiveShell.color_info = True c.InteractiveShell.colors = 'Linux' -c.Completer.greedy = True - c.TerminalIPythonApp.display_banner = False c.TerminalInteractiveShell.confirm_exit = False +c.TerminalInteractiveShell.display_completions = 'readlinelike' + +## Syntax colouring. +if PYG and getattr(PYG, 'token', None): + T = PYG.token + c.TerminalInteractiveShell.highlighting_style = 'emacs' + c.TerminalInteractiveShell.highlighting_style_overrides = { + T.Keyword: 'bold #fff', + T.Comment: 'italic #54ff9f', + T.Literal.Number: '#ffff00', + T.Literal.String: '#87ceff', + T.Literal.String.Escape: '#87ceff', + T.Literal.String.Interpol: '#87ceff', + T.Name: '#fff', + T.Name.Builtin: '#fff', + T.Name.Class: '#fff', + T.Name.Constant: 'italic #fff', + T.Name.Decorator: '#fff', + T.Name.Exception: '#fff', + T.Name.Function: '#fff', + T.Name.Function.Magic: '#fff', + T.Name.Label: '#fff', + T.Name.Namespace: '#fff', + T.Name.Variable: '#fff', + T.Name.Variable.Class: '#fff', + T.Name.Variable.Global: '#fff', + T.Name.Variable.Instance: '#fff', + T.Name.Variable.Magic: '#fff', + T.Operator: '#eec591', + T.Operator.Word: 'bold #fff', + T.Punctuation: '#eec591', + } + +if PYG and PTK: + d = { + PTK.token.Token.MatchingBracket: '', + PTK.token.Token.MatchingBracket.Cursor: '', + PTK.token.Token.MatchingBracket.Other: 'bg:#006400' + } + c.TerminalInteractiveShell.highlighting_style_overrides.update(d)