Skip to content

Commit

Permalink
fixed the parse test, broke the op tests
Browse files Browse the repository at this point in the history
  • Loading branch information
James Halliday committed Jun 24, 2013
1 parent de9e0a5 commit 74d6686
Showing 1 changed file with 6 additions and 7 deletions.
13 changes: 6 additions & 7 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ var CONTROL = '(?:' + [
'\\|\\|', '\\&\\&', ';;', '\\|\\&', '[&;()|<>]'
].join('|') + ')';
var META = '|&;()<> \\t';
var BAREWORD = '(\\\\[' + META + ']|[^\\s' + META + '])+';
var SINGLE_QUOTE = '[^\\s\'"]*(")((\\\\"|[^"])*?)"[^\\s\'"]*';
var DOUBLE_QUOTE = '[^\\s\'"]*(\')((\\\\\'|[^\'])*?)\'[^\\s\'"]*';
var BAREWORD = '(\\\\[\'"' + META + ']|[^\\s\'"' + META + '])+';
var SINGLE_QUOTE = '"((\\\\"|[^"])*?)"';
var DOUBLE_QUOTE = '\'((\\\\\'|[^\'])*?)\'';

var TOKEN = '';
for (var i = 0; i < 4; i++) {
Expand All @@ -46,12 +46,11 @@ exports.parse = function (s, env) {

function parse (s, env) {
var chunker = new RegExp([
SINGLE_QUOTE,
DOUBLE_QUOTE,
BAREWORD,
'(' + BAREWORD + '|' + SINGLE_QUOTE + '|' + DOUBLE_QUOTE + ')*',
'(' + CONTROL + ')' // control chars
].join('|'), 'g');
var match = s.match(chunker);
var match = s.match(chunker).filter(Boolean);

if (!match) return [];
if (!env) env = {};
return match.map(function (s) {
Expand Down

0 comments on commit 74d6686

Please sign in to comment.