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.