Thanks. I will look into this. Near the edge of my comfort 
zone/capabilities  :)

On Tuesday, November 10, 2015 at 9:39:20 AM UTC-8, Christopher Stone wrote:
>
> On Nov 10, 2015, at 04:23, Robert Livingston <[email protected] 
> <javascript:>> wrote:
>
> Thanks for chiming in. The problem is that I have to monitor the 
> replacements. Sometimes they are appropriate. Sometimes not.
>
> What I am doing is editing an OCR'ed document. There are certain patterns 
> that are commonly errors but sometime legitimate.
>
> ______________________________________________________________________
>
> Hey Robert,
>
> Scope out my Keyboard Maestro macro: Toggle Between Window 1 and Window 2 
> in any Application 
> <https://forum.keyboardmaestro.com/t/toggle-between-window-1-and-window-2-in-any-application/1960>
>
> Find can also be scripted:
>
> *tell* *application* "BBEdit"
>   *tell* *text* *of* *front* *text window*
>     *find* ".*have.*" options {search mode:*grep*, case sensitive:*false*, 
> starting at top:*true*} *with* selecting match
>   *end* *tell*
> *end* *tell*
>
> Although this does NOT populate the Find Window.
>
> Populating the Find Window is possible with AppleScript if a bit overly 
> complicated, although this is waaay faster and more reliable than driving 
> the UI with Keyboard Maestro.
>
> ------------------------------------------------------------
> *set* findString *to* "partial workaround"
> *set* replaceString *to* "partial work-around"
>
> *tell* *application* "BBEdit"
>   *select* *insertion point* *before* *text* *of* *front* *text window*
>
>   
>   *if* visible *of* find window = *false* *then*
>     *open* find window
>   *else* *if* index *of* find window > 1 *then*
>     *set* index *of* find window *to* 1
>   *end* *if*
>
>   
>   *tell* find window
>     *set* *text* 1 *to* findString
>     *set* *text* 2 *to* replaceString
>   *end* *tell*
>
>   
>   *set* index *of* *window* 2 *to* 1
>
>   
> *end* *tell*
> ------------------------------------------------------------
>
> The Find Window has to be OPEN and FRONTMOST for the changes to stick.
>
> The script manages that way faster than you can by hand.
>
> If you're integrating with Keyboard Maestro then you may need to get/set 
> KM variables:
>
> ---------------------------------------------------------------------
> # Keyboard Maestro — Get value of variable "<variable name>"
> ---------------------------------------------------------------------
>
> *tell* *application* "Keyboard Maestro Engine"
>   *set* kmVariableName *to* "X"
>   *if* length *of* (*get* *variables* *whose* name *is* kmVariableName) = 
> 1 *then*
>     *set* myValue *to* value *of* *variable* kmVariableName
>   *else*
>     *error* "Variable '" & kmVariableName & "' does not exist!"
>   *end* *if*
> *end* *tell*
>
> ---------------------------------------------------------------------
> # Keyboard Maestro — Set value of variable "<variable name>"
> ---------------------------------------------------------------------
>
> *tell* *application* "Keyboard Maestro Engine"
>   *set* kmVariableName *to* "myVariableName"
>   *try*
>     *set* value *of* *variable* kmVariableName *to* myText
>   *on* *error*
>     *make* new *variable* with properties {name:kmVariableName, value:
> myText}
>   *end* *try*
> *end* *tell*
>
> ---------------------------------------------------------------------
>
> The Find Window options (checkboxes) can be managed via AppleScript and 
> System Events:
>
> ------------------------------------------------------------
> *property* findOptionsOn : *true*
>
> *if* findOptionsOn *then*
>
>   
>   ---------------------------------------------
>   # Turn ON all find-options.
>   ---------------------------------------------
>   *tell* *application* "BBEdit"
>     *if* *front* *window* *is* *not* find window *then* *open* find window
>     *tell* *application* "System Events"
>       *if* quit delay *is* *not* 0 *then* *set* quit delay *to* 0
>       *tell* *application process* "BBEdit"
>         *set* frontmost *to* *true*
>         *tell* *UI element* 6 *of* *window* "Find"
>           *tell* *checkbox* "Case sensitive"
>             *if* *its* value = 0 *then* *click*
>           *end* *tell*
>           *tell* *checkbox* "Entire Word"
>             *if* *its* value = 0 *then* *click*
>           *end* *tell*
>           *tell* *checkbox* "Grep"
>             *if* *its* value = 0 *then* *click*
>           *end* *tell*
>           *tell* *checkbox* "Selected text only"
>             *if* *its* value = 0 *then* *click*
>           *end* *tell*
>           *tell* *checkbox* "Wrap around"
>             *if* *its* value = 0 *then* *click*
>           *end* *tell*
>         *end* *tell*
>       *end* *tell*
>     *end* *tell*
>
>     
>     # close find window
>
>     
>   *end* *tell*
> ...

-- 
This is the BBEdit Talk public discussion group. If you have a 
feature request or would like to report a problem, please email
"[email protected]" rather than posting to the group.
Follow @bbedit on Twitter: <http://www.twitter.com/bbedit>

--- 
You received this message because you are subscribed to the Google Groups 
"BBEdit Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].

Reply via email to