Ipython: рдкрд╣рд▓реЗ рдЖрдпрд╛рдд рдХреЗ рдмрд╛рдж рдЕрдЬреАрдм рдЪрд░рд┐рддреНрд░

рдХреЛ рдирд┐рд░реНрдорд┐рдд 27 рд╕рд┐рддре░ 2018  ┬╖  33рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ipython/ipython

рдореИрдВ рдЕрдЬрдЧрд░ 7.0.1 рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВред рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдЖрдпрд╛рдд рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рд▓рдЧрд╛рддрд╛рд░ рдПрдХ рдЕрдЬреАрдм рдкреНрд░рддреАрдХ рдорд┐рд▓рддрд╛ рд╣реИ (рд╕рдВрд▓рдЧреНрди рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджреЗрдЦреЗрдВ)ред рдЬрдм рдореИрдВ рдлрд┐рд░ рд╕реЗ рдПрдВрдЯрд░ рджрдмрд╛рддрд╛ рд╣реВрдВ рддреЛ рдкреНрд░рддреАрдХ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╕реЗ рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдореИрдВ рдореИрдХ рдкрд░ iterm2 рдЯрд░реНрдорд┐рдирд▓ рдкрд░ рдлрд┐рд╢ рд╢реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

screenshot 2018-09-27 at 13 51 00

[рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ]

рдкреНрд░реЛрдореНрдкреНрдЯ_рдЯреВрд▓рдХрд┐рдЯ рдХреЛ 2.0.6 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ рдЬрд┐рд╕рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдареАрдХ рд╣реЛ рдЬрд╛рдПред

