diff --git a/README.md b/README.md index edbcabb..4b60efd 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,8 @@ Or Settings/Preferences ➔ Packages ➔ Search for `atom-beautify` - Requires [stylish-haskell](https://github.com/jaspervdj/stylish-haskell) - [x] [Elm](https://github.com/Glavin001/atom-beautify/pull/700) - Requires [Elm-Format](https://github.com/avh4/elm-format) +- [x] [Erlang](https://github.com/Glavin001/atom-beautify/pull/683) + - Requires erlang syntax_tools to be installed ## Usage diff --git a/src/beautifiers/erl_tidy.coffee b/src/beautifiers/erl_tidy.coffee new file mode 100644 index 0000000..1bf4076 --- /dev/null +++ b/src/beautifiers/erl_tidy.coffee @@ -0,0 +1,26 @@ +### +Requires https://github.com/hhatto/autopep8 +### + +"use strict" +Beautifier = require('./beautifier') + +module.exports = class ErlTidy extends Beautifier + + name: "erl_tidy" + + options: { + Erlang: true + } + + beautify: (text, language, options) -> + tempFile = undefined + @tempFile("input", text).then((path) => + tempFile = path + @run("erl", [ + ["-eval", 'erl_tidy:file("' + tempFile + '")'] + ["-noshell", "-s", "init", "stop"] + ]) + ).then(=> + @readFile(tempFile) + ) diff --git a/src/beautifiers/index.coffee b/src/beautifiers/index.coffee index da3dce7..d1bbc77 100644 --- a/src/beautifiers/index.coffee +++ b/src/beautifiers/index.coffee @@ -58,6 +58,7 @@ module.exports = class Beautifiers extends EventEmitter 'tidy-markdown' 'typescript-formatter' 'yapf' + 'erl_tidy' ] ### diff --git a/src/languages/erlang.coffee b/src/languages/erlang.coffee new file mode 100644 index 0000000..28995ab --- /dev/null +++ b/src/languages/erlang.coffee @@ -0,0 +1,21 @@ +module.exports = { + + name: "Erlang" + namespace: "erlang" + fallback: [] + + ### + Supported Grammars + ### + grammars: [ + "Erlang" + ] + + ### + Supported extensions + ### + extensions: ['erl'] + + options: [] + +} diff --git a/src/languages/index.coffee b/src/languages/index.coffee index 895b5b2..aacbc31 100644 --- a/src/languages/index.coffee +++ b/src/languages/index.coffee @@ -23,6 +23,7 @@ module.exports = class Languages "ejs" "elm" "erb" + "erlang" "gherkin" "go" "fortran"