anchor.diff:              | Digit d1 :: Digit d2 :: Digit d3 :: t -> Some (d1 * 100 + d2 * 10 + d3), t
               | Digit d1 :: Digit d2 :: t -> Some (d1 * 10 + d2), t
               | Digit d :: t -> Some d,t
  -            //| [Digit d] -> Some d, []
               | _ -> None, keyList
   
           let action =
               match keyList with
               | [ Movement m ] -> getCommand multiplier Move m
  -            //| [ Digit d; Movement m ] -> doTimes d Move m
               | [ Action action; 'd' ] -> getCommand multiplier action WholeLine
  -            //| [ Digit d; Action action; 'd'] -> doTimes d Delete WholeLine
               | [ Action action; 't'; c ] -> getCommand multiplier action (ToCharInclusive c)
               | [ Action action; 'f'; c ] -> getCommand multiplier action (ToCharExclusive c)
               | _ -> None
  
positive.code:     textObject: TextObject
  }
  
  type XSVim() =
      inherit TextEditorExtension()
  
  
negative.code:         match multiplier, action with
          | _, Some action' ->
              MonoDevelop.Core.LoggingService.LogDebug (sprintf "%A" action')
              x.RunCommand action'
              keys.Clear()
              false
          | None, None -> base.KeyPress descriptor
  