diff --git a/README.md b/README.md index d3032da0..d14224d4 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ Currently supported grammars are: | [Erlang] | | Yes | [language-erlang] | `erl` | Limited selection based runs only (see [#70]). | | [F*] | Yes | | [atom-fstar] | `fstar` | | | [F#] | Yes | | [language-fsharp] | `fsharpi`/`fsi.exe` | | +| [Factor] | Yes | | [language-factor] | `factor` | | | [Fish] | Yes | Yes | [language-fish-shell] | `fish` | | | [Forth] | Yes | | [language-forth] | `gforth` | | | [Fortran] | Yes | | [language-fortran] | [`gfortran`] | | @@ -156,6 +157,7 @@ Currently supported grammars are: [es6]: https://babeljs.io/learn-es2015 [f*]: https://fstar-lang.org [f#]: http://fsharp.org +[factor]: https://factorcode.org/ [file]: https://atom.io/packages/language-batchfile [fish]: https://fishshell.com [forth]: https://gnu.org/software/gforth @@ -189,6 +191,7 @@ Currently supported grammars are: [language-dot]: https://atom.io/packages/language-dot [language-elixir]: https://atom.io/packages/language-elixir [language-erlang]: https://atom.io/packages/language-erlang +[language-factor]: https://atom.io/packages/language-factor [language-fish-shell]: https://atom.io/packages/language-fish-shell [language-forth]: https://atom.io/packages/language-forth [language-fortran]: https://atom.io/packages/language-fortran diff --git a/lib/grammars.js b/lib/grammars.js index 3ded67de..17e08d2d 100644 --- a/lib/grammars.js +++ b/lib/grammars.js @@ -7,6 +7,7 @@ import c from "./grammars/c" import coffeescript from "./grammars/coffeescript" import database from "./grammars/database" import doc from "./grammars/doc" +import factor from "./grammars/factor" import fortran from "./grammars/fortran" import haskell from "./grammars/haskell" import * as java from "./grammars/java" @@ -29,6 +30,7 @@ const Grammars = { ...coffeescript, ...database, ...doc, + ...factor, ...fortran, ...haskell, ...java, diff --git a/lib/grammars/factor.js b/lib/grammars/factor.js new file mode 100644 index 00000000..8ee2e060 --- /dev/null +++ b/lib/grammars/factor.js @@ -0,0 +1,19 @@ +"use babel" + +const Factor = { + "Selection Based": { + command: "factor", + args({ selection }) { + return ["-e=<< USE: parser auto-use >> " + selection.getText()] + }, + }, + + "File Based": { + command: "factor", + args({ filepath }) { + return [filepath] + }, + }, +} + +export default { Factor }