рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореИрдВрдиреЗ рдЕрднреА рднреА рд╡рд┐рдо рдФрд░ рдПрдорд╛рдХреНрд╕ рдХреЗ рд╕рдорд╛рди рдПрдХ рдкрд╛рда рд╕рдВрдкрд╛рджрдХ
рдпреА рдХреЗ рд╕рд╛рде рдмреИрдардХрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рд╣рд╛рд╕реНрдХреЗрд▓ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ред рдХрд┐рдЯ рдореЗрдВ рд╡рд┐рдо рдФрд░ рдЗрдореИрдХ рд╕рд┐рдореБрд▓реЗрд╢рди рднреА рд╣реИрдВред
Vim рдпрд╛ Emacs рдХреЗ рд╕рд╛рде рдЕрдиреБрднрд╡ рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг, рдХреЗрд╡рд▓ Cua- рдЕрдиреБрдХрд╛рд░ рдиреЗ рдореБрдЭреЗ рдЕрдиреБрдХреВрд▓ рдмрдирд╛рдпрд╛ред рд╡рд╣рд╛рдБ рдХреБрдЫ рд╣реЙрдЯрдХреАрдЬрд╝ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдореБрдЭрд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдФрд░ рдЕрдкрдиреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрдЯрд┐рдВрдЧ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рд╕рд╛рдзрд╛рд░рдг рдЧреНрд░рд╛рдлрд┐рдХ рд╕рдВрдкрд╛рджрдХреЛрдВ рдореЗрдВ, рдпрд╣ рдореБрдЭреЗ рдореЗрдиреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХрд╛ рд▓рдЧрддрд╛ рд╣реИред Alt рджрдмрд╛рдПрдВ, рдПрдХ рдореЗрдиреВ рдЦреБрд▓рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдореЗрдВ рдПрдХ рдЕрдХреНрд╖рд░ рд░реЗрдЦрд╛рдВрдХрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рд╣рдо рдЗрд╕ рддрддреНрд╡ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВрдЧреЗред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдмрд╛рд░ рдореЗрдВ рд╕рднреА рдХрдорд╛рдВрдб рдХреЛ рдпрд╛рдж рд░рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдореЗрдиреВ рдореЗрдВ рдЭрд╛рдВрдХрдХрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдзреАрд░реЗ-рдзреАрд░реЗ рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рддрддрд╛ рдореЗрдВ рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдореИрдВрдиреЗ рдпреА рдореЗрдВ рднреА рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рд╣рдордиреЗ рд╕рд╛рдзрд╛рд░рдг рд╣реЙрдЯрдХреАрдЬрд╝ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреА
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпреА рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдмрд╛рдЗрдВрдбрд░реЛрдВ рдХреЛ рджреЗрдЦреЗрдВ, рдЬреИрд╕реЗ рдХрд┐
рдХреБрдЖ ред рдпрд╣ рдЫреЛрдЯрд╛, рдФрд░ рд╡рд┐рдо рдФрд░ рдПрдордПрд╕реАрдПрд╕ рдПрдирд╛рд▓реЙрдЧ рдмрд╛рдБрдзрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЖрджрд┐рдо рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП (рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП) - рдпрд╣реА рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣реЙрдЯрдХреАрдЬрд╝ рдХреЛ рдЖрдо рддреМрд░ рдкрд░ рдХреИрд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рджреНрд╡рд╛рд░рд╛ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
keymap :: KeymapSet keymap = portableKeymap ctrl
рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмрд╛рдзреНрдпрдХрд╛рд░реА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ <|> рдСрдкрд░реЗрдЯрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдЗрдП рдЖрдЧреЗ рджреЗрдЦреЗрдВ рдЕрдиреНрдп cmd:
other cmd = choice [ spec KBS ?>>! deleteSel bdeleteB, spec KDel ?>>! deleteSel (deleteN 1), spec KEnter ?>>! replaceSel "\n", cmd (char 'q') ?>>! askQuitEditor, cmd (char 'f') ?>> isearchKeymap Forward, cmd (char 'x') ?>>! cut, cmd (char 'c') ?>>! copy, cmd (char 'v') ?>>! paste, cmd (spec KIns) ?>>! copy, shift (spec KIns) ?>>! paste, cmd (char 'z') ?>>! undoB, cmd (char 'y') ?>>! redoB, cmd (char 's') ?>>! fwriteE, cmd (char 'o') ?>>! findFile, cmd (char '/') ?>>! withModeB modeToggleCommentSelection, cmd (char ']') ?>>! autoIndentB IncreaseOnly, cmd (char '[') ?>>! autoIndentB DecreaseOnly ]
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХреБрдВрдЬреА рд╕рдВрдпреЛрдЬрди рдмрд╛рдИрдВ рдУрд░ рд╣реИ рдФрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рджрд╛рдИрдВ рдУрд░ рд╣реИред рдпрд╛рдиреА рдЬрдм рдЖрдк cmd (char 'c') рджрдмрд╛рддреЗ рд╣реИрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ cmd ctrl рд╣реИ) - рд╣рдореЗрдВ рдХреЙрдкреА рдорд┐рд▓рддреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдХреЛрдб рднреА рд╕реАрдзрд╛ рд╣реИред
рдореИрдВрдиреЗ рдЗрди рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдЦреБрдж рдХреЛ рдХреЙрдкреА рдХрд┐рдпрд╛ рдФрд░ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рдореЗрдиреВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдореЗрдиреВ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ?
рдореЗрдиреВ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ
рдореЙрдбреНрдпреВрд▓ рдХреЗ
рдкреНрд░рд▓реЗрдЦрди рдкрд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдВрд░рдЪрд┐рдд рд╣реИ, рдФрд░
Yi.MiniBuffer рдореЙрдбреНрдпреВрд▓ рдЖрдкрдХреА рдЖрдВрдЦ рдХреЛ рдкрдХрдбрд╝рддрд╛ рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдПред рдПрдХ рдлрдВрдХреНрд╢рди рд╣реИ
spawnMinibufferE :: String -> KeymapEndo -> EditorM BufferRef
рдЬреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдкрд╛рда рдФрд░ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕рдХреА рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рдЪрд╛рдмрд┐рдпреЛрдВ рд╕реЗ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИред рдпрд╛рдиреА рд╣рдореЗрдВ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдо рдкрдВрдХреНрддрд┐ рдореЗрдВ рдореЗрдиреВ рдЖрдЗрдЯрдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВрдЧреЗ, рдмрд╛рдЗрдВрдбрд░реЛрдВ рдореЗрдВ рд╣рдо рдХреБрдВрдЬрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдореЗрдиреВ рдЖрдЗрдЯрдо рдХрд╛ рдЪрдпрди рдкрдХрдбрд╝ рд▓реЗрдВрдЧреЗред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рдкреНрд░рдХрд╛рд░ рдмрдирд╛рдПрдВ рдЬреЛ рдореЗрдиреВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдореЗрдиреВ рдореЗрдВ рдЖрдЗрдЯрдореЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реЛрддреА рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдпрд╛ рддреЛ рдПрдХ рд╕рдмрдореЗрдиреВ рдЦреЛрд▓рддреА рд╣реИ, рдпрд╛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╣реЛрддреА рд╣реИред рддреЛ рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
рд╕рдмрдореЗрдиреВ рд╡реЗрд░рд┐рдПрдВрдЯ рдореЗрдВ рдПрдХ рд╢реАрд░реНрд╖рдХ рдФрд░ рдПрдХ рд╕рдмрдореЗрдиреВ рд╣реЛрддрд╛ рд╣реИ, рдореЗрдиреНрдпреВрдПрд╢рди рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдПрдХ рд╢реАрд░реНрд╖рдХ рдФрд░ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рдмрд╛рдБрдз рдмрдирд╛рддрд╛ рд╣реИред
MenuContext рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрджрд░реНрдн рд╣реИ рдЬрд┐рд╕реЗ рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЕрдм рддрдХ рдХреЗрд╡рд▓ рд╕реНрд░реЛрдд рдмрдлрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдореЗрдиреВ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕реЗ рд╕реЗрд╡ рдмрдЯрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдерд╛), рдЪрд╛рд░ рд╡рд╣ рдмрдЯрди рд╣реИ рдЬрд┐рд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдореЗрдиреВ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЪреВрдВрдХрд┐ рдкреНрд░рдХрд╛рд░ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╣реИ, рдЖрдк рдмрд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рджреГрдврд╝ рд╕рдВрдХрд▓реНрдк рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдмрд╛рдж рдореЗрдВ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдореЗрдиреВ рд╢реБрд░реВ рдХрд░реЗрдВ:
рд╣рдореЗрдВ рдРрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░реВрдк рд╕реЗ рдореЗрдиреВ рдЖрдЗрдЯрдо рдмрдирд╛рддреЗ рд╣реИрдВред SubMenu рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ, SubMenu "рдлрд╛рдЗрд▓" рд╣реИ ... рд▓реЗрдХрд┐рди MenuAction рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдХрдард┐рди рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░реЗрдВрдЧреЗ (рдЙрд╕реА рдХреЗ рджрд╛рдИрдВ рдУрд░? >> рдмрд╛рдЗрдВрдбрд░реНрд╕ рдореЗрдВ)ред рдореИрдВ рдЙрдирдореЗрдВ рд╕реЗ рджреЛ рдХрд╛ рдПрдХ рдХреЛрдб рджреВрдВрдЧрд╛:
рдпрд╣рд╛рдВ рд╣рдо рдПрдХ MenuItem рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬрдм рдЖрдк рдЙрдкрдпреБрдХреНрдд рдмрдЯрди (рдЪрд╛рд░ рд╕реА) рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореЗрдиреВ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╣рдо рдПрдХ рдореЗрдиреВ рдбрд┐рд╕реНрдкреНрд▓реЗ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦреЗрдВрдЧреЗред
рдкреВрд░рд╛ рдХреЛрдб
рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ ред
рдПрдХ рдореЗрдиреВ рдмрдирд╛рдПрдБ
рдЕрдм рдпрд╣ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдореЗрдиреВ рдмрдирд╛рдиреЗ рд▓рд╛рдпрдХ рд╣реИ, рдЗрд╕реЗ рдПрдХ рдмрдЯрди рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдФрд░ рдЖрдк рдЬрд╛рдБрдЪ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдПрдХ рдмрдбрд╝реЗ, рдкрддреНрддреЗрджрд╛рд░ рдореЗрдиреВ рдХреЛ рд▓рд┐рдЦрд╛, рдЬреЛ рдореБрдЭреЗ рдпреА рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдореЙрдбреНрдпреВрд▓реЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рднрд░ рдЖрдпрд╛ рдерд╛ред рдЬрдм рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЕрдХреНрд╕рд░ рд╡реНрдпреВ - рд╡рд┐рдВрдбреЛрдЬ рд╕рдмрдореЗрдиреВ рдкрд░ рдЬрд╛рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВрдиреЗ рдЗрд╕ рдореЗрдиреВ рдХреЛ рдПрдХ рдЕрд▓рдЧ рд╣реЙрдЯрдХреА рдкрд░ рд░рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдЕрдм рдЖрдк рди рдХреЗрд╡рд▓ рд▓рдВрдмреЗ VWS рд╕рдВрдпреЛрдЬрди рд╕реЗ рд╡рд┐рдВрдбреЛ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рд╕рд┐рд░реНрдл Ctrl-W - S рднреАред
рдпрд╣рд╛рдБ рдореБрдЦреНрдп рдореЗрдиреВ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд╕рдмрдореЗрдиреВ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╣реИ:
рдкреВрд░реЗ рдореЗрдиреВ рдХреЛ
рдпрд╣рд╛рдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ ред
рдкрд░рд┐рдгрд╛рдо
рд╣рдо рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдореЗрдиреВ рдФрд░ рд╕рдмрдореЗрдиреВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ!

