Phantomjs, casperjs and sublime text