I’m sure some of you have absolute monstrosities of sigils (I know I do, in my .zshrc alone). Post them without context, and try and guess what other users’s lines are. If you want to provide context or guess, use the markdown editor to spoiler-tag your guesses and explanations!

  • Gamma@programming.devOPM
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago
    reply=( ${(M)dirs:#*/$~pattern}(Noe['REPLY=${(l[3][0])#REPLY:t}'][1]) )
    
    Literal explanation
    • $~pattern interpret globbing characters (like *, ?, or [a-z]) in the parameter $pattern,
    • ${(M)dirs:#*/$~pattern} filter the array $dirs to those matching */$~pattern.
    • ${...}(...) everything in (...) are globbing qualifiers
    • (N) enable nullglob
    • (oe[...]) sort by the result of the shell snippet, where $REPLY is used as input and output
    • ${...REPLY:t} remove all leading path components from $REPLY
    • ${...#REPLY:t} substitute the length of that string
    • ${(l[3][0])#REPLY:t} left-pad with zeroes to a length of 3
    • reply=( ... ) save as $reply
    Full context

    This line is in a function which dynamically expands ~[g:abc] to one of my git repos, choosing the shortest directory matching path/to/abc*, or if no match is found, the shortest matching *abc*. So between /long/path/to/abcdef and /short/abcdefg, it would choose the first one (provided both of those were in the search paths I configured).