Fish-shell: [рд╕рдорд╛рдзрд╛рди] рдордЫрд▓реА precmd/PROMPT_COMMAND рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 16 рдЕрдкреНрд░реИрд▓ 2016  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: fish-shell/fish-shell

рдХреНрдпрд╛ precmd (zsh)/PROMPT_COMMAND (bash) рдХреЗ рдмрд░рд╛рдмрд░ рдХреЛрдИ рдордЫрд▓реА рд╣реИ?

рдореИрдВ рдПрдХ рдЕрд▓рдЧ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрде, рджрд┐рдирд╛рдВрдХ рдФрд░ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рд╡реНрдпрд╛рдкрдХ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдвреВрдВрдв рд░рд╣рд╛ рд╣реВрдВ

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред fish_prompt рдирд╛рдордХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдордЫрд▓реА рдХрд╛ рд╕рдВрдХреЗрдд рдХреЛрдб рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдХреЛрдб рд╣реИред рдЖрдк рдЗрд╕реЗ funced fish_prompt рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЙрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ funcsave fish_prompt рд╕рд╛рде рдбрд┐рд╕реНрдХ рдореЗрдВ рд╕рд╣реЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╣ рдЗрд╕реЗ ~/.config/fish/functions/fish_prompt.fish рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕реЗ рдЖрдк рд╕реАрдзреЗ рд╕рдВрд╢реЛрдзрд┐рдд рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдЪреБрдирддреЗ рд╣реИрдВ)ред

рдЕрдиреНрдпрдерд╛, fish_prompt рдШрдЯрдирд╛ рд╣реИ рдЬрд┐рд╕реЗ рдПрдХ рд╕рдВрдХреЗрдд рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рд╢реНрд░реЛрддрд╛ рд▓рд┐рдЦ тАЛтАЛрд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ

function dostuff --on-event fish_prompt
    # do your stuff
end

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕реЗ рдлрдВрдХреНрд╢рди рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд╕реЗрд╡ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рдСрдЯреЛрд▓реЛрдбреЗрдб рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕реЗ config.fish рдореЗрдВ рд╕реЗрд╡ рдХрд░реЗрдВ, рдПрдХ рдлрд╛рдЗрд▓ рдЬреЛ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реЛрд░реНрд╕ рдХреА рдЬрд╛рддреА рд╣реИ рдпрд╛ (рдЕрдЧрд▓реА рдлрд┐рд╢ рд░рд┐рд▓реАрдЬ рдореЗрдВ) ~/.config/fish/conf.d (".fish" рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓ рдореЗрдВ)ред

fish_preexec рдФрд░ fish_postexec рдИрд╡реЗрдВрдЯ рднреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдХреНрд░рдорд╢рдГ рдиреМрдХрд░реА рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ/рдмрд╛рдж рдореЗрдВ рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

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

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред fish_prompt рдирд╛рдордХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдордЫрд▓реА рдХрд╛ рд╕рдВрдХреЗрдд рдХреЛрдб рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдХреЛрдб рд╣реИред рдЖрдк рдЗрд╕реЗ funced fish_prompt рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЙрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ funcsave fish_prompt рд╕рд╛рде рдбрд┐рд╕реНрдХ рдореЗрдВ рд╕рд╣реЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╣ рдЗрд╕реЗ ~/.config/fish/functions/fish_prompt.fish рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕реЗ рдЖрдк рд╕реАрдзреЗ рд╕рдВрд╢реЛрдзрд┐рдд рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдЪреБрдирддреЗ рд╣реИрдВ)ред

рдЕрдиреНрдпрдерд╛, fish_prompt рдШрдЯрдирд╛ рд╣реИ рдЬрд┐рд╕реЗ рдПрдХ рд╕рдВрдХреЗрдд рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рд╢реНрд░реЛрддрд╛ рд▓рд┐рдЦ тАЛтАЛрд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ

function dostuff --on-event fish_prompt
    # do your stuff
end

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕реЗ рдлрдВрдХреНрд╢рди рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд╕реЗрд╡ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рдСрдЯреЛрд▓реЛрдбреЗрдб рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕реЗ config.fish рдореЗрдВ рд╕реЗрд╡ рдХрд░реЗрдВ, рдПрдХ рдлрд╛рдЗрд▓ рдЬреЛ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реЛрд░реНрд╕ рдХреА рдЬрд╛рддреА рд╣реИ рдпрд╛ (рдЕрдЧрд▓реА рдлрд┐рд╢ рд░рд┐рд▓реАрдЬ рдореЗрдВ) ~/.config/fish/conf.d (".fish" рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓ рдореЗрдВ)ред

fish_preexec рдФрд░ fish_postexec рдИрд╡реЗрдВрдЯ рднреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдХреНрд░рдорд╢рдГ рдиреМрдХрд░реА рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ/рдмрд╛рдж рдореЗрдВ рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

@gawells , рдХреНрдпрд╛ рдЗрд╕рдиреЗ рдЖрдкрдХреЗ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджрд┐рдпрд╛?

рд╣рд╛рдБ, рдпрд╣ рдХрд┐рдпрд╛ рдзрдиреНрдпрд╡рд╛рдж

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