Alright, I see what you're doing here and it's clever: the way you want to enable/disable strip trailing is by dynamically updating the user config to add and remove the handler command, correct? That works, but has one drawback: the inability to override this setting on a per-project (in `/zedconfig.json`) or per-mode basis (perhaps you always want strip trailing spaces in Go mode, but not in Python mode). For this reason (and also because I didn't think of doing it the way you implement it here) I've used preferences. That means that your strip whitespace command would always be called, but it would simply do nothing if the preference is set to `false`. There's _some_ overhead there, but it's pretty minor.

What do you think?