Ignore:
Timestamp:
Nov 26, 2012, 7:10:35 PM (8 years ago)
Author:
sam
Message:

vslol: add the skeleton for a real LolFx syntax highlighter.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/vslol/MenuGenerateCompilers.cs

    r2115 r2118  
    9292                return;
    9393
    94             cmd.ClearOutputPane();
    95             cmd.WriteToOutputPane("------ Build started: Generating Compilers ------\n");
     94            Logger.Clear();
     95            Logger.Info("------ Build started: Generating Compilers ------\n");
    9696
    9797            int scanner_count = 0, parser_count = 0, error_count = 0;
     
    9999            foreach (Project project in cmd.projects)
    100100            {
    101                 cmd.WriteToOutputPane("Project " + project.Name + "\n");
     101                Logger.Info("Project " + project.Name + "\n");
    102102
    103103                string project_path = Path.GetDirectoryName(project.FullName);
     
    138138                    if (item.Name.EndsWith("-scanner.l"))
    139139                    {
    140                         cmd.WriteToOutputPane("flex.exe " + filename + "\n");
     140                        Logger.Info("flex.exe " + filename + "\n");
    141141
    142142                        string basename = Path.GetFileName(filename.Substring(0, filename.LastIndexOf("-scanner.l")));
     
    154154                    if (item.Name.EndsWith("-parser.y"))
    155155                    {
    156                         cmd.WriteToOutputPane("bison.exe " + filename + "\n");
     156                        Logger.Info("bison.exe " + filename + "\n");
    157157
    158158                        string basename = Path.GetFileName(filename.Substring(0, filename.LastIndexOf("-parser.y")));
     
    174174            }
    175175
    176             cmd.WriteToOutputPane(string.Format("========== Done: {0} scanner(s), {1} parser(s), {2} error(s) ==========\n",
     176            Logger.Info(string.Format("========== Done: {0} scanner(s), {1} parser(s), {2} error(s) ==========\n",
    177177                                  scanner_count, parser_count, error_count));
    178178        }
     
    203203                              + p.StandardOutput.ReadToEnd();
    204204                p.WaitForExit();
    205                 WriteToOutputPane(output);
     205                Logger.Info(output);
    206206                if (p.ExitCode != 0)
    207207                {
    208                     WriteToOutputPane("Error: " + executable + " exited with code " + p.ExitCode + "\n");
     208                    Logger.Info("Error: " + executable + " exited with code " + p.ExitCode + "\n");
    209209                    if (arguments != "")
    210                         WriteToOutputPane("Error: args: " + arguments + "\n");
     210                        Logger.Info("Error: args: " + arguments + "\n");
    211211                    if (env != "")
    212                         WriteToOutputPane("Error: env: " + env + "\n");
     212                        Logger.Info("Error: env: " + env + "\n");
    213213                    return false;
    214214                }
     
    216216            catch (Exception e)
    217217            {
    218                 WriteToOutputPane("Error: failed to launch " + executable + "\n");
     218                Logger.Info("Error: failed to launch " + executable + "\n");
    219219                return false;
    220220            }
    221221
    222222            return true;
    223         }
    224 
    225         private void ClearOutputPane()
    226         {
    227             IVsOutputWindow win = sp.GetService(typeof(SVsOutputWindow)) as IVsOutputWindow;
    228             if (null == win)
    229             {
    230                 Trace.WriteLine("Failed to get a reference to IVsOutputWindow");
    231                 pane = null;
    232             }
    233 
    234             Guid guid = Microsoft.VisualStudio.VSConstants.OutputWindowPaneGuid.BuildOutputPane_guid;
    235             if (Microsoft.VisualStudio.ErrorHandler.Failed(win.GetPane(ref guid, out pane)))
    236             {
    237                 Trace.WriteLine("Failed to get a reference to the Output window Build pane");
    238                 pane = null;
    239             }
    240 
    241             pane.Activate();
    242             pane.Clear();
    243         }
    244 
    245         private void WriteToOutputPane(string s)
    246         {
    247             if (pane != null)
    248                 pane.OutputString(s);
    249223        }
    250224
     
    268242
    269243        private ServiceProvider sp;
    270         private IVsOutputWindowPane pane;
    271244
    272245        private List<Project> projects;
Note: See TracChangeset for help on using the changeset viewer.