diff --git a/package.json b/package.json index be2fc9817..4cc3964e6 100644 --- a/package.json +++ b/package.json @@ -102,7 +102,7 @@ "keybinding-resolver": "0.33.0", "line-ending-selector": "0.3.0", "link": "0.31.0", - "markdown-preview": "0.156.0", + "markdown-preview": "0.156.1", "metrics": "0.53.0", "notifications": "0.61.0", "open-on-github": "0.39.0", @@ -132,7 +132,7 @@ "language-html": "0.42.0", "language-hyperlink": "0.15.0", "language-java": "0.16.1", - "language-javascript": "0.98.0", + "language-javascript": "0.100.0", "language-json": "0.17.1", "language-less": "0.28.3", "language-make": "0.19.0", diff --git a/spec/tokenized-buffer-spec.coffee b/spec/tokenized-buffer-spec.coffee index e87125195..9864acff0 100644 --- a/spec/tokenized-buffer-spec.coffee +++ b/spec/tokenized-buffer-spec.coffee @@ -202,12 +202,12 @@ describe "TokenizedBuffer", -> # previous line 3 should be combined with input to form line 1 expect(tokenizedBuffer.tokenizedLineForRow(1).tokens[0]).toEqual(value: 'foo', scopes: ['source.js']) - expect(tokenizedBuffer.tokenizedLineForRow(1).tokens[6]).toEqual(value: '=', scopes: ['source.js', 'keyword.operator.js']) + expect(tokenizedBuffer.tokenizedLineForRow(1).tokens[6]).toEqual(value: '=', scopes: ['source.js', 'keyword.operator.assignment.js']) # lines below deleted regions should be shifted upward expect(tokenizedBuffer.tokenizedLineForRow(2).tokens[2]).toEqual(value: 'while', scopes: ['source.js', 'keyword.control.js']) - expect(tokenizedBuffer.tokenizedLineForRow(3).tokens[4]).toEqual(value: '=', scopes: ['source.js', 'keyword.operator.js']) - expect(tokenizedBuffer.tokenizedLineForRow(4).tokens[4]).toEqual(value: '<', scopes: ['source.js', 'keyword.operator.js']) + expect(tokenizedBuffer.tokenizedLineForRow(3).tokens[4]).toEqual(value: '=', scopes: ['source.js', 'keyword.operator.assignment.js']) + expect(tokenizedBuffer.tokenizedLineForRow(4).tokens[4]).toEqual(value: '<', scopes: ['source.js', 'keyword.operator.comparison.js']) expect(changeHandler).toHaveBeenCalled() [event] = changeHandler.argsForCall[0] @@ -254,7 +254,7 @@ describe "TokenizedBuffer", -> expect(tokenizedBuffer.tokenizedLineForRow(4).tokens[4]).toEqual(value: 'if', scopes: ['source.js', 'keyword.control.js']) # previous line 3 is pushed down to become line 5 - expect(tokenizedBuffer.tokenizedLineForRow(5).tokens[4]).toEqual(value: '=', scopes: ['source.js', 'keyword.operator.js']) + expect(tokenizedBuffer.tokenizedLineForRow(5).tokens[4]).toEqual(value: '=', scopes: ['source.js', 'keyword.operator.assignment.js']) expect(changeHandler).toHaveBeenCalled() [event] = changeHandler.argsForCall[0] diff --git a/src/display-buffer.coffee b/src/display-buffer.coffee index 1021955cf..3da9b8ea5 100644 --- a/src/display-buffer.coffee +++ b/src/display-buffer.coffee @@ -465,6 +465,10 @@ class DisplayBuffer extends Model folds + # Returns all the folds that intersect the given row range. + foldsIntersectingBufferRowRange: (startRow, endRow) -> + @foldForMarker(marker) for marker in @findFoldMarkers(intersectsRowRange: [startRow, endRow]) + # Public: Given a buffer row, this returns folds that include it. # # diff --git a/src/language-mode.coffee b/src/language-mode.coffee index 55707bad3..ac8a5af76 100644 --- a/src/language-mode.coffee +++ b/src/language-mode.coffee @@ -97,8 +97,8 @@ class LanguageMode # Unfolds all the foldable lines in the buffer. unfoldAll: -> - for row in [@buffer.getLastRow()..0] by -1 - fold.destroy() for fold in @editor.displayBuffer.foldsStartingAtBufferRow(row) + for fold in @editor.displayBuffer.foldsIntersectingBufferRowRange(0, @buffer.getLastRow()) by -1 + fold.destroy() return # Fold all comment and code blocks at a given indentLevel