예제 #1
0
        public override Verb CreateVerb(string[] tokens)
        {
            Color(position, length, IDEColor.EntityType.Structure);
            var  parser = new AnyBlockParser();
            var  index  = position + length;
            bool isMacro;

            result.Value     = parser.Parse(source, ref index, false, out isMacro);
            overridePosition = index;
            MultiCapable     = !parser.SingleLine;
            return(new NullOp());
        }
예제 #2
0
 public ThenParser()
     : base(@"^\s*\then\s*")
 {
     anyBlockParser = new AnyBlockParser("");
 }
예제 #3
0
 public AlternateLambdaParser()
     : base(@"^ /s* '\'")
 {
     variableParser = new VariableParser();
     anyBlockParser = new AnyBlockParser(REGEX_LAMBDA_BRIDGE);
 }
예제 #4
0
 public ClosureStemParser()
 {
     matcher     = new Matcher();
     blockParser = new AnyBlockParser();
 }
 public EndOfClosureParameterParser()
     : base(@"^\s*\)\s*=>\s*")
 {
     blockParser = new AnyBlockParser();
 }
예제 #6
0
 public LambdaParser2()
 {
     matcher     = new Matcher();
     blockParser = new AnyBlockParser(AnyBlockParser.REGEX_LAMBDA_BRIDGE);
 }
예제 #7
0
 public ArrayParametersParser()
     : base("^ /s* '|('")
 {
     blockParser = new AnyBlockParser(REGEX_STANDARD_BRIDGE);
 }
예제 #8
0
 public CaseParser()
     : base("^ /(/s* 'case' | 'required') /b")
 {
     anyBlockParser = new AnyBlockParser(REGEX_STANDARD_BRIDGE);
 }
예제 #9
0
 public SignalParser()
     : base(@"^\s*(return|yield)\s+")
 {
     anyBlockParser = new AnyBlockParser();
 }