diff --git a/src/diff-parser.js b/src/diff-parser.js index 5911db35..a8baa96d 100644 --- a/src/diff-parser.js +++ b/src/diff-parser.js @@ -119,6 +119,29 @@ }; var diffLines = diffInput.split('\n'); + + /* Diff */ + var oldMode = /^old mode (\d{6})/; + var newMode = /^new mode (\d{6})/; + var deletedFileMode = /^deleted file mode (\d{6})/; + var newFileMode = /^new file mode (\d{6})/; + + var copyFrom = /^copy from (.+)/; + var copyTo = /^copy to (.+)/; + + var renameFrom = /^rename from (.+)/; + var renameTo = /^rename to (.+)/; + + var similarityIndex = /^similarity index (\d+)%/; + var dissimilarityIndex = /^dissimilarity index (\d+)%/; + var index = /^index ([0-9a-z]+)..([0-9a-z]+) (\d{6})?/; + + /* Combined Diff */ + var combinedIndex = /^index ([0-9a-z]+),([0-9a-z]+)..([0-9a-z]+)/; + var combinedMode = /^mode (\d{6}),(\d{6})..(\d{6})/; + var combinedNewFile = /^new file mode (\d{6})/; + var combinedDeletedFile = /^deleted file mode (\d{6}),(\d{6})/; + diffLines.forEach(function(line) { // Unmerged paths, and possibly other non-diffable files // https://github.com/scottgonzalez/pretty-diff/issues/11 @@ -127,28 +150,6 @@ return; } - /* Diff */ - var oldMode = /^old mode (\d{6})/; - var newMode = /^new mode (\d{6})/; - var deletedFileMode = /^deleted file mode (\d{6})/; - var newFileMode = /^new file mode (\d{6})/; - - var copyFrom = /^copy from (.+)/; - var copyTo = /^copy to (.+)/; - - var renameFrom = /^rename from (.+)/; - var renameTo = /^rename to (.+)/; - - var similarityIndex = /^similarity index (\d+)%/; - var dissimilarityIndex = /^dissimilarity index (\d+)%/; - var index = /^index ([0-9a-z]+)..([0-9a-z]+) (\d{6})?/; - - /* Combined Diff */ - var combinedIndex = /^index ([0-9a-z]+),([0-9a-z]+)..([0-9a-z]+)/; - var combinedMode = /^mode (\d{6}),(\d{6})..(\d{6})/; - var combinedNewFile = /^new file mode (\d{6})/; - var combinedDeletedFile = /^deleted file mode (\d{6}),(\d{6})/; - var values = []; if (utils.startsWith(line, 'diff')) { startFile();