mirror of
https://github.com/atom/atom.git
synced 2026-01-23 05:48:10 -05:00
Update the tab type when the setting changes
This commit is contained in:
@@ -3810,6 +3810,27 @@ describe "TextEditor", ->
|
||||
runs ->
|
||||
expect(editor.softTabs).toBe true
|
||||
|
||||
describe "when editor.tabType changes", ->
|
||||
beforeEach ->
|
||||
atom.config.set('editor.tabType', 'auto')
|
||||
|
||||
it "updates based on the value chosen", ->
|
||||
waitsForPromise ->
|
||||
atom.workspace.open('sample.js').then (editor) ->
|
||||
expect(editor.getSoftTabs()).toBe true
|
||||
atom.config.set('editor.tabType', 'hard')
|
||||
expect(editor.getSoftTabs()).toBe false
|
||||
atom.config.set('editor.tabType', 'auto')
|
||||
expect(editor.getSoftTabs()).toBe true
|
||||
|
||||
waitsForPromise ->
|
||||
atom.workspace.open('sample-with-tabs.coffee').then (editor) ->
|
||||
expect(editor.getSoftTabs()).toBe false
|
||||
atom.config.set('editor.tabType', 'soft')
|
||||
expect(editor.getSoftTabs()).toBe true
|
||||
atom.config.set('editor.tabType', 'auto')
|
||||
expect(editor.getSoftTabs()).toBe false
|
||||
|
||||
describe '.getTabLength()', ->
|
||||
describe 'when scoped settings are used', ->
|
||||
coffeeEditor = null
|
||||
|
||||
@@ -75,7 +75,7 @@ class TextEditor extends Model
|
||||
'autoDecreaseIndentForBufferRow', 'toggleLineCommentForBufferRow', 'toggleLineCommentsForBufferRows',
|
||||
toProperty: 'languageMode'
|
||||
|
||||
constructor: ({softTabs, initialLine, initialColumn, tabLength, softWrapped, @displayBuffer, buffer, registerEditor, suppressCursorCreation, @mini, @placeholderText, lineNumberGutterVisible, largeFileMode}={}) ->
|
||||
constructor: ({@softTabs, initialLine, initialColumn, tabLength, softWrapped, @displayBuffer, buffer, registerEditor, suppressCursorCreation, @mini, @placeholderText, lineNumberGutterVisible, largeFileMode}={}) ->
|
||||
super
|
||||
|
||||
@emitter = new Emitter
|
||||
@@ -86,7 +86,9 @@ class TextEditor extends Model
|
||||
buffer ?= new TextBuffer
|
||||
@displayBuffer ?= new DisplayBuffer({buffer, tabLength, softWrapped, ignoreInvisibles: @mini, largeFileMode})
|
||||
@buffer = @displayBuffer.buffer
|
||||
@softTabs = @shouldUseSoftTabs(defaultValue: softTabs)
|
||||
|
||||
@disposables.add atom.config.observe 'editor.tabType', scope: @getRootScopeDescriptor(), =>
|
||||
@softTabs = @shouldUseSoftTabs(defaultValue: @softTabs)
|
||||
|
||||
for marker in @findMarkers(@getSelectionMarkerAttributes())
|
||||
marker.setProperties(preserveFolds: true)
|
||||
|
||||
Reference in New Issue
Block a user