Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lee-dohm/tabs-to-spaces

:atom: package for converting between tabs and spaces
https://github.com/lee-dohm/tabs-to-spaces

atom atom-package convert-leading-whitespace spaces tabs

Last synced: 14 days ago
JSON representation

:atom: package for converting between tabs and spaces

Awesome Lists containing this project

README

        

# Tabs to Spaces

[![Build Status](https://img.shields.io/travis/lee-dohm/tabs-to-spaces.svg)](https://travis-ci.org/lee-dohm/tabs-to-spaces)
[![Package Version](https://img.shields.io/apm/v/tabs-to-spaces.svg)](https://atom.io/packages/tabs-to-spaces)
[![Package Downloads](https://img.shields.io/apm/dm/tabs-to-spaces.svg)](https://atom.io/packages/tabs-to-spaces)
[![Dependency Status](https://img.shields.io/david/lee-dohm/tabs-to-spaces.svg)](https://david-dm.org/lee-dohm/tabs-to-spaces)

An Atom package for converting leading whitespace to either all spaces or all tabs.

## Usage

It can convert any form of leading whitespace to either all spaces (Untabify) or the maximum number of tabs and minimum number of spaces with tabs up front (Tabify) to fill the same space. It can also convert all tabs in a document to spaces (Untabify All).

It will also, with configuration, convert to your preferred method of leading whitespace on save.

### Commands

* `tabs-to-spaces:tabify` — Converts leading whitespace to tabs
* `tabs-to-spaces:untabify` — Converts leading whitespace to spaces
* `tabs-to-spaces:untabify-all` — Converts all whitespace on a line to spaces

### Configuration

Tabs to Spaces uses the following configuration values:

* `editor.tabLength` — sets the number of space characters a tab character is equivalent to
* `tabs-to-spaces.onSave` — if set to either `tabify` or `untabify` it performs that operation on save. :rotating_light: **Warning:** :rotating_light: Setting this to anything other than `none` can **significantly** impact performance when saving large files.

The package also supports language-specific configuration for the `onSave` setting. For example, the following configuration will tabify all file types on save except for JavaScript files:

```coffee
'*':
'tabs-to-spaces':
'onSave': 'tabify'
'.source.js':
'tabs-to-spaces':
'onSave': 'none'
```

No matter what `tabs-to-spaces.onSave` settings you configure, your `config.cson` will not be automatically tabified or untabified.

### Keybindings

Keybindings have not been set for this package. They can easily be added by referencing the commands listed above.

## License

[MIT](LICENSE.md)