Strip Whitespace On Save
TextMate 2 bundle: Strips trailing whitespace from current document when saving. Works nicely with my Save On Focus Lost bundle.
- If you need whitespace highlighting, check Mads Hartmann's superb Whitespace bundle.
- If you happen to need new lines at EOF, then check Mike Szyndel's Ensure New Line at the EOF bundle, which is based on mine.
- Clone the git repo to
- Relaunch TextMate 2
Customizing the bundle is easy.
Suppose you want to avoid stripping white space on some specific files (like CSV and YAML). Just add the following to your
[*.csv] scopeAttributes = attr.keep-whitespace [*.yml] scopeAttributes = attr.keep-whitespace
If you wanted to preserve whitespace for that messed-up whitespace project of yours, just drop this in its
scopeAttributes = attr.keep-whitespace
Of course, you can combine those two approaches for complete control over whitespace-stripping!
If you want to know which scope corresponds to each language, just hit ^⇧P (Show Scope) on a document of that type, and you'll get a nice tooltip with the scope namespaces that apply at the current cursor's position.
If you can't (or don't want to) use
.tm_properties files, just open the Bundle Editor (Bundles menu ▶︎ Edit Bundles... or pressing ^⌥⌘B) and add
-text.tabular.csv in the command's Scope Selector field:
To exclude multiple file types, just add
(space)-scope.namespace. For example, to exclude CSV and YAML, write:
To work only on specific file types, use the namespace only, without the minus sign (e.g., to strip only CSV files, write
To include multiple file types, just add them separated by comma (i.e:
text.tabular.csv, source.yaml, text.html.markdown).
You need to be using at least TextMate version 2.0.0-alpha.9317.
To get the most recent nightly build, open Preferences ▶︎ Software Update and ⌥-click the "Check Now" button . This will grab the latest version, rather than the one you get by just clicking the button.