From 24c7594d62d8d7fbbcdb64b11ce4adc5d8e6991a Mon Sep 17 00:00:00 2001 From: Ben Beltran Date: Fri, 10 Jul 2015 11:12:25 -0500 Subject: Adds atom --- .../vim-mode/lib/status-bar-manager.coffee | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 atom/packages/vim-mode/lib/status-bar-manager.coffee (limited to 'atom/packages/vim-mode/lib/status-bar-manager.coffee') diff --git a/atom/packages/vim-mode/lib/status-bar-manager.coffee b/atom/packages/vim-mode/lib/status-bar-manager.coffee new file mode 100644 index 0000000..82e35e1 --- /dev/null +++ b/atom/packages/vim-mode/lib/status-bar-manager.coffee @@ -0,0 +1,37 @@ +{Disposable, CompositeDisposable} = require 'event-kit' + +ContentsByMode = + 'insert': ["status-bar-vim-mode-insert", "Insert"] + 'insert.replace': ["status-bar-vim-mode-insert", "Replace"] + 'command': ["status-bar-vim-mode-command", "Command"] + 'visual': ["status-bar-vim-mode-visual", "Visual"] + 'visual.characterwise': ["status-bar-vim-mode-visual", "Visual"] + 'visual.linewise': ["status-bar-vim-mode-visual", "Visual Line"] + 'visual.blockwise': ["status-bar-vim-mode-visual", "Visual Block"] + +module.exports = +class StatusBarManager + constructor: -> + @element = document.createElement("div") + @element.id = "status-bar-vim-mode" + + @container = document.createElement("div") + @container.className = "inline-block" + @container.appendChild(@element) + + initialize: (@statusBar) -> + + update: (currentMode, currentSubmode) -> + currentMode = currentMode + "." + currentSubmode if currentSubmode? + if newContents = ContentsByMode[currentMode] + [klass, text] = newContents + @element.className = klass + @element.textContent = text + + # Private + + attach: -> + @tile = @statusBar.addRightTile(item: @container, priority: 20) + + detach: -> + @tile.destroy() -- cgit