anchor.diff:    /// Get the tool-tip to be displayed at the specified offset (relatively
     /// from the beginning of the current document)
       member x.GetToolTip(offset:int, doc:Mono.TextEditor.TextDocument) =
  -        match crackSymbolText(offset, doc) with 
  +        let line, col, lineStr = getLineInfoFromOffset(offset, doc)
  +        match FindLongIdents(col, lineStr) with 
           | None -> DataTipText []
  -        | Some(line,col,lineStr,identIsland,currentIdent,token) ->
  +        | Some(col,identIsland,currentIdent) ->
             let res = info.GetDataTipText((line, col), lineStr, identIsland, token)
             Debug.WriteLine( "Result: Got something, returning"  )
             res
   
       member x.GetDeclarationLocation(offset:int, doc:Mono.TextEditor.TextDocument) =
  -        match crackSymbolText(offset, doc) with 
  +        let line, col, lineStr = getLineInfoFromOffset(offset, doc)
  +        match FindLongIdents(col, lineStr) with 
           | None -> DeclNotFound FindDeclFailureReason.Unknown
  -        | Some(line,col,lineStr,identIsland,currentIdent,token) ->
  +        | Some(col,identIsland,currentIdent) ->
               let res = info.GetDeclarationLocation((line, col), lineStr, identIsland, token, true)
               Debug.WriteLine( "Result: Got something, returning"  )
               res 
   
       member x.GetMethods(offset:int, doc:Mono.TextEditor.TextDocument) =
  -        match crackSymbolTextAtGetMethodsTrigger(offset, doc) with 
  +        let line, col, lineStr = getLineInfoFromOffset (offset, doc)
  +        match FindLongIdentsAtGetMethodsTrigger(col, lineStr) with 
           | None -> None
  -        | Some(line,col,lineStr,identIsland,currentIdent,token) ->
  +        | Some(col,identIsland,currentIdent) ->
               let res = info.GetMethods((line, col), lineStr, Some identIsland)
               Debug.WriteLine( "Result: Got something, returning"  )
               Some (res.Name, res.Methods) 
  
positive.code: 
          match identIsland with
          | [] | [ "" ] -> None
          | _ -> Some (line,col,lineStr,identIsland,currentIdent,token)
          
  
      /// Get declarations at the current location in the specified document
  
negative.code: type internal TypedParseResult(info:TypeCheckResults, untyped : UntypedParseInfo) =
      let token = Parser.tagOfToken(Parser.token.IDENT("")) 
  
      let getLineInfoFromOffset (offset, doc:Mono.TextEditor.TextDocument) = 
          let loc  = doc.OffsetToLocation(offset)
          let line, col = max (loc.Line - 1) 0, loc.Column-1
          let currentLine = doc.Lines |> Seq.nth line
          let lineStr = doc.Text.Substring(currentLine.Offset, currentLine.EndOffset - currentLine.Offset)
          (line, col, lineStr)
  
      // Parsing - find the identifier around the current location
      // (we look for full identifier in the backward direction, but only
      // for a short identifier forward - this means that when you hover
      // 'B' in 'A.B.C', you will get intellisense for 'A.B' module)
      let FindLongIdents (col, lineStr) = 
          let lookBack = Parsing.createBackStringReader lineStr (col-1)
          let lookForw = Parsing.createForwardStringReader lineStr col
      
  