protected override void DoCommandAction()
        {
            //if (!PinKeyword.Equals("")) SetPinKeyword();
            ValidateParameters();

            Tuple <IdentifierManager.RegexTypes, IdentifierManager.RegexTypes> typePair =
                new Tuple <IdentifierManager.RegexTypes, IdentifierManager.RegexTypes>
                    (IdentifierManager.RegexTypes.BEL, WireRegexType);
            Tuple <string, string> regexPair = new Tuple <string, string>(IdentifierRegexp_BEL, IdentifierRegexp_Wire);

            IdentifierManager.Instance.AddRegexMultipair(typePair, FamilyRegexp, regexPair);

            WireHelper.AddIncludeFlag(IncludeFlag, FamilyRegexp, true);
        }
예제 #2
0
        public Task EnsureConnectionAsync()
        {
            return(Task.Run(() =>
            {
                if (_connection == null || !_client.Connected)
                {
                    _client?.Dispose();

                    using (var l = new OneShotTcpServer())
                    {
                        var path = typeof(NextRequestType).Assembly.GetModules()[0].FullyQualifiedName;
                        path = Path.Combine(Path.GetDirectoryName(path), "host.csproj");

                        string args = $"msbuild /p:AvaloniaIdePort={l.Port} {path}";

                        Console.WriteLine(args);

                        hostProcess = PlatformSupport.LaunchShellCommand("dotnet", args,
                                                                         (sender, e) =>
                        {
                            if (e.Data != null)
                            {
                                lock (outputLines)
                                {
                                    outputLines.Add(e.Data);
                                }

                                if (e.Data == "*** Request Handled")
                                {
                                    requestComplete.Set();
                                }
                            }
                        },
                                                                         (sender, e) =>
                        {
                            if (e.Data != null)
                            {
                                lock (errorLines)
                                {
                                    errorLines.Add(e.Data);
                                }
                            }
                        }, false, Platforms.Platform.ExecutionPath, false);

                        _client = l.WaitForOneConnection();
                        _connection = new WireHelper(_client.GetStream());
                    }
                }
            }));
        }
예제 #3
0
 void EnsureConnection()
 {
     if (_connection == null || !_client.Connected)
     {
         _client?.Dispose();
         using (var l = new OneShotTcpServer())
         {
             var path = typeof(NextRequestType).Assembly.GetModules()[0].FullyQualifiedName;
             path = Path.Combine(Path.GetDirectoryName(path), "host.csproj");
             Process.Start("dotnet", $"msbuild /p:AvaloniaIdePort={l.Port} {path}");
             _client     = l.WaitForOneConnection();
             _connection = new WireHelper(_client.GetStream());
         }
     }
 }
 protected override void DoCommandAction()
 {
     WireHelper.AddIncludeFlag(FlagType, FamilyRegexp, Flag);
 }