From e84ee4332f03844219da9c3f65e8ddc10be43ced Mon Sep 17 00:00:00 2001 From: Benjie Gillam Date: Mon, 27 Nov 2017 14:22:05 +0000 Subject: [PATCH] Add support for linting GraphQL with ESLint --- README.md | 2 +- ale_linters/graphql/eslint.vim | 9 +++++++++ doc/ale-graphql.txt | 3 +++ doc/ale.txt | 3 ++- 4 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 ale_linters/graphql/eslint.vim diff --git a/README.md b/README.md index 9715409b..c5f63f34 100644 --- a/README.md +++ b/README.md @@ -102,7 +102,7 @@ formatting. | FusionScript | [fusion-lint](https://github.com/RyanSquared/fusionscript) | | GLSL | [glslang](https://github.com/KhronosGroup/glslang) | | Go | [gofmt](https://golang.org/cmd/gofmt/), [goimports](https://godoc.org/golang.org/x/tools/cmd/goimports), [go vet](https://golang.org/cmd/vet/), [golint](https://godoc.org/github.com/golang/lint), [gometalinter](https://github.com/alecthomas/gometalinter) !!, [go build](https://golang.org/cmd/go/) !!, [gosimple](https://github.com/dominikh/go-tools/tree/master/cmd/gosimple) !!, [staticcheck](https://github.com/dominikh/go-tools/tree/master/cmd/staticcheck) !! | -| GraphQL | [gqlint](https://github.com/happylinks/gqlint) | +| GraphQL | [eslint](http://eslint.org/), [gqlint](https://github.com/happylinks/gqlint) | | Haml | [haml-lint](https://github.com/brigade/haml-lint) | | Handlebars | [ember-template-lint](https://github.com/rwjblue/ember-template-lint) | | Haskell | [ghc](https://www.haskell.org/ghc/), [stack-ghc](https://haskellstack.org/), [stack-build](https://haskellstack.org/) !!, [ghc-mod](https://github.com/DanielG/ghc-mod), [stack-ghc-mod](https://github.com/DanielG/ghc-mod), [hlint](https://hackage.haskell.org/package/hlint), [hdevtools](https://hackage.haskell.org/package/hdevtools), [hfmt](https://github.com/danstiner/hfmt) | diff --git a/ale_linters/graphql/eslint.vim b/ale_linters/graphql/eslint.vim new file mode 100644 index 00000000..dfcbf9d9 --- /dev/null +++ b/ale_linters/graphql/eslint.vim @@ -0,0 +1,9 @@ +" Author: Benjie Gillam +" Description: eslint for GraphQL files + +call ale#linter#Define('graphql', { +\ 'name': 'eslint', +\ 'executable_callback': 'ale#handlers#eslint#GetExecutable', +\ 'command_callback': 'ale#handlers#eslint#GetCommand', +\ 'callback': 'ale#handlers#eslint#Handle', +\}) diff --git a/doc/ale-graphql.txt b/doc/ale-graphql.txt index 5ceb5ca7..a3b93810 100644 --- a/doc/ale-graphql.txt +++ b/doc/ale-graphql.txt @@ -2,6 +2,9 @@ ALE GraphQL Integration *ale-graphql-options* +=============================================================================== +eslint *ale-graphql-eslint* + =============================================================================== gqlint *ale-graphql-gqlint* diff --git a/doc/ale.txt b/doc/ale.txt index 0b8a0c55..d1afb423 100644 --- a/doc/ale.txt +++ b/doc/ale.txt @@ -74,6 +74,7 @@ CONTENTS *ale-contents* gofmt...............................|ale-go-gofmt| gometalinter........................|ale-go-gometalinter| graphql...............................|ale-graphql-options| + eslint..............................|ale-graphql-eslint| gqlint..............................|ale-graphql-gqlint| handlebars............................|ale-handlebars-options| ember-template-lint.................|ale-handlebars-embertemplatelint| @@ -294,7 +295,7 @@ Notes: * FusionScript: `fusion-lint` * GLSL: glslang * Go: `gofmt`, `goimports`, `go vet`, `golint`, `gometalinter`!!, `go build`!!, `gosimple`!!, `staticcheck`!! -* GraphQL: `gqlint` +* GraphQL: `eslint`, `gqlint` * Haml: `haml-lint` * Handlebars: `ember-template-lint` * Haskell: `ghc`, `stack-ghc`, `stack-build`!!, `ghc-mod`, `stack-ghc-mod`, `hlint`, `hdevtools`, `hfmt`