       console.error "atom-symbol-navigation: problem parsing  #{editor.getTitle()}"
       return null
 
-    symNavParserCache[editor.getPath()] = parsedBuffer
-    return parsedBuffer
+    syntaxTree = parsedBuffer.syntaxTree
+    scopes = parsedBuffer.scopes
+
+    parsedScopes = scopes.map (scope) =>
+      {
+        scope: scope,
+        identifiers: @getIdentifiersInScope scope
+      }
+    symNavParserCache[editor.getPath()] = parsedScopes
+    return parsedScopes
 
   #Create status bar view element. Have to wait for packages to load first
   createStatusBarView: ->

  invalidateEditorCache: (editor) ->
    symNavParserCache[editor.getPath()] = null

  #get parsed buffer data - from cache, if possible, else
  #we calculate it and cache it.
  parseEditor: (editor) ->
    if symNavParserCache[editor.getPath()]?
      return symNavParserCache[editor.getPath()]

    esprima = require('esprima-fb')

            id: cursorIds[0],
            pos: cursorPos.column - cursorIds[0].loc.start.column,
            usages: usages,
            scope: parsedScope.scope
          }
    return null

