
    G@d)                     d    d Z ddlmZ ddlmZ ddlmZmZmZm	Z	m
Z
mZmZ ddlmZ d Zd Zd Zd	S )
z
Style for IPython Console
    )get_color_schemeStyle)NameKeywordCommentStringNumberPunctuationOperator)
dark_colorc                     d }d }t          |           } | d         \  }}}|}t          |          rd}d}nd}d}| d         }	d}
d	}d	}|}|	}d
}|                    ||	|
||||||||          }|t          |          fS )a  Returns a QSS stylesheet with Spyder color scheme settings.

    The stylesheet can contain classes for:
        Qt: QPlainTextEdit, QFrame, QWidget, etc
       Pygments: .c, .k, .o, etc. (see PygmentsHighlighter)
        IPython: .error, .in-prompt, .out-prompt, etc
    c                     | rdS dS )Nboldnormal is_bolds    Ilib/python3.11/site-packages/spyder/plugins/ipythonconsole/utils/style.pygive_font_weightz*create_qss_style.<locals>.give_font_weight   s     	68    c                     | rdS dS )Nitalicr   r   	is_italics    r   give_font_stylez)create_qss_style.<locals>.give_font_style%   s     	88r   r   navydarkredlimered
backgroundr   a  QPlainTextEdit, QTextEdit, ControlWidget {{
                                          color: {} ;
                                          background-color: {};
                                         }}
              .error {{ color: {}; }}
              .in-prompt {{ color: {}; }}
              .in-prompt-number {{ color: {}; font-weight: {}; }}
              .out-prompt {{ color: {}; }}
              .out-prompt-number {{ color: {}; font-weight: {}; }}
              .inverted {{ color: {}; background-color: {}; }}
              )r   r   format)color_schemer   r   fon_cfon_fwfon_fs
font_colorin_prompt_colorout_prompt_colorbackground_colorerror_colorin_prompt_number_font_weightout_prompt_number_font_weightinverted_background_colorinverted_font_colorsheetsheet_formatteds                    r   create_qss_styler2      s         $L11L(2E66J* ! $  #L1K#) $*! **
E ll:/?#.#2O#?#35E#@#6#<> >O Z
3344r   c                    d }d }t          |           }|d         \  }}}|} ||          } ||          }	|d         \  }
}}|
} ||          } ||          }|d         \  }}}|} ||          } ||          }|d         \  }}}|} ||          } ||          }|d         \  }}}|} ||          }  ||          }!|d         \  }"}#}$|"}% ||#          }& ||$          }'|d	         \  }(})}*|(}+ ||)          }, ||*          }-|d
         \  }.}/}0|.}1 ||/          }2 ||0          }3|	dz   |z   dz   |z   }4|-dz   |,z   dz   |+z   }5|dz   |z   dz   |z   }6|3dz   |2z   dz   |1z   }7|dz   |z   dz   |z   }8|'dz   |&z   dz   |%z   }9|dz   |z   dz   |z   }:|!dz   | z   dz   |z   };t          |4                                t          j        |5                                t          j        |5                                t          j        |6                                t          j        j        |7                                t          |8                                t          j        |6                                t          |9                                t          |:                                t          |;                                t          |4                                t          j        |8                                i}<|<S )zX
    Create a dictionary that saves the given color scheme as a
    Pygments style.
    c                     | rdS dS )Nr    r   r   s    r   r   z.create_pygments_dict.<locals>.give_font_weightY   s     	62r   c                     | rdS dS )Nr   r5   r   r   s    r   r   z-create_pygments_dict.<locals>.give_font_style_   s     	82r   r   keywordbuiltinstringnumbercomment
definitioninstance )r   r   stripClassFunctionBuiltinPseudor   Typer   r	   r
   r   r   Word)=color_scheme_namer   r   r#   r$   r%   r&   r'   font_font_weightfont_font_stylekey_ckey_fwkey_fskeyword_colorkeyword_font_weightkeyword_font_stylebui_cbui_fwbui_fsbuiltin_colorbuiltin_font_weightbuiltin_font_stylestr_cstr_fwstr_fsstring_colorstring_font_weightstring_font_stylenum_cnum_fwnum_fsnumber_colornumber_font_weightnumber_font_stylecom_ccom_fwcom_fscomment_colorcomment_font_weightcomment_font_styledef_cdef_fwdef_fsdefinition_colordefinition_font_weightdefinition_font_styleins_cins_fwins_fsinstance_colorinstance_font_weightinstance_font_style
font_tokendefinition_tokenbuiltin_tokeninstance_tokenkeyword_tokencomment_tokenstring_tokennumber_tokensyntax_style_dics=                                                                r   create_pygments_dictr|   S   s        $$566L(2E66J''//%of--O(3E66M**622(00(3E66M**622(00(2E66L))&11'//(2E66L))&11'//(3E66M**622(00(6E66--f55+OF33(4E66N++F33)/&11 3&)99C?*LJ-36LL./'#-0CCcI"#M)C/2FFL$%N'#-0CCcI"#M'#-0CCcI"#M%+.@@3F !L%+.@@3F !L j..00
$4$:$:$<$<'7'='='?'?m&9&9&;&;+^-A-A-C-C!4!4!6!6m&9&9&;&;!4!4!6!6 2 2 4 4 2 2 4 4#Z%5%5%7%7 }':':'<'<> r   c                 2      G  fddt                     }|S )z:Create a Pygments Style class with the given color scheme.c                   *    e Zd ZdZ e           ZdS )&create_style_class.<locals>.StyleClassr5   N)__name__
__module____qualname__default_styler|   styles)rF   s   r   
StyleClassr      s%        %%&788r   r   r   )rF   r   s   ` r   create_style_classr      s?    9 9 9 9 9 9 9U 9 9 9 r   N)__doc__spyder.config.guir   pygments.styler   pygments.tokenr   r   r   r	   r
   r   r   qtconsole.stylesr   r2   r|   r   r   r   r   <module>r      s    
 / . . . . . !          3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ( ' ' ' ' ':5 :5 :5zR R Rj    r   