Hi,
I just found out (quite a rookie in build systems) how the command is passed to the OS. Its just a concatenation of the elements in the array, separated by spaces. This means you can enter multiple commands, with a separator that your OS understands. For instance for the windows CMD screen, its an & (or a && and only continues with the next command if the previous succeeded. See also microsoft.com/resources/docu … x?mfr=true , its for XP but worked for me in 7.)
The code below sends the line
to the windows shell.
In linux you can use the ‘;’ to separate commands.
Note: For windows you need to set shell to true for this to work. Not sure is this also needed for other OS. Below is an example for LaTex in Windows (assuming in the PATH has pdflatex, bibtex and sumatrapdf set.)
{
"selector": "text.tex.latex",
"working_dir":"$file_path",
"shell":true,
"windows":
{
"cmd":"pdflatex","$file_base_name","&","bibtex","$file_base_name","&","bibtex","$file_base_name","&","pdflatex","$file_base_name","&","pdflatex","$file_base_name","&","sumatrapdf", "$file_base_name.pdf"]
}
}
So your example would be
[code]
“selector”: “source.sass”,
“shell”:true,
“windows”:
{
“cmd”:{“open”, “-a”, “/Applications/Firefox.app”,"&“compass”, “compile”, “$file_path/…”,"&",“csslint”, “$file_path/…/assets/css/”}
},
//Not sure if “linux” works
“linux”:
{
“cmd”:{“open”, “-a”, “/Applications/Firefox.app”,";“compass”, “compile”, “$file_path/…”,";",“csslint”, “$file_path/…/assets/css/”}
}[/code]
Hope this helps!