Discussion about this post

User's avatar
Sean Corfield's avatar

It's interesting that you mention shell prompts...

PS1="\n\[\e[34;1m\](\D{%F.%T})-(\w)\n\[\e[3\`if [[ \$? = 0 ]]; then echo 2; else echo 1; fi\`;1m\](!\!)-> \[\e[0m\]"

That shows (date.time)-(pwd) and (!history#)-> with the latter color-coded to green or red depending on the success of the previous command.

I tend to have at least four terminal windows open (plus whatever terminals I open in my editor), so being able to see at a glance when I last touched a terminal, where I am, and whether a command exited with 0 or not really helps me keep my bearings.

Overall, I agree with (mostly) keeping the core defaults for editors and so on -- if only so books and documentation (and AI helpers!) are all on the same page about how to drive your tools.

With Clojure, I think one thing that is core to productivity is figuring out a tight integration between your editor and the REPL, and also being able to do common things like running tests, all with easily memorized key bindings. I remember Stu Halloway talking about being bewildered by people who type directly into their REPL, or even copy'n'paste into their REPL, instead of having that evaluation hooked up directly to files and (comment ..) forms.

Expand full comment

No posts