Mezomish/juffed — pull request #59 by cessen (2013-10-26 19:47:02+00:00)
Title: Per-document indentation settings

I've changed JuffEd so that "replace tabs with spaces" and "tabstop width" are per-document settings, with a convenient menu for changing them on the right side of the status bar next to the line-endings menu. This allows the user to e.g. have C/C++, Python, and Html documents open simultaneously, with appropriate indentation settings for each. This can be important for working on multi-language source bases.

The editor-wide settings for "replace tabs with spaces" and "tabstop width" still exist, but are now used as defaults for creating and opening documents.

For further user convenience, I've also added the ability for JuffEd to auto-detect the indentation settings of a document when opening it, based on the contents of the document. The algorithm used, while not completely fool-proof, is pretty robust, and typically only fails in cases where the indentation style is inconsistent anyway. This frees the user from having to remember to manually change indentation settings after opening a document that does not match the indentation defaults. This auto-detection feature is optional, and can be disabled in the editor settings. It is enabled by default.