diff --git a/bin/mac/Brackets.app/Contents/MacOS/Brackets b/bin/mac/Brackets.app/Contents/MacOS/Brackets index 3456d1a..2deb570 100755 Binary files a/bin/mac/Brackets.app/Contents/MacOS/Brackets and b/bin/mac/Brackets.app/Contents/MacOS/Brackets differ diff --git a/bin/mac/Brackets.app/Contents/MacOS/ffmpegsumo.so b/bin/mac/Brackets.app/Contents/MacOS/ffmpegsumo.so index 0a94b8f..30bd8c2 100755 Binary files a/bin/mac/Brackets.app/Contents/MacOS/ffmpegsumo.so and b/bin/mac/Brackets.app/Contents/MacOS/ffmpegsumo.so differ diff --git a/bin/mac/Brackets.app/Contents/MacOS/libcef.dylib b/bin/mac/Brackets.app/Contents/MacOS/libcef.dylib index 74543e9..7f9862d 100755 Binary files a/bin/mac/Brackets.app/Contents/MacOS/libcef.dylib and b/bin/mac/Brackets.app/Contents/MacOS/libcef.dylib differ diff --git a/bin/mac/Brackets.app/Contents/Resources/brackets_extensions.js b/bin/mac/Brackets.app/Contents/Resources/brackets_extensions.js index 28d3f77..4453b83 100644 --- a/bin/mac/Brackets.app/Contents/Resources/brackets_extensions.js +++ b/bin/mac/Brackets.app/Contents/Resources/brackets_extensions.js @@ -118,6 +118,16 @@ if (!brackets.fs) brackets.fs.readdir = function(path, callback) { native function ReadDir(); var resultString = ReadDir(path); + + // File paths can have special characters, so escape them before parsing to JSON + resultString = resultString.replace(/\r/g, "\\r") + .replace(/\n/g, "\\n") + .replace(/\&/g, "\\&") + .replace(/\'/g, "\\'") + .replace(/\t/g, "\\t") + //.replace(/\b/g, "\\b") \\ TODO: leaving this in screws up Brackets launch. I don't know why + .replace(/\f/g, "\\f"); + var result = JSON.parse(resultString || '[]'); callback(getLastError(), result); }; diff --git a/src/mac/Resources/brackets_extensions.js b/src/mac/Resources/brackets_extensions.js index 7dab854..4453b83 100644 --- a/src/mac/Resources/brackets_extensions.js +++ b/src/mac/Resources/brackets_extensions.js @@ -118,7 +118,16 @@ if (!brackets.fs) brackets.fs.readdir = function(path, callback) { native function ReadDir(); var resultString = ReadDir(path); - console.log( resultString ); + + // File paths can have special characters, so escape them before parsing to JSON + resultString = resultString.replace(/\r/g, "\\r") + .replace(/\n/g, "\\n") + .replace(/\&/g, "\\&") + .replace(/\'/g, "\\'") + .replace(/\t/g, "\\t") + //.replace(/\b/g, "\\b") \\ TODO: leaving this in screws up Brackets launch. I don't know why + .replace(/\f/g, "\\f"); + var result = JSON.parse(resultString || '[]'); callback(getLastError(), result); };