Size: 2790
Comment:
|
Size: 3476
Comment: New version
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
== Fire == | = Fire = ~-<<SeeSaw(section="table-of-contents", show="true", seesaw="false", toshow="<<(Show>> table-of-contents)", tohide="<<(Hide>> table-of-contents)", speed="Slow")>>-~ |
Line 5: | Line 7: |
/!\ Under construction | {{attachment:fire.png||align="middle"}} '''''Fire''''' stands for FInd and REplace. It's designed to search and replace strings in the workspace. |
Line 7: | Line 9: |
'''''Fire''''' stands for for FInd and REplace. It's designed to search and replace strings in the workspace. | == Preconditions == Fire needs Dyalog APL/W version 13.0 or better. |
Line 16: | Line 20: |
* traditional functions & operators * direct functions & operators |
* Traditional functions & operators * Direct functions & operators |
Line 22: | Line 26: |
* You can restrict the search by: * ignoring code * ignoring comments * ignoring text (=everything between quotes) * Use regular expression in your search string (`⎕S, ⎕R`) * Negate a search ("every object that does '''not''' contain...) |
* You can search... * the full source code * the full source code but comments * comments only * text only * Negate a search ("all objects that do '''not''' contain...") |
Line 30: | Line 34: |
== Difference between Dyalog's build-in Search tool and Fire == | == Difference between Dyalog's built-in Search tool and Fire == |
Line 33: | Line 37: |
* Fire reports a WS FULL only when it is reasonable to do so | |
Line 40: | Line 45: |
Specifying anything into the "Start looking here" control is supported by autocomplete: this box offers all ordinary namespaces matching the characters in "Start looking here". | Specifying anything in the "Start looking here" control is supported by autocomplete: this box offers all ordinary namespaces matching the characters in "Start looking here". |
Line 43: | Line 48: |
After having performed a search one might want to look at the lines carrying the hits. This can be achieved by selecting the "Report hits" menu command from the "Report" menu: {{attachment:HitReport.png}} The report offers a context menu on the items of the left: {{attachment:ReportHitsContextMenu.png}} |
|
Line 50: | Line 64: |
There are two mode available: | There are two modes available: |
Line 52: | Line 66: |
* In batch mode you can check all changes in one go and then either accept or discard them. | * "All in one go" allows you to check all changes first and then either accept or discard them. |
Line 55: | Line 69: |
==== Batch mode ==== | ==== "All in one go" mode ==== |
Line 57: | Line 71: |
This is the first step of three steps in Batch mode: This is the first of two steps in Batch mode: |
When you select the "Preview" button you get this: |
Line 63: | Line 75: |
It allows you to check whether everything is okay or not. Here we see a "compressed" report: it contains only the potentially changed lines. The full report would show all lines of all objects involved. You cannot change anything at this stage. | This allows you to check whether everything is okay or not. Here we see a "compressed" report: it contains only the lines which would change plus the object names plus the headers for all traditional functions and operators in order to make checking local variables easy. You cannot change anything at this stage but you can exclude certain objects from the "Replace" operation by un-ticking the check box. |
Line 69: | Line 81: |
This allows to either fix all changed objects or discard the changes. | This allows you to either change and fix all objects or not. |
Line 77: | Line 89: |
In the next step you can either fix the changes are skip this object and carry on with the next one or cancel the rest of the Replace operation: | In the next step you can either fix the changes or skip this object and carry on with the next one or cancel the whole operation: |
Line 91: | Line 103: |
---- CategoryAplTree |
Fire
Contents
Fire stands for FInd and REplace. It's designed to search and replace strings in the workspace.
Preconditions
Fire needs Dyalog APL/W version 13.0 or better.
Features
Fire's main feature is the "Replace" command which allows you in an easy yet powerful way to replace certain strings in all or selected objects.
Other features are:
- You can restrict the search to one or more of these object classes:
Traditional functions & operators
Direct functions & operators
- Classes
- Interfaces
- Scripted namespaces
- Variables
- You can search...
- the full source code
- the full source code but comments
- comments only
- text only
Negate a search ("all objects that do not contain...")
- Search only the hits of the last search
Difference between Dyalog's built-in Search tool and Fire
Fire handles circular references correctly (thanks to PhilLast)
- Fire reports a WS FULL only when it is reasonable to do so
Fire's GUI
Main Window
Specifying anything in the "Start looking here" control is supported by autocomplete: this box offers all ordinary namespaces matching the characters in "Start looking here".
After having performed a search one might want to look at the lines carrying the hits. This can be achieved by selecting the "Report hits" menu command from the "Report" menu:
The report offers a context menu on the items of the left:
The "Replace" feature
The Replace feature allows you to change the workspace on a global level:
There are two modes available:
- "All in one go" allows you to check all changes first and then either accept or discard them.
- "One-by-one" allows you to compare and edit one object after the other.
"All in one go" mode
When you select the "Preview" button you get this:
This allows you to check whether everything is okay or not. Here we see a "compressed" report: it contains only the lines which would change plus the object names plus the headers for all traditional functions and operators in order to make checking local variables easy. You cannot change anything at this stage but you can exclude certain objects from the "Replace" operation by un-ticking the check box.
This is the second and last step:
This allows you to either change and fix all objects or not.
One by one
In one-by-one mode you can check and edit a single object:
In the next step you can either fix the changes or skip this object and carry on with the next one or cancel the whole operation:
Project Page
For bug reports, future enhancements and a full version history see Fire/ProjectPage
Version Information
Original author: |
|
Responsible: |
|
Email: |