Grammar | File Based | Selection Based | Required Package | Required in PATH | Notes |
---|---|---|---|---|---|
Assembly (NASM) | Yes | Yes | language-x86-64-assembly | nasm , binutils | |
1C (BSL) | Yes | language-1c-bsl | oscript | ||
Ansible | Yes | language-ansible | ansible-playbook | ||
AutoHotKey | Yes | Yes | language-autohotkey | AutoHotKey.exe | |
AppleScript | Yes | Yes | language-applescript | osascript | |
BabelES6 JS | Yes | Yes | language-babel | node | |
Bash | Yes | Yes | Runs if your SHELL or #! line is bash . | ||
Bats (Bash Automated Test System) | Yes | Yes | language-bats | bats | |
Windows Batch (cmd.exe ) | Yes | language-batch/file | |||
Behat | Yes | behat-atom | behat | ||
BuckleScript | Yes | Yes | bs-platform | bsc | |
C | Yes | Yes | xcrun clang /cc | Available only on macOS and Linux. | |
C# | Yes | Yes | csc.exe | ||
C# Script | Yes | Yes | scriptcs | ||
C++ | Yes | Yes | xcrun clang++ /g++ | Available only on macOS and Linux. Run with -std=c++14 . | |
Clojure | Yes | Yes | lein exec | Requires Leiningen with the lein-exec plugin. | |
CoffeeScript (Literate) | Yes | Yes | coffee | ||
Crystal | Yes | Yes | language-crystal-actual | crystal | |
Cucumber (Gherkin) | Yes | language-gherkin | cucumber | ||
D | Yes | Yes | language-d | rdmd | |
Dart | Yes | Yes | dartlang | dart | |
DOT (Graphviz) | Yes | Yes | language-dot | dot | |
Elixir | Yes | Yes | language-elixir | elixir | |
Erlang | Yes | language-erlang | erl | Limited selection based runs only (see #70). | |
F* | Yes | atom-fstar | fstar | ||
F# | Yes | language-fsharp | fsharpi /fsi.exe | ||
Fish | Yes | Yes | language-fish-shell | fish | |
Forth | Yes | language-forth | gforth | ||
Fortran | Yes | language-fortran | gfortran | ||
Gnuplot | Yes | language-gnuplot-atom | gnuplot | ||
Go | Yes | go | |||
Groovy | Yes | Yes | language-groovy | groovy | |
Haskell (Literate) | Yes | Yes | language-haskell | runhaskell /ghc | |
HTML | Yes | Opens the current HTML file in your default browser. | |||
Hy | Yes | Yes | language-hy | hy.exe | |
IcedCoffeeScript | Yes | Yes | language-iced-coffee-script | iced | |
Inno Setup | Yes | language-innosetup | ISCC.exe | ||
Idris | Yes | language-idris | idris | ||
io | Yes | Yes | atom-language-io | io | |
Java | Yes | *jdk1.x.x_xxbin | Project directory should be the source directory; subfolders imply packaging. | ||
Javascript | Yes | Yes | node | ||
JavaScript for Automation (JXA) | Yes | Yes | language-javascript-jxa | osascript -l JavaScript | Available on macOS only. |
Jolie | Yes | language-jolie | jolie | ||
Julia | Yes | Yes | language-julia | julia | |
Kotlin | Yes | Yes | language-kotlin | kotlinc | |
LAMMPS | Yes | language-lammps | lammps | Available only on macOS and Linux. | |
LaTeX | Yes | language-latex | latexmk | ||
LilyPond | Yes | atlilypond | lilypond | ||
Lisp | Yes | Yes | language-lisp | sbcl | Selection based runs are limited to a single line. |
LiveScript | Yes | Yes | language-livescript | lsc | |
Lua | Yes | Yes | language-lua[-wow] | lua | |
Makefile | Yes | Yes | |||
MATLAB | Yes | Yes | language-matlab | matlab | |
MIPS | Yes | language-mips | spim | ||
MongoDB | Yes | Yes | language-mongodb | mongo | |
MoonScript | Yes | Yes | language-moonscript | moon | |
NCL | Yes | Yes | language-ncl | ncl | Scripts must end with an exit command for file based runs. |
newLISP | Yes | Yes | language-newlisp | newlisp | |
Nim[Script] | Yes | language-nim | nim | ||
NSIS | Yes | Yes | language-nsis | makensis | |
Objective-C[++] | Yes | xcrun clang [++ ] | Available on macOS only. | ||
OCaml | Yes | language-ocaml | ocaml | ||
Octave | Yes | Yes | language-matlab | octave | |
Oz | Yes | Yes | language-oz | ozc | |
Pandoc Markdown | Yes | language-pfm | panzer | ||
Pascal | Yes | Yes | language-pascal | fpc | |
Perl | Yes | Yes | |||
PHP | Yes | Yes | |||
PostgreSQL | Yes | Yes | language-pgsql | psql | Connects as user PGUSER to database PGDATABASE . Both default to your operating system's USERNAME , but can be set in the process environment or in Atom's init file: process.env.PGUSER = {user name} and process.env.PGDATABASE = {database name} |
POV-Ray | Yes | atom-language-povray | povengine /povray | ||
PowerShell | Yes | Yes | language-powershell | powershell | |
Processing | Yes | processing-language | processing-java | ||
Prolog | Yes | language-prolog | swipl | Scripts must contain a rule with the head main (e.g.main:- parent(X,lucas),writeln(X). ). The script is executed with the goal main and exits after the first result is found. The output is produced by the writeln/1 predicates. | |
PureScript | Yes | language-purescript | pulp | ||
Python | Yes | Yes | |||
R | Yes | Yes | language-r | Rscript | |
Racket | Yes | Yes | language-racket | racket | |
Raku | Yes | Yes | raku | ||
Reason | Yes | Yes | language-reason | rebuild | |
Ren'Py | Yes | No | language-renpy | renpy | Runs your project at the root of the current file. |
Robot Framework | Yes | No | language-robot-framework | robot | The output location depends on the CWD behaviour which can be altered in settings. |
RSpec | Yes | Yes | language-rspec | rspec | |
Ruby | Yes | Yes | |||
Ruby on Rails | Yes | Yes | |||
Rust | Yes | language-rust | rustc | ||
Sage | Yes | Yes | language-sage | sage | |
Sass/SCSS | Yes | sass | |||
Scala | Yes | Yes | language-scala | scala | |
Scheme | Yes | Yes | langauge-scheme | guile | |
Shell Script | Yes | Yes | SHELL | Runs according to your default SHELL , or #! line. | |
Standard ML | Yes | language-sml | sml | ||
Stata | Yes | Yes | language-stata | stata | |
Swift | Yes | language-swift | swift | ||
Tcl | Yes | Yes | language-tcltk | tclsh | |
TypeScript | Yes | Yes | ts-node | ||
VBScript | Yes | Yes | language-vbscript | cscript | |
Zsh | Yes | Yes | Runs if your SHELL or #! line is zsh . |
apm install script
script
within package search in the Settings View.atom
from the command line to get full access to your environment variables. Running Atom from the icon will launch using launchctl's environment.VARIABLE_NAME_ONE=value;VARIABLE_NAME_TWO='other value';VARIABLE_NAME_3='test'
.python2.7
and another for python3
and run scripts with a specified profile, which will be more convinient than entering options every time you want to switch python versions.Atom→Preferences→Open Config Folder
. Then, you can use the tree-view to navigate to and open packages→script→lib→grammar→python.js
to make your edits. It is also possible to directly edit the code under .atom/packages/script/lib/grammars/python.js
Command | macOS | Linux/Windows | Notes |
---|---|---|---|
Script: Run | cmd-i | shift-ctrl-b | If text is selected a 'Selection Based' is used instead of a 'File Based' run |
Script: Run by Line Number | shift-cmd-j | shift-ctrl-j | If text is selected the line number will be the last |
Script: Run Options | shift-cmd-i | shift-ctrl-alt-o | Runs the selection or whole file with the given options |
Script: Run with profile | shift-cmd-k | shift-ctrl-alt-b | Runs the selection or whole file with the specified profile |
Script: Close View | esc or ctrl-w | esc | Closes the script view window |
Script: Kill Process | ctrl-c | ctrl-q | Kills the current script process |
args
(command and program arguments). They should all be enclosed in curly brackets {}
{FILE_ACTIVE}
- Full path to the currently active file in Atom. E.g. /home/rgbkrk/atom-script/lib/script.coffee
{FILE_ACTIVE_PATH}
- Full path to the folder where the currently active file is. E.g. /home/rgbkrk/atom-script/lib
{FILE_ACTIVE_NAME}
- Full name and extension of active file. E.g., script.coffee
{FILE_ACTIVE_NAME_BASE}
- Name of active file WITHOUT extension. E.g., script
{PROJECT_PATH}
- Full path to the root of the project. This is normally the path Atom has as root. E.g /home/rgbkrk/atom-script
atom-build
package.apm develop script
script
repository to ~/github
unless you set theATOM_REPOS_HOME
environment variable.apm link --dev
within thepackage directory, followed by apm install
to get dependencies.apm update
.atom --dev
from the package directory.Cut a branch while you're working then either submit a Pull Request when doneor when you want some feedback!