   # * `options` An {Object} containing the following optional keys:
   #   * `watch` If `true`, the keymap will also reload the file at the given
   #     path whenever it changes. This option cannot be used with directory paths.
+  #   * `priority` A {Number} used to sort keybindings which have the same
+  #     specificity.
   loadKeymap: (bindingsPath, options) ->
     checkIfDirectory = options?.checkIfDirectory ? true
     if checkIfDirectory and fs.isDirectorySync(bindingsPath)

  #
  # * `path` A {String} containing a path to a file or a directory. If the path is
  #   a directory, all files inside it will be loaded.
  watchKeymap: (filePath) ->
    if not @watchSubscriptions[filePath]? or @watchSubscriptions[filePath].disposed
      file = new File(filePath)
      reloadKeymap = => @reloadKeymap(filePath)
      @watchSubscriptions[filePath] = new CompositeDisposable(
        file.onDidChange(reloadKeymap)
        file.onDidRename(reloadKeymap)

        if @filePathMatchesPlatform(filePath)
          @loadKeymap(filePath, checkIfDirectory: false)
    else
      @add(bindingsPath, @readKeymap(bindingsPath, options?.suppressErrors), options?.priority)
      @watchKeymap(bindingsPath, options) if options?.watch

    undefined

