4.0.0 • Published 11 years ago
hackfile v4.0.0
hackfile
Parser for the hackfile format
npm install hackfileFormat
The hackfile format is similar to a Makefile. There are two accepted formats:
{name}
{arg1}
{arg2}
...{name} {arg1}
{arg2}
{arg3}
...hackfiles can also be nested:
{name} {arg}
(indent){name} {arg}
(indent)(indent){arg}
(indent){arg}
...Usage
Assuming you have a hackfile that looks like this
foo bar
bar echo c
echo d
bat
echo e
echo f
echo g
baz echo a b c dThe following example
var hackfile = require('hackfile')
var fs = require('fs')
var parsed = hackfile(fs.readFileSync('hackfile', 'utf-8'))
console.log(parsed)Prints out
[ [ 'foo', [ 'bar' ] ],
[ 'bar', [ [ 'echo', [ 'c' ] ], [ 'echo', [ 'd' ] ] ] ],
[ 'bat', [ [ 'echo', [ 'e' ] ], [ 'echo', [ 'f' ] ], [ 'echo', [ 'g' ] ] ] ],
[ 'baz', [ [ 'echo', [ 'a b c d' ] ] ] ] ]Nested Example
hackfile input:
pipeline foo
pipe
echo hello
transform
cat
run echo
helloparser output:
[[
"pipeline", [
"foo", [
"pipe", [[
"echo", [
"hello"
]
],
"transform",
"cat"
]], [
"run", [
"echo",
"hello"
]]
]
]]License
MIT