Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/jfcherng-sublime/ST-AutoSetIndentation

❌ [Deprecated] This plugin automatically detects and sets the indentation for you, by default, when a file is loaded.
https://github.com/jfcherng-sublime/ST-AutoSetIndentation

indent indentation sublime-text

Last synced: 15 days ago
JSON representation

❌ [Deprecated] This plugin automatically detects and sets the indentation for you, by default, when a file is loaded.

Awesome Lists containing this project

README

        

# ❌ [Deprecated] ST-AutoSetIndentation

[![Travis (.org) branch](https://img.shields.io/travis/jfcherng-sublime/ST-AutoSetIndentation/master?style=flat-square)](https://travis-ci.org/jfcherng-sublime/ST-AutoSetIndentation)
[![Package Control](https://img.shields.io/packagecontrol/dt/AutoSetIndentation?style=flat-square)](https://packagecontrol.io/packages/AutoSetIndentation)
[![GitHub tag (latest SemVer)](https://img.shields.io/github/tag/jfcherng-sublime/ST-AutoSetIndentation?style=flat-square&logo=github)](https://github.com/jfcherng-sublime/ST-AutoSetIndentation/tags)
[![Project license](https://img.shields.io/github/license/jfcherng-sublime/ST-AutoSetIndentation?style=flat-square&logo=github)](https://github.com/jfcherng-sublime/ST-AutoSetIndentation/blob/master/LICENSE)
[![GitHub stars](https://img.shields.io/github/stars/jfcherng-sublime/ST-AutoSetIndentation?style=flat-square&logo=github)](https://github.com/jfcherng-sublime/ST-AutoSetIndentation/stargazers)
[![Donate to this project using Paypal](https://img.shields.io/badge/paypal-donate-blue.svg?style=flat-square&logo=paypal)](https://www.paypal.me/jfcherng/5usd)

This Sublime Text 3 plugin automatically detects and sets the indentation for you, by default, when a file is loaded.

## Important Notice

As of Sublime Text 4, the dev team has been use test cases from this plugin
to improve the built-in indentation detection and it works quite well.
So, you probably no longer needs this plugin in Sublime Text 4.

## Why Do I Make This

Sublime Text detects the indentation when a file is loaded
if `detect_indentation` is set to `true`, which is the default settings.

However, its detection is wrong sometimes.
You could give following cases a try!

- Files under the [problem_files/](https://github.com/jfcherng-sublime/ST-AutoSetIndentation/tree/master/problem_files)
- https://forum.sublimetext.com/t/detect-indentation-with-3-spaces-is-broken/45143
- https://github.com/SublimeTextIssues/Core/issues/1459
- https://github.com/SublimeTextIssues/Core/issues/1640

I find that [Indent Finder](http://www.freehackers.org/Indent_Finder) detects
above files correctly so I make it into this plugin.

## Notes

- Abbreviations

- ST = Sublime Text
- ASI = AutoSetIndentation (this plugin)

- ASI respects indentation settings from `.editorconfig` files.

- If you don't want to replace ST's `detect_indentation` command with ASI's,
set the plugin setting `hijack_st_detect_indentation` to `false`.

- Even if `hijack_st_detect_indentation` is set to `true` by default, ST will
still detects the indentation internally before ASI is ready to work.
After that, ASI will detects the indentation **again**
hence ST's result will be overridden but the detection is done **twice**.
Therefore, you may want to set `detect_indentation` to `false` to skip ST's.

## Installation

This package is available on Package Control by the name of
[AutoSetIndentation](https://packagecontrol.io/packages/AutoSetIndentation).

## Settings

To edit settings, go to `Preferences` » `Package Settings` » `AutoSetIndentation` » `Settings`.

I think the [settings file](https://github.com/jfcherng-sublime/ST-AutoSetIndentation/blob/master/AutoSetIndentation.sublime-settings)
is self-explanatory. But if you still have questions, feel free to open an issue.

## Commands

You may disable all `event_listeners` in your user settings
and add a key binding to auto set the indentation whenever you want.

```javascript
{ "keys": ["ctrl+alt+s", "ctrl+alt+i"], "command": "auto_set_indentation" },
```

## Acknowledgment

- [editorconfig](https://github.com/editorconfig/editorconfig-core-py)
- [Indent Finder](http://www.freehackers.org/Indent_Finder)