diff --git a/mode/sas/sas.js b/mode/sas/sas.js index e88744be277f87d0b5c9608a4c25f923c0292dc4..9ec22d5fa5e05a5b13b42b2d2a9130266518f409 100755 --- a/mode/sas/sas.js +++ b/mode/sas/sas.js @@ -137,11 +137,13 @@ stream.next(); return 'comment'; } - } else if (ch === '"' || ch === "'") { - state.continueString = state.continueString == ch ? null : ch + } else if ((ch === '"' || ch === "'") && !state.continueString) { + state.continueString = ch return "string" - } else if (state.continueString !== null) { - if (stream.skipTo(state.continueString)) { + } else if (state.continueString) { + if (state.continueString == ch) { + state.continueString = null; + } else if (stream.skipTo(state.continueString)) { // quote found on this line stream.next(); state.continueString = null;