рдкрд░рд┐рдгрд╛рдо
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдХрд┐рд╕реА рддрд░рд╣ рдХреЗ рдмрд┐рд▓реНрдЯ-рдЗрди рд╕рд░рд▓ рдСрдЯреЛ-рдкреВрд░реНрдг, рдлрд┐рд░ рдЬреАрдПрдЪрд╕реАрдЖрдИ рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЛ рдЦрд░рд╛рдм рдХрд░ рджрд┐рдпрд╛ред рдЕрдЧрд▓рд╛ рдЪрд░рдг hlint рдЯреВрд▓ рд╣реИ (рдпрд╣ рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдорд╛рдирдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдХрд╣рд╛рдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдХреБрдЫ рд╕реБрдкрд░рдлреНрд▓рд╕ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрджрд┐) рдФрд░ рдЕрдиреНрдпред
рд╕рднреА рдХреЛрдб
GitHub рдкрд░ рдЙрдкрд▓рдмреНрдз
рд╣реИ ред
рдЕрджреНрдпрддрди
рддреАрди рдХрд╛рд░реНрдпреЛрдВ
actionB
,
actionE
рдФрд░
actionY
рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐
actionY
ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрдиреНрд╣реЗрдВ
runAction . makeAction
рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
runAction . makeAction
runAction . makeAction
рдПрдХрд▓ рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдирд┐рд╢реНрдЪрд┐рдд