Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | CLASS zcl_abapgit_syntax_factory DEFINITION
PUBLIC
ABSTRACT
CREATE PUBLIC .
PUBLIC SECTION.
CLASS-METHODS create
IMPORTING
!iv_filename TYPE string
!iv_hidden_chars TYPE abap_bool DEFAULT abap_false
RETURNING
VALUE(ro_instance) TYPE REF TO zcl_abapgit_syntax_highlighter .
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS ZCL_ABAPGIT_SYNTAX_FACTORY IMPLEMENTATION.
METHOD create.
" Create instance of highlighter dynamically dependent on syntax type
IF iv_filename CP '*.abap'.
CREATE OBJECT ro_instance TYPE zcl_abapgit_syntax_abap.
ELSEIF iv_filename CP '*.xml' OR iv_filename CP '*.html' OR iv_filename CP '*.xdp'.
CREATE OBJECT ro_instance TYPE zcl_abapgit_syntax_xml.
ELSEIF iv_filename CP '*.css'.
CREATE OBJECT ro_instance TYPE zcl_abapgit_syntax_css.
ELSEIF iv_filename CP '*.js'.
CREATE OBJECT ro_instance TYPE zcl_abapgit_syntax_js.
ELSEIF iv_filename CP '*.json' OR iv_filename CP '*.jsonc'.
CREATE OBJECT ro_instance TYPE zcl_abapgit_syntax_json.
ELSEIF iv_filename CP '*.txt' OR iv_filename CP '*.ini' OR iv_filename CP '*.text'.
CREATE OBJECT ro_instance TYPE zcl_abapgit_syntax_txt.
ELSEIF iv_filename CP '*.po'.
CREATE OBJECT ro_instance TYPE zcl_abapgit_syntax_po.
ELSE.
CLEAR ro_instance.
ENDIF.
IF ro_instance IS BOUND.
ro_instance->set_hidden_chars( iv_hidden_chars ).
ENDIF.
ENDMETHOD.
ENDCLASS.
|