рд╕рднреА 33 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╣рдо рдореИрдВрдиреЗ рдЗрд╕реЗ рджреЗрдЦрд╛ рд╣реИ рд▓реЗрдХрд┐рди ^[[43;1R , рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореЗрд░реЗ рдЯрд░реНрдорд┐рдирд▓ рдПрдореБрд▓реЗрдЯрд░ рдХреЗ рдорд╛рд╕реНрдЯрд░ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдерд╛ред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдБ рд╕реЗ рдЖрддрд╛ рд╣реИ

рдореИрдВрдиреЗ рдирд╡реАрдирддрдо https://github.com/jonathanslenders/pymux рдореЗрдВ рдЗрд╕реА рддрд░рд╣ рдХреА рдЪреАрдЬреЗрдВ рджреЗрдЦреА рд╣реИрдВ (рдЬрд╛рд░реА рдирд╣реАрдВ рдХреА рдЧрдИ, рдкреНрд░реЙрдореНрдкреНрдЯ-рдЯреВрд▓рдХрд┐рдЯ 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ)ред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ @jonathanslenders рдХреЗ рдкрд╛рд╕ рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ рд╣реЛ?

рдореБрдЭреЗ рд╡рд╣реА рдорд┐рд▓рддрд╛ рд╣реИ:

$ ipython
Python 3.6.5 (default, Mar 30 2018, 06:41:53) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.0.1 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import os                                                                                             

^[[19;1RIn [2]:

рдЕрдЧрд░ рдореИрдВ рдкреВрд░реНрдг рдЯреИрдм рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ:

In [2]: os.p                                                                                                  
os.pardir         os.pathconf       os.pathsep        os.popen          os.putenv         
os.path           os.pathconf_names os.pipe           os.pread          os.pwrite         
^[[19;1RIn [2]: os.p

рдпрд╣ рдЯреИрдм рдкреВрд░реНрдгрддрд╛ рдХреЛ рд▓рдЧрднрдЧ рдЕрдиреБрдкрдпреЛрдЧреА рдмрдирд╛ рджреЗрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: https://github.com/jonathanslenders/python-prompt-toolkit/commit/e226d640177aa1d2cf293e4de382f171586173a2 ?
рдпрд╣ рдкреНрд░реЙрдореНрдкреНрдЯ_рдЯреВрд▓рдХрд┐рдЯ рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рд╡рд┐рд▓рдп рд╣реЛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рдирдпрд╛ рдкреНрд░реЙрдореНрдкреНрдЯ_рдЯреВрд▓рдХрд┐рдЯ 2.0 рдЬрд╛рд░реА рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд╢рд╛рдорд┐рд▓ рд╣реИред

рдореИрдВрдиреЗ рдорд╛рд╕реНрдЯрд░ рд╕реЗ prompt-toolkit рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ ipython рдкрдХреНрд╖ рдкрд░ рдХреБрдЫ рдФрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдирд╣реАрдВ, рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ IPython рдирд╣реАрдВ рд╣реИред рдореИрдВ iterm2 рдХреЗ рд╕рд╛рде рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛

рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣рд╛рдВ рдХреА рдЬрдЯрд┐рд▓рддрд╛рдУрдВ рдХреЛ рдирд╣реАрдВ рд╕рдордЭ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЖрдИрдкреАрдерди 7.0 рдФрд░ 7.1 рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИ, рдФрд░ 6.0 рдпрд╛ 6.5 рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЙрд╕реА рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдореЗрдВ рдкрд░реАрдХреНрд╖рдгред

рдХреНрдпрд╛ рдЖрдк рд╕рднреА рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рдХрд┐рд╕ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рджреЗрдЦрд╛ рд╣реИ?
рдореИрдВ iTerm2 тАУ 3.2.1beta6 тАУ osx; alacritty v0.2.0-35-ga53cabf osx, рд▓реЗрдХрд┐рди рдирдВрдЧреЗ macos Terminal.app рдкрд░ рдирд╣реАрдВ (рд╕рд┐рдПрд░рд╛ 10.12.6)

рдХреНрдпрд╛ рдпрд╣ рдЯрд░реНрдорд┐рдирд▓ рдХреА рд╡рд┐рдЬреНрдЮрд╛рдкрд┐рдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдФрд░ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреЗ рдмреАрдЪ рдмреЗрдореЗрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?

рдпрд╣ ipython --colors=nocolor рд╕рд╛рде рдкреБрдирд░реБрддреНрдкрд╛рджрд┐рдд (рдореЗрд░реЗ рд▓рд┐рдП) рднреА рдирд╣реАрдВ рд╣реИ

рд╣рд╛рдИ рд╕рд┐рдПрд░рд╛ 10.13.6 рдкрд░ рдмрд╕ рдирдВрдЧреЗ Terminal.appред nocolor рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕реЗ рдареАрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ ipython --colors=nocolor рд╕рд╛рде рдкреБрдирд░реБрддреНрдкрд╛рджрд┐рдд (рдореЗрд░реЗ рд▓рд┐рдП) рднреА рдирд╣реАрдВ рд╣реИ

рд╕реНрдХреНрд░реИрдЪ рдХрд░реЗрдВ рдХрд┐, рдпрд╣ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдиреЛрдХрд▓рд░ рдиреЗ рдЗрд╕реЗ рдареАрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдХреНрдпрд╛ рдЖрдк рд▓реЛрдЧ рдЗрд╕ patch_stdout рд╕рдВрджрд░реНрдн рдкреНрд░рдмрдВрдзрдХ рдХреЛ рд╣рдЯрд╛рдХрд░ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдЕрдЧрд░ рдореИрдВ рдЗрд╕реЗ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдареАрдХ рд╣реИ, рдФрд░ рдЕрдЧрд░ рдореИрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдлреНрд▓рд╢ рд╕реНрдЯрдбрдЖрдЙрдЯ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рджреЛ рдмрд╛рд░ рдорд┐рд▓рддреА рд╣реИ ..

рд╕рдВрджрд░реНрдн рдкреНрд░рдмрдВрдзрдХ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдареАрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рдореЗрд░реЗ рд╕рд╛рде macOS Terminal.app рдФрд░ iTerm2 рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЪрд░рд┐рддреНрд░ iTerm2 3.2.1beta рдореЗрдВ рдХрд╛рдлреА рд▓рдЧрд╛рддрд╛рд░ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред рдЖрдЬ рд╕реБрдмрд╣ рдореИрдВрдиреЗ 3.2.2beta1 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдФрд░ рдЕрдм рдЪрд░рд┐рддреНрд░ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рддреБрд░рдВрдд рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп iPython рдкреНрд░реЙрдореНрдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдПрдХ рдорд╛рдорд▓реЗ рдореЗрдВ рдЪрд░рд┐рддреНрд░ рд╕реНрдерд┐рд░ рд░рд╣рд╛ рд╣реИ, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЕрдВрддрд░ рдерд╛ред

рд╣рд╛рдБ, рдЗрд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рднреА рдареАрдХ рдХрд░рддрд╛ рд╣реИред рдкреНрд░рднрд╛рд╡ рдореЗрд░реЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рд╕реБрд╕рдВрдЧрдд рдерд╛ред

@jonathanslenders рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреИрдЪ рд╕реНрдЯрдбрдЖрдЙрдЯ рдХреА рджреМрдбрд╝ рдХреА рд╕реНрдерд┐рддрд┐ рдереА рдФрд░ рдЙрд╕ рд╕реНрдЯрдбрдЖрдЙрдЯ/рдЧрд▓рддреА рдХреЛ рдмрд╣рд╛рд▓ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдлреНрд▓рд╢ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рд╢реБрд░реВ рд╣реЛ рдЧрдпрд╛ рдерд╛?

рдкреИрдЪ_рд╕реНрдЯрдбрдЖрдЙрдЯ рдХрд╛ raw рдкреИрд░рд╛рдореАрдЯрд░ рдкреАрдЯреАрдХреЗ рдХреЛрдб рдореЗрдВ рднреА рдХрд╣реАрдВ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИред

рддреЛ рдРрд╕рд╛ рд╣реЛрдиреЗ рдХрд╛ рдХрд╛рд░рдг рд╣реИ, рдпрд╛ рдЕрдиреНрдпрдерд╛ рдкреГрд╖реНрдарднреВрдорд┐ рдзрд╛рдЧреЗ рдореЗрдВ рдкреНрд░рд┐рдВрдЯрд┐рдВрдЧ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЛ рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рджреЗрдЧреА, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ (рдореЗрд░реЗ рд▓рд┐рдП), рдпрд╣ рдХреИрдкреНрдЪрд░ рдХрд┐рдП рдЧрдП stderr/out рдХреЛ рдлреНрд▓рд╢ рдХрд░рдиреЗ рдФрд░ рдЙрдирдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рдХреЛ рдмрд╣рд╛рд▓ рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рдПрдХ рджреМрдбрд╝ рдХреА рд╕реНрдерд┐рддрд┐ рд╣реИред

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдмрдЧ рдХреЛ рд╕реНрдерд╛рдиреАрдпрдХреГрдд рдХрд┐рдпрд╛ рд╣реИ рдпрд╛ рдЕрднреА рднреА рдкреНрд░рдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЖрдкрдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП:

  • рдореИрдХреЛрдЬрд╝ 10.13.6
  • iTerm 3.2.1 - рдкрд╣рд▓реЗ рдЗрдирдкреБрдЯ рдХреЗ рдмрд╛рдж рд╣рдореЗрд╢рд╛ ^[[41;1R рджрд┐рдЦрд╛рддрд╛ рд╣реИ (рдЖрдпрд╛рдд, рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд░рд┐рдХреНрдд рд░реЗрдЦрд╛)
  • Terminal.app 2.8.2 (404) - рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!
Python 3.7.0 (default, Sep 18 2018, 18:47:22)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.0.1 -- An enhanced Interactive Python. Type '?' for help.

In [1]:

^[[41;1RIn [1]:

рдореБрдЭреЗ рдпрд╣ рднреА рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ (macOS 10.11.6, iTerm 3.2.0beta5) рдмрд╣реБрдд рдмрд╛рд░, рд╣рд╛рд▓рд╛рдВрдХрд┐ 100% рд╕рдордп рдирд╣реАрдВ, рдФрд░ 43;1R рдЕрдиреБрдХреНрд░рдо рдХреЗ рд╕рд╛рдеред

Python 3.7.0 (default, Jun 29 2018, 20:13:53)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.0.1 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import sqlalchemy

^[[43;1RIn [2]:

рд╣рд╛рдБ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рдорд╛рд░ рд░рд╣рд╛ рд╣реИред рдореИрдВ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдЬреБрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рдЯреВрдЯ рдЬрд╛рддреА рд╣реИред рдореЗрд░реЗ рд▓рд┐рдП, рдЯреИрдм рдкреВрд░реНрдгрддрд╛ рдХрдореЛрдмреЗрд╢ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЯреВрдЯреА рд╣реБрдИ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рд╡рд░реНрдг рдмрд╣реБрдд рдмрд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред

рдЕрдлрд╕реЛрд╕ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдЗрд╕ рд╕рдордп рд░реАрдбрд▓рд╛рдЗрди рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ: https://github.com/ipython/rlipython/issues/21

prompt_toolkit (рд╕рдВрд╕реНрдХрд░рдг 2.0.5) рдХреЗ рд╡рд░реНрддрдорд╛рди рдорд╛рд╕реНрдЯрд░ рдХреЛ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВред

рдореИрдВ рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

iTerm2 рдмрд┐рд▓реНрдб 3.2.3 (рдореБрдЭреЗ рдирд╡реАрдирддрдо рд▓рдЧрддрд╛ рд╣реИ), IPython 7.0.1, Python 3.6.1ред

рдореЗрд░реЗ рдкрд╛рд╕ рдЙрдмрдВрдЯреВ рдкрд░ рдкрд╛рдпрдерди 3.6.3 рдХреЗ рд╕рд╛рде рдмрдЧ рдерд╛, рдФрд░ рдпрд╣ рдкрд╛рдпрдерди 3.7 рдХреЗ рд╕рд╛рде рдЧрд╛рдпрдм рд╣реЛ рдЧрдпрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝рд┐рдпрд╛рдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ (рдЬреИрд╕реЗ рд╡рд░реНрдг рдореБрджреНрд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЬрд▓реНрджреА рд╕реЗ рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ)ред

рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣рд╛рдВ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ: https://github.com/jonathanslenders/python-prompt-toolkit/commit/09de545476be985b95ae2690ef8393efdd65b7e5

рдЕрд╕рд▓ рдореЗрдВ рдЖрдк рдЗрд╕ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдореЗрдВ рдЬреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рд╡рд╣ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реБрдзрд╛рд░ рд╣реИрдВ рдЬреЛ рджреЛрдиреЛрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░реЗрдВрдЧреЗ (рдЬреЛ рдореИрдВ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ)ред

  • рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдкрд╣рд▓реЗ рдЗрдирдкреБрдЯ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ, рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ stdout рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдиреЗ рдкреИрдЪ_рд╕реНрдЯрдбрдЖрдЙрдЯ рдХреЛрдб рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ред рджрд░рдЕрд╕рд▓, рдХреЗрд╡рд▓ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЛ рдорд┐рдЯрд╛рдиреЗ рдФрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреАрдВрдЪрдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереАред (рдореБрдЭреЗ рдЕрднреА рднреА рдЬрд╛рдВрдЪрдирд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИред)

  • рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реБрдзрд╛рд░ рдХреИрдкреНрдЪрд░ рдХреА рдЧрдИ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕реАрдкреАрдЖрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдирд╛ рд╣реИред рд╕реАрдкреАрдЖрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣рдо рд╕реНрдЯрдбрдЖрдЙрдЯ рдореЗрдВ рдХреБрдЫ рд▓рд┐рдЦрдХрд░ рдХрд░реНрд╕рд░ рдХреА рд╕реНрдерд┐рддрд┐ рдкреВрдЫрддреЗ рд╣реИрдВ, рдФрд░ рд╣рдореЗрдВ рд╕реНрдЯрдб рдкрд░ рдЯрд░реНрдорд┐рдирд▓ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИред рд╣рдореЗрд╢рд╛ рдереЛрдбрд╝реА рджреЗрд░реА рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рдЯрд░реНрдорд┐рдирд▓ рдХреЛ рд░реЙ рдореЛрдб рдореЗрдВ рд░рдЦрдирд╛ рдФрд░ рдЗрд╕ рдЗрдирдкреБрдЯ рдХреЛ рддрдм рддрдХ рдкрдврд╝рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рди рдЖ рдЬрд╛рдПред рд╣рдордиреЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛, рдФрд░ рдЗрд╕рдиреЗ рдХрд░реНрд╕рд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдЯрд░реНрдорд┐рдирд▓ рдХреА рдЕрдкрдиреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рджрд╛рди рдХреАред

рдЯрд░реНрдорд┐рдирд▓реЛрдВ рдХреЗ рдмреАрдЪ рд╕рдордп рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рдЖрдк рд╕рднреА рдирд╡реАрдирддрдо рдкреНрд░реЙрдореНрдкреНрдЯ_рдЯреВрд▓рдХрд┐рдЯ рдХрдорд┐рдЯ рдХреЗ рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдЕрдЧрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдПрдХ рдирдИ рд░рд┐рд▓реАрдЬ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдКрдВрдЧрд╛ред

рдпрд╣ рдореЗрд░реА рддрд░рдл рдмрдЧ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред рдзрдиреНрдпрд╡рд╛рдж @jonathanslenders !

рд╣рд╛рдБ, рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдирд╡реАрдирддрдо рдорд╛рд╕реНрдЯрд░ рдЗрд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рднреА рдареАрдХ рдХрд░рддрд╛ рд╣реИред

рд╡рд╣ рдкреИрдЪ рдХреБрдЫ [[39;1R рд╡рд░реНрдгреЛрдВ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдореЗрд░реЗ рдкрд╛рд╕ рднреА рдереЗред рдзрдиреНрдпрд╡рд╛рдж!

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЗрд╕реЗ рд╕реНрдХреНрд░реИрдЪ


рдирд╣реАрдВ, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛрддрд╛ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореБрдЭреЗ рдПрдХ рдЕрд▓рдЧ рдЪрд░рд┐рддреНрд░ рдорд┐рд▓рддрд╛ рд╣реИ

AlbireoPro╦Зalbireo: Downloads ┬╗ ipython                 (3.7.0 2.7.15)

In [1]: from can.interfaces.slcan import slcanBus

^[[21;1RIn [2]:

рдХреНрдпрд╛ рдЖрдк рд╕рднреА рдирд╡реАрдирддрдо рдкреНрд░реЙрдореНрдкреНрдЯ_рдЯреВрд▓рдХрд┐рдЯ рдХрдорд┐рдЯ рдХреЗ рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдЕрдЧрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдПрдХ рдирдИ рд░рд┐рд▓реАрдЬ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдКрдВрдЧрд╛ред

рдореЗрд░реЗ рд▓рд┐рдпреЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдЖрдк AFAICT рд░рдВрдЧреЛрдВ рдХреА рд╣реИрдВрдбрд▓рд┐рдВрдЧ рднреА рдмрджрд▓рддреЗ рд╣реИрдВ, рд╣рдо рдЕрдирд┐рдЪреНрдЫрд╛ рд╕реЗ IPython рдореЗрдВ рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ ansi рдореИрдкрд┐рдВрдЧ рд╕реЗ ansi рдХреЛрдб рдкрд░ рдирд┐рд░реНрднрд░ рдереЗ, рдореИрдВ рдЗрд╕реЗ рднреА рдареАрдХ рдХрд░ рджреВрдВрдЧрд╛ред рдзрдиреНрдпрд╡рд╛рдж !

@Carreau : рдореИрдВрдиреЗ рдЕрднреА рдкреНрд░реЙрдореНрдкреНрдЯ_рдЯреВрд▓рдХрд┐рдЯ 2.0.6 рдХреЛ рдзрдХреНрдХрд╛ рджрд┐рдпрд╛ рд╣реИред
рдХреНрдпрд╛ IPython рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ RRGGBB рдЕрдиреБрдХреНрд░рдо рдХреБрдЫ ANSI рд░рдВрдЧреЛрдВ рдореЗрдВ рдореИрдк рдХрд░реЗрдВ, рдпрд╣рд╛рдБ рддрдХ рдХрд┐ 256color рдореЛрдб рдореЗрдВ рднреА?

рд╡реИрд╕реЗ @Carreau ,

рдЙрдореНрдореАрдж

рдореИрдВ "рдЙрдореНрдореАрдж" рдирд╣реАрдВ рдХрд╣реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдереАрдо рдореЗрдВ #ansixxx рдФрд░ #00ff00 рдЬреЛ рдПрдХ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛, рдФрд░ 2.0.6 рдХреЗ рд╕рд╛рде рдЙрдирдХреЗ рдорддрднреЗрджреЛрдВ рдореЗрдВ рдереЛрдбрд╝рд╛ рдордЬрдмреВрдд рд╣реИред

screen shot 2018-10-12 at 10 03 56

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ #ansi рдпрд╛ #hex рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдЪрдордХ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рджреЗрдЦреВрдВрдЧрд╛ред рдореИрдВрдиреЗ рдЕрднреА рдХреБрдЫ рд╣рдлрд╝реНрддреЗ рдкрд╣рд▓реЗ рдПрдХ рдирдИ рд╕реНрдерд┐рддрд┐ рд╢реБрд░реВ рдХреА рд╣реИ рдФрд░ IPython/jupyter рдХреЛ рд╕реНрд╡рдпрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдХрдо рд╕рдордп рд╣реИред

рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдЬрдм рдХрд┐рд╕реА рд░рдВрдЧ рдХреЛ #00ff00 рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдореИрдВ 256 рд░рдВрдЧ рдкреИрд▓реЗрдЯ рд╕реЗ рдирд┐рдХрдЯрддрдо рд░рдВрдЧ рджреЗрдЦрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ 16 ansi рд░рдВрдЧреЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдпрд╛рдиреА рдпрд╣ рдмрд╛рдХреА 240 рд░рдВрдЧреЛрдВ рдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдХрд░реАрдм рд▓реЗрддрд╛ рд╣реИред

рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдЖрдЬрдХрд▓ рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдПрдПрдирдПрд╕рдЖрдИ рд░рдВрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд╕реНрдЯрдо рд░рдВрдЧ рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ - рд▓реЗрдХрд┐рди рд╢реЗрд╖ 240 рд░рдВрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред рдЗрд╕рд▓рд┐рдП, рдЬрдмрдХрд┐ рдпрд╣ рдЖрдкрдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╣рдЯрдХрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░рдВрдЧ рдХреЗ рдмрд╣реБрдд рдХрд░реАрдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдЯрд░реНрдорд┐рдирд▓реЛрдВ рдореЗрдВ рдореВрд▓ рдПрдПрдирдПрд╕рдЖрдИ рд░рдВрдЧ рдХреИрд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ:
https://en.wikipedia.org/wiki/ANSI_escape_code#Colors

рдлрд┐рдХреНрд╕реНрдб рдЕрдкрд╕реНрдЯреНрд░реАрдо рдХреЗ рд░реВрдк рдореЗрдВ рдмрдВрдж рдХрд░рдирд╛

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