thindf - рдирдпрд╛ рдкрд╛рда рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдк (JSON рдХреЗ рд╡рд┐рдХрд▓реНрдк)

рдлрд╝рд╛рдЗрд▓ AppData \ Local \ Dropbox \ info.json:
{ "personal": { "host": 5060852864, "is_team": false, "subscription_type": "Basic", "path": "C:\\Users\\DNS\\Dropbox" } } 
рдирдП рдкреНрд░рд╛рд░реВрдк рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
 personal host = 5060852864 is_team = 0B subscription_type = Basic path = C:\Users\DNS\Dropbox 
рдЙрджрд╛рддреНрдд рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓:
 { "added_words": [ "plugin", "habrahabr", "" ], "default_line_ending": "unix", //"font_face": "Fira Code", "font_size": 11, "ignored_packages": [ "Sublimerge Pro", "Vintage" ], "ignored_words": [ "utf" ], "line_numbers": false, "show_encoding": true, "show_line_endings": true, "tab_size": 4, "theme": "Default.sublime-theme" } 
рдирдП рдкреНрд░рд╛рд░реВрдк рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
 added_words = [ plugin habrahabr  ] default_line_ending = unix //font_face = Fira Code font_size = 11 ignored_packages = [ Sublimerge Pro Vintage ] ignored_words = [ utf ] line_numbers = 0B show_encoding = 1B show_line_endings = 1B tab_size = 4 theme = Default.sublime-theme 

рдереЛрдбрд╝рд╛ рд╕рд╛ рдЗрддрд┐рд╣рд╛рд╕


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

рдкреНрд░рддреНрдпреЗрдХ рдЧреЗрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмреНрд▓реЙрдХрдкрд░ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ рдлрд╝рд╛рдЗрд▓ рдбреЗрдЯрд╛ / data.kfs / spider.atom рд╕реЗ рдПрдХ рдХреНрд▓рд┐рдкрд┐рдВрдЧ рд╣реИ:
 main { class=chesspiece model=spider.bma cullcat=0 } arena_params { race=neutral cost=24 level=1 leadership=14 attack=4 defense=4 ... resistances { physical=20 poison=0 magic=0 fire=-10 } ... } ... 

рдмрд╛рдж рдореЗрдВ [ рд░реЙрдпрд▓ рдХреНрд╡реЗрд╕реНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП ] рдореИрдВрдиреЗ рдЗрд╕ рдкреНрд░рд╛рд░реВрдк рдХреЛ рдереЛрдбрд╝рд╛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп:
 button { name=close pos=400,600 size=200,40 image=button_close.png anchors=0,0,100,0 } 
рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦреЗрдВ:
 button=close,400,600,200,40 { image=button_close.png anchors=0,0,100,0 } 

рдореИрдВрдиреЗ рдкреАрдЫреЗ рд╡рд╛рд▓реЗ рдПрдкреЛрд╕реНрдЯреНрд░реЛрдл (backtick - `) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рднреА рдЬреЛрдбрд╝рд╛:)
 button=... { onmouseover=` ... ` } 
рдореИрдВрдиреЗ '' рд░рд┐рд╡рд░реНрд╕ рдПрдкреНрд░реЛрд╕реНрдЯреНрд░реЛрдлреНрд╕ '' рдореЗрдВ рд╕рдВрд▓рдЧреНрди рддрд╛рд░ рдХреНрдпреЛрдВ рдордирд╛ рдХрд░ рджрд┐рдпрд╛
рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рди рдореЗрдВ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЛ рд╕реАрдзреЗ рдкреЗрд╕реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ, рдФрд░ рдХреЛрдб рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдореИрдВ рдЙрд▓рдЯрд╛ рдПрдкреЛрд╕реНрдЯреНрд░реЛрдлрд┐рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕реА рдЕрд░реНрде рдореЗрдВ рдХрд░рддрд╛ рд╣реВрдВ рдЬреИрд╕реЗ рдХрд┐ рд╡реЗ рдорд╛рд░реНрдХрдбрд╛рдЙрди рдФрд░ рдкреАрд╕реА рдорд╛рд░реНрдХрдЕрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
 if len(indentation_levels) and indentation_levels[-1][0] == -1: #    `{`    ,       `}` 

рдФрд░ рдЕрдВрдд рдореЗрдВ, рдкрд╛рдпрдерди рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рдкрд░рд┐рдЪрд┐рдд рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдШреБрдВрдШрд░рд╛рд▓реЗ рдХреЛрд╖реНрдардХ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдиреЗ рдореБрдЭреЗ рдЗрддрдирд╛ рдореЛрд╣рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдХрд┐ рдореИрдВрдиреЗ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдХрд┐ рдмреНрд▓реЙрдХрдкрд╛рд░реНрдХ рдкреНрд░рд╛рд░реВрдк рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ [ рдЖрд╡рд╢реНрдпрдХ рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реЗрд╕рд┐рдЬрд╝ рдХреЛ рддреНрдпрд╛рдЧрдХрд░ ] ред

рдЗрд╕рд╕реЗ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд:
  • рд░реЙрдпрд▓ рдХреНрд╡реЗрд╕реНрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдлрд┐рд░ рднреА рдПрдХ рдЕрдиреНрдп рд╕реАрд░рд┐рдпрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдкрд╛рда рднрдВрдбрд╛рд░рдг рдкреНрд░рд╛рд░реВрдкред
  • рдирдЧреНрдиреЗрдХреНрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкреНрд░рд╛рд░реВрдк (рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВрдиреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╛рдо рдФрд░ рдЙрд╕рдХреЗ рдореВрд▓реНрдп ( рдХреНрдпреЛрдВ ) рдХреЗ рдмреАрдЪ рд╕реАрдорд╛рдВрдХрдХ (рдкреНрд░рддреАрдХ = рдпрд╛ : рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдЦрд╛рд░рд┐рдЬ рдХрд░ рджрд┐рдпрд╛)ред
  • YAML (рдЕрд░реНрдерд╛рдд, рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ . рд╕рд░рдгреА рддрддреНрд╡ рдХреЗ рдирд╛рдо рд╕реЗ рдкрд╣рд▓реЗ [ YAML рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ - ] )ред

0V рдФрд░ 1V рдХреНрдпреЛрдВ?
  • рдЕрдХреНрд╕рд░ рд╕рд╣реА / рдЧрд▓рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рд╛рдБ / рдирд╣реАрдВ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (YES / NO рдХрд╛ рдЙрдкрдпреЛрдЧ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) , рдСрди / рдСрдл рдпрд╛ рдЗрдиреЗрдмрд▓ / рдбрд┐рд╕реЗрдмрд▓ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдЖрдк рд╢реЛ рд▓рд╛рдЗрди рдПрдВрдбрд┐рдВрдЧ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ; рд▓реЙрдЧ рдСрди / рдСрдл рдЪрд╛рд▓реВ рдХрд░реЗрдВ? рдбрд┐рдЬрд┐рдЯ? рд╣рд╛рдВ ); рдФрд░ рдмреВрд▓рд┐рдпрди рдмреАрдЬрдЧрдгрд┐рдд рдореЗрдВ, 0 рдФрд░ 1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рд╣реА рдФрд░ рдЧрд▓рдд рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рд╣реА рдмрд╣рд╕ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИред
  • рдореБрдЭреЗ рдкреНрд░рд╛рд░реВрдк рдХреЗ рд░реВрд╕реА рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕рд╣реА / рдЧрд▓рдд рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ 0B рдФрд░ 1B рдХреЗ рд╕рд╛рде 0B рдФрд░ 1B (рдпрд╣рд╛рдБ B рд░реВрд╕реА рд░рд╛рдЬрдзрд╛рдиреА рдкрддреНрд░ c рд╣реИ) рдЬреБрдбрд╝рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред [ рдореИрдВ рдЖрдкрдХреЛ рд░реВрд╕реА рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЙрдкрдпреБрдХреНрддрддрд╛ рдХрд╛ рд╕рд╡рд╛рд▓ рдирд╣реАрдВ рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реВрдВред ]
  • рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╕рдВрдХреЗрддрд┐рдд рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП 11B рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ 0B рдФрд░ 1B рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдХрд▓ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдореЗрдВ рддрд╛рд░


рдЗрд╕ рдкреНрд░рд╛рд░реВрдк рдХреЗ рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж / рдЕрд╕рд╛рдорд╛рдиреНрдп рддрддреНрд╡ рдХреЗ рдЕрд▓рд╛рд╡рд╛ [ 0B рдФрд░ 1B рдХреЗ рдЕрд▓рд╛рд╡рд╛ ] рдХрдЪреНрдЪреЗ рддрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рджреЛрд╣рд░реЗ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИ [ рдмрд┐рдирд╛ рдЕрдиреБрдХреНрд░рдордг рдЕрдиреБрдХреНрд░рдо рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП ] ред
рд▓реЗрдХрд┐рди рдореЗрд░реА рдкрд╕рдВрдж рдЗрд╕ рддрдереНрдп рд╕реЗ рдЙрдЪрд┐рдд рд╣реИ рдХрд┐ рдпреВрдирд┐рдХреЛрдб рдХрдВрд╕реЛрд░реНрдЯрд┐рдпрдо рдиреЗ рдЗрд╕ рд╡рд░реНрд╖ рдХреЛ рдПрдХрд▓ рджреЛрд╣рд░реЗ рдЙрджреНрдзрд░рдг рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрдореЛрджрд┐рдд рдХрд┐рдпрд╛ред

рдХреАрдмреЛрд░реНрдб рдкрд░ рдРрд╕реЗ рдЙрджреНрдзрд░рдг рдХреИрд╕реЗ рдЯрд╛рдЗрдк рдХрд░реЗрдВ - рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВред

рдпрджрд┐ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдЙрджреНрдзрд░рдг рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЙрд╕реА рддрд░рд╣ "рд▓рд╛рдЗрди рдмреИрд▓реЗрдВрд╕рд┐рдВрдЧ" рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдкреАрд╕реА рдорд╛рд░реНрдХрдЕрдк рдореЗрдВ HTML рдХреЛрдб рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдПред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд▓рд╛рдЗрди don't ред
рдЪреВрдБрдХрд┐ рдЗрд╕рдореЗрдВ рдЕрд╕рдВрддреБрд▓рд┐рдд рд╕рдорд╛рдкрди рдЙрджреНрдзрд░рдг рд╣реИ, рдкрдВрдХреНрддрд┐ рдХреЗ рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рдореЗрдВ рдПрдХ рд╕рдВрддреБрд▓рди рдЦреЛрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдЙрджреНрдзрд░рдг рдЬреЛрдбрд╝реЗрдВ: ' don't ред
рд╣рдо рджреЛрд╣рд░реЗ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдореЗрдВ рд╕рдВрддреБрд▓рд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдВрд▓рдЧреНрди рдХрд░рддреЗ рд╣реИрдВ: ' 'don't ' ред
рдЕрдм рдЖрдкрдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдкрд╛рд░реНрд╕рд░ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдмрд╛рдИрдВ рдУрд░ рдЬреЛрдбрд╝реЗ рдЧрдП рдЙрджреНрдзрд░рдг рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рд╕рдВрддреБрд▓рди рдмрд╣рд╛рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдПрдкреЙрд╕реНрдЯреНрд░реЙрдлрд╝ рдкреНрд░рддреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ ', рдЬрд┐рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрддреБрд▓рди рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП [ рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдПрдкреЙрд╕реНрдЯреНрд░реЙрдлрд╝ "рдПрдХ рдЬреЛрдбрд╝реА рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрди" рдЦрд╛рддрд╛ рд╣реИ ] , рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд▓рд╛рдЗрди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: '''don't' ред
рдЖрдк рдПрдХ рд╕рдВрддреБрд▓рд┐рдд рд▓рд╛рдЗрди рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ рдбрдмрд▓ рдХреЛрдЯреНрд╕ рдореЗрдВ рдЕрдиреНрдп рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рд╣реИ:
'text = '''don't'' ред

рдХреЗ рдЙрдкрдпреЛрдЧ


рдлрд┐рд▓рд╣рд╛рд▓, рдкрд╛рдпрдерди рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ (рдЖрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡реЗрдм рдкреЗрдЬ рдкрд░ рд╕реАрдзреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ JSON рдХреЛ рдПрдХ рдирдП рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдмрджрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред

рдЕрдЬрдЧрд░ рдХреЗ рд▓рд┐рдП - рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
 pip install thindf 

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП:
 npm install thindf node const thindf = require('thindf'); 

рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
  • thindf.to_thindf(object, indent = 4) рдкрд╛рд╕ рдХреА рдЧрдИ рд╡рд╕реНрддреБ ( json.dumps рдФрд░ JSON.stringify рдХрд╛ рдПрдирд╛рд▓реЙрдЧ) рдХреЗ рдЕрдиреБрд░реВрдк thindf рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
  • thindf.parse(str) рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ thindf рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ( json.loads рдФрд░ JSON.parse рдЕрдиреБрд░реВрдк)ред

рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдХреБрдЫ рдФрд░ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛:
рдореЗрд░реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ (Windows) .sublime-keymap рд╕реЗ рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпрд╛рдБ:
 [ { "keys": ["f4"], "command": "f4" }, { "keys": ["shift+f4"], "command": "f4", "args": {"shift_key_pressed": true} }, { "keys": ["alt+shift+`"], "command": "insert", "args": {"characters": "`"} }, // ( { "keys": [":", ")"], "command": "insert_snippet", "args": {"contents": ":)(:"} }, { "keys": ["alt+9"], "context": [{"key": "selector", "operator": "equal", "operand": "text.pq"}], "command": "insert_pq" }, // ' (for balance) { "keys": ["alt+0"], "context": [{"key": "selector", "operator": "equal", "operand": "text.pq"}], "command": "insert", "args": {"characters": "'"} }, ] 
рдирдП рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рдЗрд╕реЗ рд▓рд┐рдЦреВрдВрдЧрд╛:
 f4 = on_f4() shift+f4 = on_f4(shift_key_pressed' 1B) alt+shift+` = insert(characters' '`') // ( :,) = insert_snippet(contents' ':)(:') alt+9 = if selector == 'text.pq' {insert_pq()} else 0B // ' (for balance) alt+0 = if selector == 'text.pq' {insert(characters' "'")} else 0B 

D.json рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ [ рдЙрджрд╛рддреНрдд рдкрд╛рда рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрди рдкреНрд░рдмрдВрдзрдХ рдХреЗ рднрдВрдбрд╛рд░ рд╕реЗ ]]
 { "schema_version": "3.0.0", "packages": [ { "name": "Django Lookup Snippets", "details": "https://github.com/icycandle/sublime-django-lookup", "releases": [ { "sublime_text": "*", "tags": true } ] }, { "name": "Django Manage Commands", "details": "https://github.com/vladimirnani/DjangoCommands", "labels": ["Django", "python", "web", "management"], "releases": [ { "sublime_text": "<3000", "tags": "st2-" }, { "sublime_text": ">=3000", "tags": "st3-" } ] } ] } 
рдирдП рдкреНрд░рд╛рд░реВрдк рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
 schema_version = '3.0.0' packages = [ . name = Django Lookup Snippets details = https://github.com/icycandle/sublime-django-lookup releases = [ . sublime_text = * tags = 1B ] . name = Django Manage Commands details = https://github.com/vladimirnani/DjangoCommands labels = [ Django python web management ] releases = [ . sublime_text = <3000 tags = st2- . sublime_text = >=3000 tags = st3- ] ] 

рдХреБрдЫ рдХреЛрдиреЗ рдХреЗ рдорд╛рдорд▓реЗ:
 { "a": "'...'", "b": "string which ends with a space ", "cd": "\n", "e ": "3", "dirs": [ ["Doc,Scans", ".t'xt"] ], "node": null, "n" : "N", "files": [], "f": "[]", "ff": [ [] ], "products": {} } 
 a = ''...'' b = 'string which ends with a space ' cd = "\n" 'e ' = '3' dirs = [ ['Doc,Scans', '''.t'xt'] ] node = N n = 'N' files = [] f = '[]' ff = [ [] ] products = {} 

Source: https://habr.com/ru/post/hi419361/


All Articles