sindresorhus / atom-editorconfig

Helps developers maintain consistent coding styles between different editors
https://atom.io/packages/editorconfig
MIT License
812 stars 80 forks source link

Support for Latin1 (fixed) #227

Closed jesteves closed 5 years ago

jesteves commented 5 years ago

Hello. EditorConfig supports charset Latin1 with setting charset = latin1 but Atom (1.30.0) does not recognize it like so. It has to be set as ISO 8859-1 (or Western (Windows 1252), actually).

I've implemented this fix:

diff -C5 orig/editorconfig/index.js .atom/packages/editorconfig/index.js
*** orig/editorconfig/index.js
--- .atom/packages/editorconfig/index.js
***************
*** 221,230 ****
--- 221,235 ----

        settings.charset = ('charset' in config) ?
            config.charset.replace(/-/g, '').toLowerCase() :
            'auto';

+       if (settings.charset === 'latin1') {
+           /* Atom knows nothing about Latin1... */
+           settings.charset = 'iso88591';
+       }
+
        ecfg.applySettings();
    }).catch(Error, e => {
        console.warn(`atom-editorconfig: ${e}`);
    });
  }

Hope you can consider it for merge.

Regards!

PS & disclaimer: ⚠️ I tried forking the project to make a pull request but I just found that v2.2.2 on GitHub is not the same v2.2.2 on atom.io. That is, the fork does not match what can be downloaded for installation...

Involved .editorconfig-files

root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
charset = latin1

Directory structure

Skipped.

Installed packages

Built-in Atom Packages (92)
├── atom-dark-syntax@0.29.0
├── atom-dark-ui@0.53.2
├── atom-light-syntax@0.29.0
├── atom-light-ui@0.46.2
├── base16-tomorrow-dark-theme@1.5.0
├── base16-tomorrow-light-theme@1.5.0
├── one-dark-ui@1.12.4
├── one-light-ui@1.12.4
├── one-dark-syntax@1.8.4
├── one-light-syntax@1.8.4
├── solarized-dark-syntax@1.1.5
├── solarized-light-syntax@1.1.5
├── about@1.10.0
├── archive-view@0.65.1
├── autocomplete-atom-api@0.10.7
├── autocomplete-css@0.17.5
├── autocomplete-html@0.8.4
├── autocomplete-plus@2.40.7
├── autocomplete-snippets@1.12.0
├── autoflow@0.29.4
├── autosave@0.24.6
├── background-tips@0.28.0
├── bookmarks@0.45.1
├── bracket-matcher@0.89.2
├── command-palette@0.43.5
├── dalek@0.2.2
├── deprecation-cop@0.56.9
├── dev-live-reload@0.48.1
├── encoding-selector@0.23.9
├── exception-reporting@0.43.1
├── find-and-replace@0.215.12
├── fuzzy-finder@1.8.2
├── github@0.18.3
├── git-diff@1.3.9
├── go-to-line@0.33.0
├── grammar-selector@0.50.1
├── image-view@0.63.0
├── incompatible-packages@0.27.3
├── keybinding-resolver@0.38.2
├── line-ending-selector@0.7.7
├── link@0.31.4
├── markdown-preview@0.159.20
├── metrics@1.6.1
├── notifications@0.70.5
├── open-on-github@1.3.1
├── package-generator@1.3.0
├── settings-view@0.255.0
├── snippets@1.3.3
├── spell-check@0.74.0
├── status-bar@1.8.15
├── styleguide@0.49.11
├── symbols-view@0.118.2
├── tabs@0.109.2
├── timecop@0.36.2
├── tree-view@0.222.0
├── update-package-dependencies@0.13.1
├── welcome@0.36.6
├── whitespace@0.37.6
├── wrap-guide@0.40.3
├── language-c@0.60.0
├── language-clojure@0.22.7
├── language-coffee-script@0.49.3
├── language-csharp@1.0.4
├── language-css@0.42.11
├── language-gfm@0.90.5
├── language-git@0.19.1
├── language-go@0.46.0
├── language-html@0.51.1
├── language-hyperlink@0.16.3
├── language-java@0.30.0
├── language-javascript@0.129.1
├── language-json@0.19.2
├── language-less@0.34.2
├── language-make@0.22.3
├── language-mustache@0.14.5
├── language-objective-c@0.15.1
├── language-perl@0.38.1
├── language-php@0.44.0
├── language-property-list@0.9.1
├── language-python@0.51.2
├── language-ruby@0.72.2
├── language-ruby-on-rails@0.25.3
├── language-sass@0.62.0
├── language-shellscript@0.27.0
├── language-source@0.9.0
├── language-sql@0.25.10
├── language-text@0.7.4
├── language-todo@0.29.4
├── language-toml@0.18.2
├── language-typescript@0.4.0
├── language-xml@0.35.2
└── language-yaml@0.32.0

Community Packages (19) /Users/julian/.atom/packages
├── Sublime-Style-Column-Selection@1.7.4
├── busy-signal@1.4.3
├── editorconfig@2.2.2
├── git-plus@8.1.0
├── git-time-machine@2.1.0
├── github-atom-dark-syntax@0.5.0
├── github-atom-light-syntax@0.5.0
├── intentions@1.1.5
├── linter@2.2.0
├── linter-perlcritic@2.1.0
├── linter-ui-default@1.7.1
├── merge-conflicts@1.4.5
├── minimap@4.29.8
├── monokai-slate@0.6.0
├── remote-ftp@2.2.0
├── remote-sync@4.1.8
├── seti-syntax@1.2.0
├── spacegray-dark-ui@0.13.0
└── split-diff@1.5.2
the-j0k3r commented 5 years ago

Why not submit a pull request instead?

Alhadis commented 5 years ago

Added, thanks! I also considered latin-1 or latin 1 (matched case-insensitively) as possible aliases too. 👍