Implementering af parse_git_branch i zsh: Dynamisk prompt uden forsinkelse

Hvordan kan den tilsvarende funktionalitet fra bash (parse_git_branch) implementeres i zsh, så kommandoen ikke køres ved opsætning af prompten?

Implementering af parse_git_branch funktionalitet i zsh uden at køre kommandoen ved opsætning af prompten kan opnås ved at oprette en funktion til at hente den aktuelle git-branch, definere en funktion til dynamisk opdatering af prompten og bruge en zsh hook til at opdatere prompten før hver kommando.

Implementering af parse_git_branch funktionalitet i zsh uden at køre kommandoen ved opsætning af prompten

For at implementere en tilsvarende funktionalitet som parse_git_branch fra bash i zsh, uden at køre kommandoen ved opsætning af prompten, kan du følge disse trin:

  1. Opret en funktion til at hente den aktuelle git-branch:
    function parse_git_branch() {
          git branch 2>/dev/null | grep '*' | sed 's/* //'
        }
  2. Definer en funktion til at opdatere prompten dynamisk:
    function update_prompt() {
          local git_branch=$(parse_git_branch)
          if [ -n "$git_branch" ]; then
            PROMPT="%n@%m:%~ on %F{yellow}$git_branch%f %# "
          else
            PROMPT="%n@%m:%~ %# "
          fi
        }
  3. Brug en zsh hook til at opdatere prompten før hver kommando:
    autoload -Uz add-zsh-hook
    add-zsh-hook precmd update_prompt

Med denne opsætning vil parse_git_branch funktionen kun blive kaldt, når prompten skal opdateres, og ikke ved opsætningen af prompten. Dette sikrer, at den aktuelle git-branch kun hentes, når det er nødvendigt.

Opret din første opgave på få minutter

Spar dig selv for besvær og kom igennem din to-do liste i dag

1

Beskriv din opgave

2

Modtag bud

3

Få løst din opgave

opgaver platform services

Møbelsamling

Hjælp med at samle Ikea klædeskab

opgaver platform services

Maler

Klargøring af lejlighed til flyttesyn

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Havearbejde

Beskæring af 4 større træer

opgaver platform services

IT support

Geninstallering af windows + programmer

opgaver platform services

Elektriker

Installation af Sonos musikanlæg i hus

opgaver platform services

Rengøring

Ugentlig rengøring af lejlighed (114kvm)

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Elektriker

Opsætning af lamper i stue og soveværelse

opgaver platform services

Catering

3-retters menu til 14 mennesker