Hey Christopher,

Just a minor request to your existing script. This works fantastically if 
you line starts with the bullet. Assuming you have some indentation like 4 
tab stops and then the bullet, the script stops. I made a couple of mods to 
the script as follows:

---------------------------------------------------------------------------------------
    tell application "BBEdit"
        try
            tell text of front text window
                set lineOfInsertionPoint to line (startLine of selection)
                set findReco to find "^\\d+\\." searching in 
lineOfInsertionPoint options {search mode:grep}
                if found of findReco = true then
                    set leadingNumber to text 1 thru -2 of (found text of 
findReco)
                    set text of selection to return & (leadingNumber + 1) & 
". "
                    select insertion point after selection
                else if found of findReco = false then
                    set findReco to find "^\\* " searching in 
lineOfInsertionPoint options {search mode:grep}
                    if found of findReco = true then
                        set text of selection to return & "* "
                        select insertion point after selection
                    else
                        set findReco to find "^\\s*\\+" searching in 
lineOfInsertionPoint options {search mode:grep}
                        if found of findReco = true then
                            
                            set text of selection to return & tab & "+ "
                            select insertion point after selection
                        end if
                    end if
                end if
            end tell
        on error errMsg number errNum
            set sep to "=============================="
            set e to sep & return & "Error: " & errMsg & return & sep & 
return ¬
                & "Error Number: " & errNum & return & sep
            beep
            display dialog e
        end try
    end tell
---------------------------------------------------------------------------------------


Essentially the \s* helps ignore white space at the beginning. There's just 
one problem with my script. It inserts the new bullet point ignoring the 
previous number of tab stops. Is there a way in applescript to get hold of 
the number of tab stops and insert that at the beginning as well?

Thanks again.


On Monday, August 8, 2011 7:04:04 AM UTC+3, Christopher Stone wrote:
>
> On Aug 07, 2011, at 21:35, oliver wrote:
>
> I'm thinking it might have to be an AppleScript to select the line and 
> then call a Text Filter to handle finding the number/star and appending the 
> next one... but my kung fu is not strong enough to figure it out.
>
> ______________________________________________________________________
>
> Hey Oliver,
>
> This is very quick and dirty, but it'll work with the numerical increment 
> and the asterisk bullet.
>
> It's expecting the insertion point (cursor) to be at the end of the line, 
> but it could easily be adjusted so that anywhere in the line would do.
>
> You can put it in the script menu and give it a keyboard shortcut and go 
> to town.
>
> The logic is pretty straightforward, so you can add more characters like 
> '•' to the mix if desired.
>
> --
> Best Regards,
> Chris
>
> ______________________________________________________________________
>
>
> tell application "BBEdit"
>   try
>     tell text of front text window
>       set lineOfInsertionPoint to line (startLine of selection)
>       set findReco to find "^\\d+\\." searching in lineOfInsertionPoint 
> options {search mode:grep}
>       if found of findReco = true then
>         set leadingNumber to text 1 thru -2 of (found text of findReco)
>         set text of selection to return & (leadingNumber + 1) & ". "
>         select insertion point after selection
>       else if found of findReco = false then
>         set findReco to find "^\\* " searching in lineOfInsertionPoint 
> options {search mode:grep}
>         if found of findReco = true then
>           set text of selection to return & "* "
>           select insertion point after selection
>         end if
>       end if
>     end tell
>   on error errMsg number errNum
>     set sep to "=============================="
>     set e to sep & return & "Error: " & errMsg & return & sep & return ¬
>       & "Error Number: " & errNum & return & sep
>     beep
>     display dialog e
>   end try
> end tell
>

-- 
You received this message because you are subscribed to the 
"BBEdit Talk" discussion group on Google Groups.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
<http://groups.google.com/group/bbedit?hl=en>
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>

Reply via email to