Changeset 9d43db94269512bf20ab23e9dd7416fe0c741151


Ignore:
Timestamp:
16/08/10 21:41:49 (3 years ago)
Author:
Matias De la Puente <mfpuente.ar@…>
Children:
b36d53cc61ecdfd153a0c3f7029459580c56d6c4
Parents:
759935945aef4be4bdc69724a7648f25885843f4
git-committer:
Matias De la Puente <mfpuente.ar@…> (16/08/10 21:41:49)
Message:

Projects: Improve jump to error/warning line in build log

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • data/sdcc.i4ucbuilder

    r956a6d0 r9d43db9  
    1515object_type=.o 
    1616build_command=sdcc -c -mpic14 -p%device %source -o %object 
    17 output_regex=(.+):([0-9]+):(.+) 
    18 output_regex_line_index=1 
     17output_regex=(.+):(?<line>[0-9]+):(.+) 
    1918clean_types=.o;.asm;.lst; 
    2019 
     
    2322object_type=.o 
    2423build_command=gpasm -c -p%device %source -o %object 
    25 output_regex=(.+):([0-9]+):(.+) 
    26 output_regex_line_index=1 
     24output_regex=(.+):(?<line>[0-9]+):(.+) 
    2725clean_types=.o;.lst; 
    2826 
     
    3836object_type=.o 
    3937build_command=sdcc -c -mpic16 -p%device %source -o %object 
    40 output_regex=(.+):([0-9]+):(.+) 
    41 output_regex_line_index=1 
     38output_regex=(.+):(?<line>[0-9]+):(.+) 
    4239clean_types=.o;.asm;.lst; 
    4340 
     
    4643object_type=.o 
    4744build_command=gpasm -c -p%device %source -o %object 
    48 output_regex=(.+):([0-9]+):(.+) 
    49 output_regex_line_index=1 
     45output_regex=(.+):(?<line>[0-9]+):(.+) 
    5046clean_types=.o;.lst; 
    5147 
  • libi4uc/i4ucbuildersourcetype.vala

    r956a6d0 r9d43db9  
    2929        public string build_command { set; get; } 
    3030        public string output_regex { set; get; default=""; } 
    31         public int output_regex_line_index { set; get; default=-1; } 
    3231        public Gee.List<string> clean_types { get { return _clean_types; } } 
    3332         
     
    3938                if (key_file.has_key (group, "output_regex")) 
    4039                        _output_regex = key_file.get_string (group, "output_regex"); 
    41                 if (key_file.has_key (group, "output_regex_line_index")) 
    42                         _output_regex_line_index = key_file.get_integer (group, "output_regex_line_index"); 
    4340                foreach (var clean_type in key_file.get_string_list (group, "clean_types")) 
    4441                        _clean_types.add (clean_type); 
     
    5148                key_file.set_string (group, "build_command", _build_command); 
    5249                key_file.set_string (group, "output_regex", _output_regex); 
    53                 key_file.set_integer (group, "output_regex_line_index", _output_regex_line_index); 
    5450                key_file.set_string_list (group, "clean_types", _clean_types.to_array ()); 
    5551        } 
  • libi4uc/i4ucprofilebuilder.vala

    r5e685a5 r9d43db9  
    2626        public string output; 
    2727        public string output_regex; 
    28         public int output_regex_line_index; 
    2928        public string source_uri; 
    3029} 
     
    9392                                command_context.command = command; 
    9493                                command_context.output_regex = source_type.output_regex; 
    95                                 command_context.output_regex_line_index = source_type.output_regex_line_index; 
    9694                                command_context.source_uri = source_uri; 
    9795                                 
  • libi4uc/i4ucprojectspresenter.vala

    r109c655 r9d43db9  
    288288        { 
    289289                if (command_context.output_regex == null || 
    290                     command_context.output_regex == "" || 
    291                     !Regex.match_simple (command_context.output_regex, output) || 
    292                     command_context.output_regex_line_index == -1) 
    293                         return; 
    294                  
    295                 string[] sequence = {}; 
    296                 foreach (var str in Regex.split_simple (command_context.output_regex, output)) 
    297                         if (str != "") 
    298                                 sequence += str; 
    299                  
    300                 var line = sequence[command_context.output_regex_line_index].to_int (); 
    301                 _documents_presenter.open_document (command_context.source_uri, line); 
     290                    command_context.output_regex == "") 
     291                        return; 
     292                 
     293                try 
     294                { 
     295                        var regex = new Regex (command_context.output_regex); 
     296                         
     297                        MatchInfo match_info; 
     298                        if (!regex.match (output, 0, out match_info)) 
     299                                return; 
     300                         
     301                        var line = match_info.fetch_named ("line"); 
     302                        _documents_presenter.open_document (command_context.source_uri, line.to_int ()); 
     303                } 
     304                catch (Error e) 
     305                { 
     306                        warning (e.message); 
     307                } 
    302308        } 
    303309         
Note: See TracChangeset for help on using the changeset viewer.