Differences between revisions 20 and 31 (spanning 11 versions)
Revision 20 as of 2011-08-05 07:39:08
Size: 2831
Editor: KaiJaeger
Comment: Remark added regarding a SALT bug
Revision 31 as of 2017-04-08 06:53:27
Size: 538
Editor: KaiJaeger
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
<<TableOfContents>> = User Command "Fire" =
Line 3: Line 3:
= User Command "ScriptManager" =
Line 5: Line 4:
`ScriptManager` (ScriptManager) is a utility useful to manage scripts in a workspace. Fire is a powerful utility designed to search and replace strings in a workspace. Fire stands for FInd and REplace.
Line 7: Line 6:
Obviously it makes sense to make `ScriptManager` available as a User Command.

This page offers a small class script `ScriptManager_UC.dyalog` which is designed to do exactly that.

== Assumptions ==
In order to make `ScriptManager` available as a user command the script `ScriptManager_UC.dyalog` ("UC" for User Command) attached to this page must go somewhere where Dyalog is able to find it. There are to options:

 * Move it into `Salt\Spice` inside the Dyalog installation folder. That's where the Dyalog User Commands are located.
 * Create a particular folder for your own User Commands.

Although the first option is certainly easier, it's actually the second one which is recommended. There are a couple of reasons:

 * Messing Dyalog scripts with your scripts is not a good idea.
 * When a new version of Dyalog arrives you are in trouble.
 * Having a separate folder for your own User Commands allows you to overwrite a Dyalog User Command with an improved version you are not going to loose in case of an update or a new version.

To make your own User Command folder work you have to do a couple of things:

 1. Add the folder to the SALT search path.
 1. Create another folder which is going to host the "real thing". A recommended name is "!UserCommandCode".
 1. Copy the script `ScriptManager_UC.dyalog` from the ScriptManager page into that folder.
 1. Create a registry entry pointing to that new folder with the name `HKEY_CURRENT_USER\Software\Dyalog\Dyalog APL/W 12.1 Unicode\SALT\CodeFolder`

Note that the script attached to this page only deals with one issue: find the real work horse and call it, see below.

In order to achieve that the script `ScriptManager_UC.dyalog` reads the `HKEY_CURRENT_USER\Software\Dyalog\Dyalog APL/W 12.1 Unicode\SALT\CodeFolder` from the Windows registry. It then tries to load the "real" `ScriptManager` script from that folder.

Note that not only our examples given on this page but also the code in `ScriptManager_UC.dyalog` all refer to version 12.1 Unicode of Dyalog. If your are using a different version of Dyalog of course you must change the script, otherwise it's not going to work.

== Problem with SALT ==

When you get a "Target namespace not found" error reported by SALT but crashing `ScriptManager` than you are using an outdated version of SALT. Ask Dyalog for a better version of SALT where this bug got fixed.

== Download ==

[[attachment:ScriptManager_UC.zip | Download]] the script.
Fire is designed to be used as a User Command. Therefore the User Command script is part of the download of Fire itself. See [[Fire]] for details.
Line 45: Line 9:
The script is version 1.0.0 from 2011-08-04
Line 47: Line 10:
Author: KaiJaeger You can download just the script from this page: [[attachment:Fire_UC.dyalog]]
Line 49: Line 12:
-- KaiJaeger <<DateTime(2011-08-04T20:13:42Z)>> This is version 1.2.0 from 2015-04-04.

-- KaiJaeger <<DateTime(2012-03-21T09:03:31Z)>>

User Command "Fire"

Overview

Fire is a powerful utility designed to search and replace strings in a workspace. Fire stands for FInd and REplace.

Fire is designed to be used as a User Command. Therefore the User Command script is part of the download of Fire itself. See Fire for details.

Version

You can download just the script from this page: Fire_UC.dyalog

This is version 1.2.0 from 2015-04-04.

-- KaiJaeger 2012-03-21 09:03:31


CategoryDyalogUserCommands

UserCommands/fire (last edited 2019-05-30 07:57:07 by KaiJaeger)