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

Add feature to Lint .editorconfig file #236

Closed elarivie closed 4 years ago

elarivie commented 4 years ago

To make the maintainer's life easier, I...

This pull request adds linting feature when editing .editorconfig file.

fixes #141


IssueHunt Summary ### Referenced issues This pull request has been submitted to: - [#141: Notify user about malformed editorconfig-files](https://issuehunt.io/repos/17411980/issues/141) --- IssueHunt has been backed by the following sponsors. [Become a sponsor](https://issuehunt.io/membership/members)
elarivie commented 4 years ago

This is what it looks like in action:

image

Alhadis commented 4 years ago

Personally, I'd avoid making linter a package dependency. Simply providing the service should be enough: if users have linter installed, they'll see messages whilst editing .editorconfig files. Those who don't are greeted with a nag screen at startup asking them to install linter, intentions, linter-ui-default, and busy-signal. For a package that only uses the .editorconfig format indirectly, it's pretty overkill and even a little disruptive.

I recommend the following changes. Do this and we can merge. 👍 Don't forget to regenerate the package-lock.json file (run npm i --package-lock-only to update it manually if you need to).

diff --git a/index.js b/index.js
index 1c85cf4..e182e82 100644
--- a/index.js
+++ b/index.js
@@ -388,8 +388,6 @@ module.exports = {
            this.disposables.dispose();
        }

-       require('atom-package-deps').install('editorconfig');
-
        this.disposables = new CompositeDisposable(
            atom.commands.add('atom-workspace', {
                'EditorConfig:fix-file': () => {
diff --git a/package.json b/package.json
index 429035e..d420f9c 100644
--- a/package.json
+++ b/package.json
@@ -27,17 +27,12 @@
    "atomTestRunner": "atom-mocha",
    "dependencies": {
        "editorconfig": "^0.15.3",
-       "mapped-disposable": "^1.0.3",
-       "atom-linter": "^10.0.0",
-       "atom-package-deps": "^5.0.0"
+       "mapped-disposable": "^1.0.3"
    },
    "devDependencies": {
        "atom-mocha": "^2.2.0",
        "xo": "^0.24.0"
    },
-   "package-deps": [
-       "linter"
-   ],
    "xo": {
        "globals": [
            "AtomMocha",