Differences between revisions 11 and 25 (spanning 14 versions)
Revision 11 as of 2012-03-20 09:13:40
Size: 3104
Editor: KaiJaeger
Comment: Version 1.0.0
Revision 25 as of 2017-07-11 10:03:21
Size: 3684
Editor: KaiJaeger
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:

~-<<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:
{{{Fire}}} is part of the CategoryAplTree project.
Line 6: Line 10:

== Preconditions ==

Preconditions changes with version, there see the [[Fire/ProjectPage|project page]] for details.
Line 13: Line 21:
 * 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
 * Use regular expression in your search string (`⎕S, ⎕R`)
 * Negate a search ("all objects that do '''not''' contain...")
 * Search only the hits of the last search
 * You can restrict the search to one or more of these:
    * Functions, operators, classes, interfaces and namespace scripts.
    * Name search (`⎕NL`).
 * You can search any combination of
    * the APL source code (that's everything but stuff within quotes (text) and comments.
    * comments.
    * text.
 * Negate a search ("all objects that do '''not''' contain...").
 * Search only the hits of the last search.
Line 29: Line 31:
== Difference between Dyalog's build-in Search tool and Fire == == Difference between Dyalog's built-in Search tool and Fire ==
Line 44: Line 46:
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 57: Line 68:
This is the first of three steps:

{{attachment:Replace2.png}}

This is a reminder that for "Replace" it's always the whole hit list that is processed, not only the selection.

This is the second step:
When you select the "Preview" button you get this:
Line 67: Line 72:
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. 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 74:
This is the third and last step: This is the second and last step:
Line 89: Line 94:
== How to get Fire ==

 * Download the zip file (link see below)
 * Unzip it
 * Read `HowToInstall.html` and follow the instructions

Fire

(Hide table-of-contents)

Fire is part of the CategoryAplTree project.

fire.png Fire stands for FInd and REplace. It's designed to search and replace strings in the workspace.

Preconditions

Preconditions changes with version, there see the project page for details.

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:
    • Functions, operators, classes, interfaces and namespace scripts.
    • Name search (⎕NL).

  • You can search any combination of
    • the APL source code (that's everything but stuff within quotes (text) and comments.
    • comments.
    • text.
  • 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

Fire_01.png

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".

Fire_02.png

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:

HitReport.png

The report offers a context menu on the items of the left:

ReportHitsContextMenu.png

The "Replace" feature

The Replace feature allows you to change the workspace on a global level:

Replace.png

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:

Batch_02.png

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:

Batch_03.png

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:

OneByOne_01.png

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:

OneByOne_02.png

Project Page

For bug reports, future enhancements and a full version history see Fire/ProjectPage

How to get Fire

  • Download the zip file (link see below)
  • Unzip it
  • Read HowToInstall.html and follow the instructions

Version Information

Original author:

KaiJaeger

Responsible:

KaiJaeger

Email:

kai@aplteam.com


CategoryAplTree

Fire (last edited 2018-03-03 11:50:12 by KaiJaeger)