Provide default column to getGuideColumn callback

This commit is contained in:
Kevin Sawicki
2012-09-29 11:51:32 -07:00
parent 6412cde7a8
commit 7506fe7eae
2 changed files with 14 additions and 3 deletions

View File

@@ -24,7 +24,7 @@ describe "WrapGuide", ->
describe "@updateGuide", ->
it "positions the guide at the configured column", ->
width = editor.charWidth * wrapGuide.getGuideColumn()
width = editor.charWidth * wrapGuide.defaultColumn
expect(width).toBeGreaterThan(0)
expect(wrapGuide.position().left).toBe(width)
@@ -44,6 +44,16 @@ describe "WrapGuide", ->
wrapGuide.updateGuide(editor)
expect(editorPath).toBe(require.resolve('fixtures/sample.js'))
it "invokes the callback with a default value", ->
column = null
wrapGuide.getGuideColumn = (path, defaultColumn) ->
editorPath = path
column = defaultColumn
defaultColumn
wrapGuide.updateGuide(editor)
expect(column).toBeGreaterThan(0)
it "uses the function from the config data", ->
rootView.find('.wrap-guide').remove()
config =

View File

@@ -20,19 +20,20 @@ class WrapGuide extends View
@div class: 'wrap-guide'
getGuideColumn: null
defaultColumn: 80
initialize: (@rootView, @editor, config = {}) =>
if typeof config.getGuideColumn is 'function'
@getGuideColumn = config.getGuideColumn
else
@getGuideColumn = -> 80
@getGuideColumn = (path, defaultColumn) -> defaultColumn
@updateGuide(@editor)
@editor.on 'editor-path-change', => @updateGuide(@editor)
@rootView.on 'font-size-change', => @updateGuide(@editor)
updateGuide: (editor) ->
column = @getGuideColumn(editor.getPath())
column = @getGuideColumn(editor.getPath(), @defaultColumn)
if column > 0
@css('left', "#{editor.charWidth * column}px").show()
else