1 {View, EditorView} = require 'atom'
4 class CommandView extends View
14 @div class: 'pipe-command', =>
15 @subview 'commandLine', new EditorView(
17 placeholderText: @samplePlaceholder()
20 @samplePlaceholder: ->
21 @placeholders[Math.floor(Math.random()*@placeholders.length)]
23 initialize: (history, callback) ->
24 historyPos = history.length
27 @on 'core:cancel core:close', =>
30 @on 'core:confirm', =>
31 callback(@commandLine.getText())
33 @commandLine.on 'keydown', (e) =>
34 if history.length is 0 then return
38 unless historyPos <= 0
40 @commandLine.setText history[historyPos]
43 if historyPos >= history.length-1
44 historyPos = history.length
45 @commandLine.setText cur
48 @commandLine.setText history[historyPos]
51 if historyPos >= history.length
52 cur = @commandLine.getText()
54 atom.workspaceView.append(this)