예제 #1
0
 public void SetViMode(ViMode value)
 {
     if (viMode != value)
     {
         ProcessSetViMode(value);
     }
 }
예제 #2
0
        public Receiver(Controller controller, ViMode viMode, bool alwaysInputMode)
        {
            this.controller      = controller;
            this.lines           = controller.Lines;
            this.alwaysInputMode = alwaysInputMode;

            context = new Context(this);
            ProcessSetViMode(viMode);
        }
예제 #3
0
 private void ProcessSetViMode(ViMode value)
 {
     if (value == ViMode.Normal)
     {
         context.SetState(new ViReceiver(null, false));
     }
     else if (value == ViMode.Visual)
     {
         context.SetState(new ViReceiverVisual(false));
     }
     else if (value == ViMode.LinesVisual)
     {
         context.SetState(new ViReceiverVisual(true));
     }
     else
     {
         context.SetState(new InputReceiver(null, alwaysInputMode));
     }
 }