What makes a shell?

I recently (re)discovered the Oil shell. The last time I saw it, it was trying to write a language to subsume Bash, Awk, and Make.

However, I came back to it doing nearly accomplishing two smaller goals:

  • Writing a fast, statically-parsed shell (osh) as close to Bash-compatible as possible.
  • Developing a stricter subset of Bash from which to build a new language (oil).

And I really like it.

[Read More]

Reflecting on a Compliment

Sometimes in your life it takes someone else to get you to realize just how much you know.

This is a story of about two hours of my life on February 20th, 2020.

Are you a single person?

[Read More]
life  story 

Using Zparseopts

tl;dr: Always use the flags -D and -E (and -F if available). Add a colon to indicate an argument is required (similar to getopt)

[Read More]

100 Days of Code: Day 15

After a busy weekend of visiting siblings, car troubles (snow’s no joke) and getting back to school, I had a chance to sit down to work on my #100DaysOfCode project.

I saw the Geometry zsh theme hit 2.0! It looks like a more modular Pure, which is fantastic for me!

With that, I figured it was as good of a time as ever to rename and rebrand my prompt segment to be more prompt-agnostic. I now have instructions for enabling it with Geometry, P10k, and Bullet Train.

The project is now moved to zsh-prompt-dir-glob

100 Days of Code: Day 13

Wrote more of the zparseopts post, I think I have everything explained. Waiting until I look over it more tomorrow, see if I worded anything poorly.

100 Days of Code: Day 11

I re-wrote the cache-clearing function, adding options with zparseopts. I really think I need to write a post about it…

Tell you what, that will be tomorrow’s project. Just a post about zparseopts. It’s such a good tool, and people need to know about it!

100 Days of Code: Day 09

Today was a day of cleanup.

I got a few GitHub notifications on projects I worked on in the past. There was a new mako release, which I am happy to be a small part of. I do need to fix something that slipped my mind, which I’m kinda embarrassed about.

Additionally, I got an issue in on my vi-increment plugin, which I promptly fixed and pushed a point-release of. This actually was really good news; this is confirmation that other people actually use the stuff I write!

I need to change some process, I have a tendency to break stuff when renaming.