Hey Chris,

Cool. I’ll dive into it during the weekend.

Thanks!

Alfredo



> On Aug 24, 2018, at 12:54 PM, Christopher Stone <[email protected]> 
> wrote:
> 
> On 08/20/2018, at 15:15, F. Alfredo Rego <[email protected] 
> <mailto:[email protected]>> wrote:
>> Rich will probably give me some grief but here is what I did, in case my 
>> fellow BBEdit users might find this useful.
> 
> 
> Hey Alfredo,
> 
> Here's a live working solution.
> 
> It's a bit quick and dirty, so the formatting isn't as precise as I'd like – 
> but I don't have time to do better right now.
> 
> I've provided the source and a compiled AppleScript which can be opened and 
> run with the Script Editor.app (or Script Debugger <https://latenightsw.com/> 
> -- SD-Lite is now free).
> 
> Install here:
> 
> ~/Library/Application Support/BBEdit/Scripts/
> 
> Give it a keyboard shortcut and go-to-town.
> 
> --
> Best Regards,
> Chris
> 
> ----------------------------------------------------------------
> # Auth: Christopher Stone
> # dCre: 2018/08/24 13:36
> # dMod: 2018/08/24 13:48
> # Appl: BBEdit, AppleScript & Perl
> # Task: Extract Recent Find Strings from BBEdit Preferences.
> # Libs: None
> # Osax: None
> # Tags: @Applescript, @Script, @Save, @Perl, @Extract, @Recent, @Find, 
> @Strings, @Prefs, @Preferences
> ----------------------------------------------------------------
> 
> set scriptSrc to text 2 thru -1 of "
> #!/usr/bin/env perl -0777 -nsw
> use v5.010;
> 
> $_ = `
>     plutil -convert xml1 ~/Library/Preferences/com.barebones.bbedit.plist -o 
> - 
> `;
> 
> /<key>FindDialog_SearchReplaceHistory.+<key>FindDialog_SelectedSourceNodes<\\/key>/ms;
> 
> $_ = $&;
> 
> s!^\\h*<key>(FindDialog_SearchReplaceHistory|FindDialog_SelectedSourceNodes)</key>\\R?!!gm;
> s!^\\h*</?array>\\R?!!gm;
> s!^\\t\\t!!gm;
> s!^\\h*<key>(CaseSensitive|EntireWord|GrepEnabled|SearchDate|WrapAround)</key>\\R?!!gm;
> s!^\\h*<(true|false)/>\\R?!!gm;
> s!<dict>\\R?!!gm;
> s!</dict>\\R*\\Z!!gm;
> s!<key>SearchString</key>\\R?!<key>Find:</key>!gm;
> s!<key>ReplaceString</key>\\R?!<key>Replace:</key>!gm;
> s!<string>!“!gm;
> s!</string>!”!gm;
> s!</?(?:date|key)>!!gm;
> s!^\\h+!!gm;
> s!^\\h*Replace:!Repl:!gm;
> s!^(\\d+.+)Z!$1:!gm;
> 
> my @array = split(/\\n+<\\/dict>\\n+/, $_);
> 
> $, = \"\\n\";
> 
> my $temp;
> my @temp;
> 
> foreach ( @array ) {
>     @temp = split(\"\\n\", $_);
>     @temp = sort @temp;
>       $temp = join \" \", @temp;
>       $_ = $temp;
> }
> 
> $_ = join \"\\n\", @array;
> 
> s!\\h*(Repl:)!\\t\\t\\t$1!gm;
> 
> print;
> "
> 
> set dataStr to do shell script "
> perl -f <<< " & quoted form of scriptSrc
> 
> ----------------------------------------------------------------
> 
> tell application "BBEdit"
>     activate
>     set newDoc to make new document with properties {text:dataStr, bounds:{0, 
> 44, 1920, 1200}}
>     tell newDoc
>         select insertion point before its text
>         translate html to text with entity conversion without create new 
> document
>     end tell
> 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 
> <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] 
> <mailto:[email protected]>.
> To post to this group, send email to [email protected] 
> <mailto:[email protected]>.
> Visit this group at https://groups.google.com/group/bbedit 
> <https://groups.google.com/group/bbedit>.
> <Extract Recent Find Strings from BBEdit Preferences.scptd.zip>
> 
> -- 
> 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 
> <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] 
> <mailto:[email protected]>.
> To post to this group, send email to [email protected] 
> <mailto:[email protected]>.
> Visit this group at https://groups.google.com/group/bbedit 
> <https://groups.google.com/group/bbedit>.

-- 
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].
Visit this group at https://groups.google.com/group/bbedit.

Reply via email to