diff --git a/spec/language-mode-spec.coffee b/spec/language-mode-spec.coffee index 20726446a..2f7b1cc91 100644 --- a/spec/language-mode-spec.coffee +++ b/spec/language-mode-spec.coffee @@ -355,6 +355,11 @@ describe "LanguageMode", -> expect(languageMode.isFoldableAtBufferRow(6)).toBe true expect(languageMode.isFoldableAtBufferRow(17)).toBe false + it "does not return true for a line in the middle of a comment that's followed by an indented line", -> + expect(languageMode.isFoldableAtBufferRow(7)).toBe false + editor.buffer.insert([8, 0], ' ') + expect(languageMode.isFoldableAtBufferRow(7)).toBe false + describe "css", -> beforeEach -> atom.packages.activatePackage('language-source', sync: true) diff --git a/src/language-mode.coffee b/src/language-mode.coffee index 4caf519ca..da539e08e 100644 --- a/src/language-mode.coffee +++ b/src/language-mode.coffee @@ -190,7 +190,7 @@ class LanguageMode # Private: Returns a {Boolean} indicating whether the given buffer row starts # a a foldable row range due to the code's indentation patterns. isFoldableCodeAtBufferRow: (bufferRow) -> - return false if @editor.isBufferRowBlank(bufferRow) + return false if @editor.isBufferRowBlank(bufferRow) or @isLineCommentedAtBufferRow(bufferRow) nextNonEmptyRow = @editor.nextNonBlankBufferRow(bufferRow) return false unless nextNonEmptyRow? @editor.indentationForBufferRow(nextNonEmptyRow) > @editor.indentationForBufferRow(bufferRow)