'Generate a Trailets Config instance for shell widgets using our
config system
This lets us create each widget with its own config'

def config_options(self):

    try:
        full_cfg = load_pyconfig_files(['jupyter_qtconsole_config.py'], jupyter_config_dir())
        cfg = Config({'JupyterWidget': full_cfg.JupyterWidget})
    except:
        cfg = Config()
    spy_cfg = Config()
    spy_cfg.JupyterWidget.kind = 'rich'
    completion_type_o = self.get_option('completion_type')
    completions = {0: 'droplist', 1: 'ncurses', 2: 'plain'}
    spy_cfg.JupyterWidget.gui_completion = completions[completion_type_o]
    pager_o = self.get_option('use_pager')
    if pager_o:
        spy_cfg.JupyterWidget.paging = 'inside'
    else:
        spy_cfg.JupyterWidget.paging = 'none'
    calltips_o = self.get_option('show_calltips')
    spy_cfg.JupyterWidget.enable_calltips = calltips_o
    buffer_size_o = self.get_option('buffer_size')
    spy_cfg.JupyterWidget.buffer_size = buffer_size_o
    in_prompt_o = self.get_option('in_prompt')
    out_prompt_o = self.get_option('out_prompt')
    if in_prompt_o:
        spy_cfg.JupyterWidget.in_prompt = in_prompt_o
    if out_prompt_o:
        spy_cfg.JupyterWidget.out_prompt = out_prompt_o
    color_scheme = CONF.get('color_schemes', 'selected')
    style_sheet = create_qss_style(color_scheme)[0]
    spy_cfg.JupyterWidget.style_sheet = style_sheet
    spy_cfg.JupyterWidget.syntax_style = color_scheme
    if CONF.get('main', 'single_instance'):
        spy_cfg.JupyterWidget.editor = self.set_editor()
    cfg._merge(spy_cfg)
    return cfg
