Menu

#600 Simplify the creation of blocks in the lexer and the editor

v1.1.x
closed
v1.1.4
Change Request
2022-01-17
2021-07-06
Erik Hänel
No

The creation of new blocks in the code requires multiple changes in different locations, which are very likely to be missed, as well as a recompile of the wxSTC library. Simplify this by introducing a configuration possibility.

Analysis:

Most of the needed changes can be implemented by defining a new syntax element containing the information for each block separately. The NumeReSyntax class will construct a special representation for the lexer and a representation fo the editor-related classes. Unfortunately, it won't be possible to make syntax blocks completely configurable without more major changes. However, it won't be necessary to recompile wxSTC again.

Implementation:

  • Implementation: Implemented as proposed by the analysis.
  • Revision: [r1012]
  • Implementation test: Folding and block highlighting worked as expected.

Documentation:

  • ChangesLog updated
  • Code changes commented
  • Documentation articles:
    • corresponding documentation articles updated
    • new documentation articles created
    • not needed
  • Language files:
    • corresponding language files updated
    • not needed

Tests:

Change was tested with the implementation of [#611]. No deviations detected.

Related

Commit: [r1012]
Tickets: #611

Discussion

  • Erik Hänel

    Erik Hänel - 2021-07-06
    • Version: Planned --> v1.1.4
     
  • Erik Hänel

    Erik Hänel - 2021-08-18
    • status: open --> accepted
     
  • Erik Hänel

    Erik Hänel - 2021-08-18
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1 +1,23 @@
     The creation of new blocks in the code requires multiple changes in different locations, which are very likely to be missed, as well as a recompile of the wxSTC library. Simplify this by introducing a configuration possibility.
    +
    +###Analysis:
    +(*Describe, what's the issue and which changes have to be made*)
    +
    +###Implementation:
    +* Implementation: (*Describe, what you've changed*) 
    +* Revision: [rXXX]
    +* Implementation test: (*Describe the type of test, which you performed, and if it was successful*)
    +
    +###Documentation:
    +* [ ] ChangesLog updated
    +* [ ] Code changes commented
    +* **Documentation articles:**
    +    * [ ] corresponding documentation articles updated
    +    * [ ] new documentation articles created
    +    * [ ] not needed
    +* **Language files:**
    +    * [ ] corresponding language files updated
    +    * [ ] not needed
    +
    +###Tests:
    +(*Describe, which tests you performed and their outcome*)
    
    • status: accepted --> analyzing
     
  • Erik Hänel

    Erik Hänel - 2021-08-18
    • labels: --> internal, gui, editor, language
     
  • Erik Hänel

    Erik Hänel - 2021-09-15
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,7 +1,7 @@
     The creation of new blocks in the code requires multiple changes in different locations, which are very likely to be missed, as well as a recompile of the wxSTC library. Simplify this by introducing a configuration possibility.
    
     ###Analysis:
    -(*Describe, what's the issue and which changes have to be made*)
    +Most of the needed changes can be implemented by defining a new syntax element containing the information for each block separately. The `NumeReSyntax` class will construct a special representation for the lexer and a representation fo the editor-related classes. Unfortunately, it won't be possible to make syntax blocks completely configurable without more major changes. However, it won't be necessary to recompile `wxSTC` again.
    
     ###Implementation:
     * Implementation: (*Describe, what you've changed*) 
    
    • status: analyzing --> implementing
     
  • Erik Hänel

    Erik Hänel - 2021-09-16
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -4,19 +4,19 @@
     Most of the needed changes can be implemented by defining a new syntax element containing the information for each block separately. The `NumeReSyntax` class will construct a special representation for the lexer and a representation fo the editor-related classes. Unfortunately, it won't be possible to make syntax blocks completely configurable without more major changes. However, it won't be necessary to recompile `wxSTC` again.
    
     ###Implementation:
    -* Implementation: (*Describe, what you've changed*) 
    -* Revision: [rXXX]
    -* Implementation test: (*Describe the type of test, which you performed, and if it was successful*)
    +* Implementation: Implemented as proposed by the analysis.
    +* Revision: [r1012]
    +* Implementation test: Folding and block highlighting worked as expected.
    
     ###Documentation:
    -* [ ] ChangesLog updated
    -* [ ] Code changes commented
    +* [x] ChangesLog updated
    +* [x] Code changes commented
     * **Documentation articles:**
         * [ ] corresponding documentation articles updated
         * [ ] new documentation articles created
    -    * [ ] not needed
    +    * [x] not needed
     * **Language files:**
    -    * [ ] corresponding language files updated
    +    * [x] corresponding language files updated
         * [ ] not needed
    
     ###Tests:
    
    • status: implementing --> testing
     

    Related

    Commit: [r1012]

  • Erik Hänel

    Erik Hänel - 2022-01-17
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -20,4 +20,4 @@
         * [ ] not needed
    
     ###Tests:
    -(*Describe, which tests you performed and their outcome*)
    +Change was tested with the implementation of [#611]. No deviations detected.
    
    • status: testing --> closed
     

    Related

    Tickets: #611

Anonymous
Anonymous

Add attachments
Cancel