anchor.diff:    METHOD order_matches.
   
       DATA:
  -          lv_index      TYPE sy-tabix,
  -          lv_line_len   TYPE i,
  -          lv_prev_token TYPE c,
  -          lv_last_pos   TYPE i VALUE 0,
  -          lv_length     TYPE i,
  -          ls_match      TYPE ty_match.
  +      lv_index      TYPE sy-tabix,
  +      lv_line_len   TYPE i,
  +      lv_prev_token TYPE c,
  +      lv_last_pos   TYPE i VALUE 0,
  +      lv_length     TYPE i,
  +      ls_match      TYPE ty_match.
   
       FIELD-SYMBOLS:
  -         <prev>  TYPE ty_match,
  -         <match> TYPE ty_match.
  +      <prev>  TYPE ty_match,
  +      <match> TYPE ty_match.
   
       SORT ct_matches BY offset.
   
  
positive.code:   METHOD format_line.
  
      DATA:
            lv_chunk     TYPE string,
            lv_css_class TYPE string.
  
      FIELD-SYMBOLS:
            <match> TYPE ty_match.
  
negative.code: 
      CLASS-DATA:
        BEGIN OF c_regex,
          comment TYPE string,
          text    TYPE string,
          keyword TYPE string,
        END OF c_regex.
  
      CLASS-DATA: mo_regex_table  TYPE TABLE OF ty_regex.
  
      METHODS:
        parse_line
          IMPORTING iv_line           TYPE string
          RETURNING VALUE(rt_matches) TYPE ty_match_tt.
  
      METHODS:
        order_matches
          IMPORTING iv_line    TYPE string
          CHANGING  ct_matches TYPE ty_match_tt.
  
      METHODS:
        format_line
          IMPORTING iv_line        TYPE string
                    it_matches     TYPE ty_match_tt
          RETURNING VALUE(rv_line) TYPE string.
  
      METHODS:
        apply_style
          IMPORTING iv_line        TYPE string
                    iv_class       TYPE string
          RETURNING VALUE(rv_line) TYPE string.
  
  ENDCLASS.                      "lcl_code_highlighter DEFINITION
  
  