Project

General

Profile

TH3-Code Collapse » History » Version 2

Wil van Antwerpen, 05/18/2019 10:20 PM

1 1 Wil van Antwerpen
# Code Collapse
2 1 Wil van Antwerpen
3 1 Wil van Antwerpen
The Hammer 3.0 is based on the scintilla control and as such it wasn't too hard to add code collapse specifically for the DataFlex language.
4 1 Wil van Antwerpen
This is one of those features that you don't miss until you actually have it.
5 2 Wil van Antwerpen
How does it work?
6 1 Wil van Antwerpen
7 2 Wil van Antwerpen
You get to see a (-) symbol in front of the line of code that can be collapsed. 
8 2 Wil van Antwerpen
If you click that (-) symbol it will collapse a block of code into one line and the symbol will change into a (+) symbol.
9 1 Wil van Antwerpen
10 2 Wil van Antwerpen
Currently the following scope keywords automatically support the code collapse feature:
11 2 Wil van Antwerpen
12 1 Wil van Antwerpen
* begin / end code blocks
13 1 Wil van Antwerpen
* object / end_object
14 1 Wil van Antwerpen
* class / end_class
15 1 Wil van Antwerpen
* procedure / end_procedure
16 1 Wil van Antwerpen
* function / end_function
17 1 Wil van Antwerpen
* while / loop
18 1 Wil van Antwerpen
* case begin / case end
19 1 Wil van Antwerpen
* type / end_type
20 1 Wil van Antwerpen
* struct / end_struct
21 2 Wil van Antwerpen
* #COMMAND / #ENDCOMMAND
22 2 Wil van Antwerpen
* comments (1)
23 1 Wil van Antwerpen
* section metatags (see below)
24 2 Wil van Antwerpen
25 2 Wil van Antwerpen
## comments
26 2 Wil van Antwerpen
27 2 Wil van Antwerpen
If you have multiple lines of comments then you can collapse those lines to one line by clicking on the (+) symbol in front of the line.
28 1 Wil van Antwerpen
29 1 Wil van Antwerpen
## section metatags
30 1 Wil van Antwerpen
31 1 Wil van Antwerpen
If you want to be able to collapse a whole bunch of code so that you can quickly hide specific parts of code then use the section metatag collapse feature.
32 1 Wil van Antwerpen
33 1 Wil van Antwerpen
It works as follows:
34 1 Wil van Antwerpen
35 1 Wil van Antwerpen
~~~
36 1 Wil van Antwerpen
  { #CodeSection YourSection }
37 1 Wil van Antwerpen
.... your code
38 1 Wil van Antwerpen
  { #CodeSection YourSection }
39 1 Wil van Antwerpen
~~~
40 1 Wil van Antwerpen
41 1 Wil van Antwerpen
This then looks as follows:
42 1 Wil van Antwerpen
43 1 Wil van Antwerpen
<insert screenshot here>
44 1 Wil van Antwerpen
45 1 Wil van Antwerpen
## compiler listfiles
46 1 Wil van Antwerpen
47 1 Wil van Antwerpen
This one is pretty useful and not one you would think of immediately.
48 1 Wil van Antwerpen
49 1 Wil van Antwerpen
If you have a .prn/.prp file then you actually have code collapse in there as well (was broken, just fixed 2019-05-17)
50 1 Wil van Antwerpen
51 1 Wil van Antwerpen
It can really be a drag having to plough through all that code. Being able to use code collapse in here does help quite a bit.