anchor.diff:              match doc.ParsedDocument.TryGetAst() with
               | Some ast ->
                   match Refactoring.getSymbolAndLineInfoAtCaret ast doc.Editor with
  -                | (_line, col, lineTxt), Some symbolUse when Refactoring.canRename symbolUse doc.Editor.FileName doc.Project.ParentSolution ->
  +                | (_line, col, lineTxt), Some symbolUse when Refactoring.canJump symbolUse doc.Editor.FileName doc.Project.ParentSolution ->
                       let lastIdent = Symbols.lastIdent col lineTxt
                       match Roslyn.getSymbolLocations symbolUse with
                       //We only jump to the first declaration location with this command handler, which is invoked via Cmd D
                       //We could intelligently swich by jumping to the second location if we are already at the first
                       //We could also provide a selection like context menu does.  For now though, we mirror C#
  -                    | first :: _ -> FSharpRenameRefactoring(doc.Editor, doc).JumpToDeclaration (lastIdent, symbolUse, first)
  +                    | first :: _ -> FSharpRefactoring(doc.Editor, doc).JumpToDeclaration (lastIdent, symbolUse, first)
                       | _ -> ()
                   | _ -> ()
               | _ -> ()
  
positive.code:             match Refactoring.getSymbolAndLineInfoAtCaret ast editor with
                                                //Is this a double check, i.e. isnt update checking can rename?
              | (_line, col, lineTxt), Some sym when Refactoring.canRename sym editor.FileName ctx.Project.ParentSolution ->
                  let rr = FSharpRenameRefactoring(editor, ctx)
                  let lastIdent = Symbols.lastIdent col lineTxt
                  rr.Rename (lastIdent, sym)
              | _ -> ()
  
negative.code: 
  type GotoDeclarationHandler() =
      inherit CommandHandler()
  
      override x.Update (ci:CommandInfo) =
          let doc = IdeApp.Workbench.ActiveDocument
          let editor = doc.Editor
          //disable if theres no editor or filename
          if editor = null || editor.FileName = FilePath.Null
          then ci.Enabled <- false
          else
              match doc.ParsedDocument.TryGetAst() with
              | Some ast ->
                  match Refactoring.getSymbolAndLineInfoAtCaret ast editor with
                  //set bypass as we cant jump
                  | _lineinfo, Some sym when not (Refactoring.canJump sym editor.FileName doc.Project.ParentSolution) ->
                      ci.Bypass <- true
                      ci.Enabled <- false
                  | _lineinfo, _symbol -> ()
              //disable for no ast
              | None -> ci.Enabled <- false
  
      override x.Run (_data) =
          let doc = IdeApp.Workbench.ActiveDocument
  