☰

Das hätte mir auch eher einfallen können.

Meist klicke ich in YouTrack-Tickets meta information line über dem Ticketnamen vorn auf das kleine „Copy to Clipboard“-Icon, um den Ticketnamen inkl. Ticket-ID in die Zwischenablage zu kopieren, um dann daraus einen BR-Nachnamen zu generieren.

Bisher habe ich eine Raycast Extension benutzt, um den String zu urlifien und ein git switch -c davorzuschreiben.

Viel schöner geht es mit diesen beiden zsh-Funktionen für die ~/.zshrc:

slug() {
  perl -CSA -Mutf8 -MUnicode::Normalize -e '
    $_ = @ARGV ? join(" ", @ARGV) : join("", <STDIN>);
    s/Ä/Ae/g; s/Ö/Oe/g; s/Ü/Ue/g; s/ä/ae/g; s/ö/oe/g; s/ü/ue/g; s/ß/ss/g;
    $_ = NFD($_); s/\p{Mn}//g;
    $_ = lc; s/[^a-z0-9]+/-/g; s/^-+|-+$//g;
    print "$_\n";
  ' -- "$@"
}

gsb() { git switch -c "feature/$(slug "$@")"; }

Ein einfaches gsb "FOO-42 Ein weiteres Feature" legt den Branch feature/foo-42-ein-weiteres-feature an. Das ist unendlich viel praktischer als Raycast. Zumal für Raycast die Tage gezählt sind. Sobald ich meinen Arbeits-Mac geupdatet habe, werde ich es auch auf dem Rechner durch Tinycast ersetzen.