<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Terminal on Omar Crosby</title>
    <link>https://omarcrosby.com/tags/terminal/</link>
    <description>Recent content in Terminal on Omar Crosby</description>
    <image>
      <title>Omar Crosby</title>
      <url>https://omarcrosby.com/images/og.jpg</url>
      <link>https://omarcrosby.com/images/og.jpg</link>
    </image>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Tue, 22 Sep 2026 15:05:07 -0400</lastBuildDate>
    <atom:link href="https://omarcrosby.com/tags/terminal/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Writing a custom zsh completion function, end to end</title>
      <link>https://omarcrosby.com/posts/writing-a-custom-zsh-completion-function-end-to-end/</link>
      <pubDate>Tue, 22 Sep 2026 15:05:07 -0400</pubDate>
      <guid>https://omarcrosby.com/posts/writing-a-custom-zsh-completion-function-end-to-end/</guid>
      <description>A walkthrough of writing a zsh completion function for a small CLI — from an empty file to subcommand dispatch, contextual argument completion with help text, and dynamic completion driven by a command&amp;#39;s own output. The one subsystem that makes zsh worth the switch.</description>
    </item>
    <item>
      <title>Zsh parameter expansion flags: the bash user&#39;s missing manual</title>
      <link>https://omarcrosby.com/posts/zsh-parameter-expansion-flags-the-bash-users-missing-manual/</link>
      <pubDate>Tue, 22 Sep 2026 15:02:01 -0400</pubDate>
      <guid>https://omarcrosby.com/posts/zsh-parameter-expansion-flags-the-bash-users-missing-manual/</guid>
      <description>A tour of zsh&amp;#39;s parameter expansion flags — the expressive superset of bash&amp;#39;s parameter expansion that most switching guides never mention. Case flags, split/join flags, indirect expansion, hash key/value extraction, and the csh-derived path modifiers, with the bash equivalent for each so the delta is concrete.</description>
    </item>
    <item>
      <title>Zsh extended glob qualifiers: a language inside pathnames</title>
      <link>https://omarcrosby.com/posts/zsh-extended-glob-qualifiers-a-language-inside-pathnames/</link>
      <pubDate>Tue, 22 Sep 2026 06:43:27 -0400</pubDate>
      <guid>https://omarcrosby.com/posts/zsh-extended-glob-qualifiers-a-language-inside-pathnames/</guid>
      <description>A tour of zsh&amp;#39;s glob qualifiers — the small sublanguage attached to pathname expansion that filters, sorts, and slices matched files without a pipeline. File-type checks, time and size predicates, ordering, slicing, and the recursive globstar — with the equivalent bash &#43; find one-liners for each so the win is concrete.</description>
    </item>
    <item>
      <title>Zsh is worth switching to for two features and one subsystem</title>
      <link>https://omarcrosby.com/posts/zsh-is-worth-switching-for-two-features-and-one-subsystem/</link>
      <pubDate>Tue, 22 Sep 2026 06:40:34 -0400</pubDate>
      <guid>https://omarcrosby.com/posts/zsh-is-worth-switching-for-two-features-and-one-subsystem/</guid>
      <description>The case for zsh over bash — and fish, and framework distributions — narrowed to the three parts of the shell that actually earn the switch: extended glob qualifiers, parameter expansion flags, and the completion system. Everything else is bash-plus-plugins.</description>
    </item>
  </channel>
</rss>
