public Task <ExecutionResult> Execute(IReplWindow window, string arguments)
        {
            var eval = window.Evaluator as PythonReplEvaluator;

            if (eval != null)
            {
                if (eval.AttachEnabled)
                {
                    string error = eval.AttachDebugger();
                    if (error != null)
                    {
                        window.WriteError("Failed to attach: " + error);
                    }
                }
                else
                {
                    window.WriteError(
                        "Attaching to an interactive window requires enabling attach " +
                        "support in Tools->Options->Python Tools->Interactive Windows." +
                        Environment.NewLine + Environment.NewLine +
                        "This will cause the debugger to track necessary state to enable " +
                        "debugging until the attach is requested.  Once enabled the " +
                        "interactive window will need to be reset for the change to take " +
                        "effect.");
                }
            }
            else
            {
                window.WriteError("attach only supports Python interactive windows");
            }

            return(ExecutionResult.Succeeded);
        }
        public Task<ExecutionResult> Execute(IReplWindow window, string arguments) {
            var eval = window.Evaluator as PythonReplEvaluator;
            if (eval != null) {
                if (eval.AttachEnabled) {
                    string error = eval.AttachDebugger();
                    if (error != null) {
                        window.WriteError("Failed to attach: " + error);
                    }
                } else {
                    window.WriteError(
"Attaching to an interactive window requires enabling attach " +
"support in Tools->Options->Python Tools->Interactive Windows." +
Environment.NewLine + Environment.NewLine +
"This will cause the debugger to track necessary state to enable " +
"debugging until the attach is requested.  Once enabled the " +
"interactive window will need to be reset for the change to take " +
"effect.");
                }
            } else {
                window.WriteError("attach only supports Python interactive windows");
            }

            return ExecutionResult.Succeeded;
        }
        public void AbortCommand()
        {
#endif
            _window.WriteError("Abort is not supported." + Environment.NewLine);
        }