The One Em Dash Left
There are seventy-eight files in my working tree this week with one change in common: a long dash taken out and something else put in its place. Every essay, every data file the site reads, the components, the layouts, three tests. A new test alongside them scans the content and data directories and fails the build on the next one.
I did not ban it for style. I banned it because of what it let me avoid. A dash between two clauses says they are related and declines to say how. A colon says the second explains the first. A period says they stand apart. Parentheses say the second is an aside. Replacing seventy-eight files’ worth of dashes meant making that decision seventy-eight files’ worth of times, and about a third of the time the decision changed the sentence, which is a fair measure of how much the dash had been doing on my behalf.
The essays here are drafted with a model, and the model reaches for that dash the way I reach for “actually”. A guard is cheaper than vigilance, so the rule is now a test rather than a note to myself: it walks every markdown file and every JSON feed and lists each offending line by number.
Then the test failed on a line I could not change.
An essay from earlier this month quotes an error message from a deploy pipeline, and the vendor’s message has a dash in it: “rate limited”, the dash, “wait and retry”. That string is somebody else’s. Quoting it with different punctuation would be quoting something they did not write, and the whole point of quoting an error message is that a reader can search for it. So the test grew an allow list. It holds one entry, keyed by file and by the exact substring, and the substring has to match or the exception does not apply.
That is the entire list. One line, and it is the one dash on this site that is not mine.
I find I like the shape of that. A blanket rule about my own writing needed exactly one exception, and the exception is the place where the writing stops being mine. If the list ever grows, it should grow for the same reason: a quotation, a title, somebody’s name for their own thing. It should never grow because a sentence of mine was hard to rewrite. The whole sweep is uncommitted as I write this, sitting in the tree with the guard green above it. It goes in with the next commit, and after that the dash will need a reason to be here.