anchor.diff:      _aceEditor.setOption('enableSnippets', true);
       
       // Declaration linking hotkey
  -    _aceEditor.commands.addCommand(
  -        new ace.Command('link_to_declaration',
  -        const ace.BindKey(mac: 'F3', win: 'F3'),
  -        (editor) {
  +    _aceEditor.commands.addCommand(new ace.Command('link_to_declaration',
  +        const ace.BindKey(mac: 'F3', win: 'F3'), (e) {
  +          int offset = currentSession.document.positionToIndex(
  +              _aceEditor.cursorPosition);
  +          analysisService.getDeclarationFor(currentFile, offset);
   //          _aceEditor.cursorPosition.column
  -          /*%TRACE3*/ print("""(4> 4/15/14): _aceEditor.cursorPosition.column: ${_aceEditor.cursorPosition.column}"""); // TRACE%
  -          editor.paste('42');
           }));
   
       // Fallback
  
positive.code:     _aceEditor.printMarginColumn = 80;
      _aceEditor.readOnly = true;
      _aceEditor.fadeFoldWidgets = true;
  
      // Enable code completion.
      ace.require('ace/ext/language_tools');
  
negative.code:   workspace.File currentFile;
  
    html.DivElement _outlineDiv = new html.DivElement();
    svc.AnalyzerService analysisService;
  
    AceManager(this.parentElement, this.delegate, svc.Services services) {
      ace.implementation = ACE_PROXY_IMPLEMENTATION;
      _aceEditor = ace.edit(parentElement);
      _aceEditor.renderer.fixedWidthGutter = true;
  