From f9fd365215485c0cde299d086fdf3669c7129caf Mon Sep 17 00:00:00 2001 From: steveluc Date: Mon, 2 Mar 2015 16:31:51 -0800 Subject: [PATCH] Added logic to handle requests for changes past the end of the buffer. --- src/server/editorServices.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/server/editorServices.ts b/src/server/editorServices.ts index 49a1ac4784c..5c85cfcaac5 100644 --- a/src/server/editorServices.ts +++ b/src/server/editorServices.ts @@ -1259,7 +1259,7 @@ module ts.server { getText(rangeStart: number, rangeLength: number) { var accum = ""; - if (rangeLength > 0) { + if ((rangeLength > 0) && (rangeStart < this.root.charCount())) { this.walk(rangeStart, rangeLength, { goSubtree: true, done: false, @@ -1322,14 +1322,14 @@ module ts.server { } else if (pos >= this.root.charCount()) { // insert at end - var endString = this.getText(pos - 1, 1); + pos = this.root.charCount() - 1; + var endString = this.getText(pos, 1); if (newText) { newText = endString + newText; } else { newText = endString; } - pos = pos - 1; deleteLength = 0; walker.suppressTrailingText = true; }