     ".has-persistent-selection": '%'
 
   getCommandSpecs: ->
+    _ = require 'underscore-plus'
+
     compactSelector = (selector) ->
       pattern = ///(#{_.keys(selectorMap).map(_.escapeRegExp).join('|')})///g
       selector.split(/,\s*/g).map (scope) ->

    subscriptions

  reportRequireCache: ({focus, excludeNodModules}) ->
    {inspect} = require 'util'
    path = require 'path'
    packPath = atom.packages.getLoadedPackage("vim-mode-plus").path
    cachedPaths = Object.keys(require.cache)
      .filter (p) -> p.startsWith(packPath + path.sep)
      .map (p) -> p.replace(packPath, '')

    for cachedPath in cachedPaths

{Emitter, Disposable, BufferedProcess, CompositeDisposable} = require 'atom'

Base = require './base'
settings = require './settings'
getEditorState = null

class Developer
  init: (_getEditorState) ->
    getEditorState = _getEditorState
    @devEnvironmentByBuffer = new Map
    @reloadSubscriptionByBuffer = new Map

