const GrammarListView = require('./grammar-list-view')
const GrammarStatusView = require('./grammar-status-view')

let commandDisposable = null
let grammarListView = null
let grammarStatusView = null

module.exports = {
  activate () {
    commandDisposable = atom.commands.add('atom-text-editor', 'grammar-selector:show', () => {
      if (!grammarListView) grammarListView = new GrammarListView()
      grammarListView.toggle()
    })
  },

  deactivate () {
    if (commandDisposable) commandDisposable.dispose()
    commandDisposable = null

    if (grammarStatusView) grammarStatusView.destroy()
    grammarStatusView = null

    if (grammarListView) grammarListView.destroy()
    grammarListView = null
  },

  consumeStatusBar (statusBar) {
    grammarStatusView = new GrammarStatusView(statusBar)
    grammarStatusView.attach()
  }
}
