Exemplo n.º 1
0
            /// <summary>
            /// Initializes the console context.
            /// </summary>
            public ConsoleContext(string mainscript, string rootPath, Stream output, params string[] args)
                : base(null)
            {
                RootPath = WorkingDirectory = rootPath ?? Directory.GetCurrentDirectory();

                //
                if (output != null)
                {
                    // use provided output stream
                    InitOutput(output);
                }
                else
                {
                    //Console.OutputEncoding = Encoding.UTF8;
                    //Console.Write("\xfeff"); // bom = byte order mark

                    // use the default Console output stream
                    InitOutput(Console.OpenStandardOutput(), Console.Out);
                }

                // Globals
                InitSuperglobals();
                InitializeServerVars(mainscript);
                InitializeArgvArgc(mainscript, args);

                if (CurrentPlatform.IsWindows)
                {
                    // VT100
                    WindowsPlatform.Enable_VT100();
                }

                // (sometimes??) the Encoding used by Console cannot be resolved by Encoding.GetEncoding(),
                // register it for sure:
                Encoding.RegisterProvider(new OSEncodingProvider(Console.OutputEncoding));
            }
Exemplo n.º 2
0
            /// <summary>
            /// Initializes the console context.
            /// </summary>
            public ConsoleContext(string mainscript, string rootPath, Stream output, params string[] args)
                : base(null)
            {
                RootPath = WorkingDirectory = rootPath ?? Directory.GetCurrentDirectory();

                // TODO: CLI app configuration from json .setting ?
                DefaultPhpConfigurationService.Instance.Core.ExecutionTimeout = 0; // default timeout on CLI

                //
                if (output != null)
                {
                    // use provided output stream
                    InitOutput(output);
                }
                else
                {
                    //Console.OutputEncoding = Encoding.UTF8;
                    //Console.Write("\xfeff"); // bom = byte order mark

                    // use the default Console output stream
                    InitOutput(Console.OpenStandardOutput(), Console.Out);
                }

                // Constants
                InitConstants();

                // Globals
                InitSuperglobals();
                InitializeServerVars(mainscript);
                InitializeArgvArgc(mainscript, args);

                if (CurrentPlatform.IsWindows)
                {
                    // VT100
                    WindowsPlatform.Enable_VT100();
                }

                // (sometimes??) the Encoding used by Console cannot be resolved by Encoding.GetEncoding(),
                // register it for sure:
                Encoding.RegisterProvider(new OSEncodingProvider(Console.OutputEncoding));

                // autoload files
                AutoloadFiles();
            }