With more testing I found there were some cases where the script didn't work so I have made further improvements. Below is the new script. I set command+left to be the shortcut for it, which works out pretty well.
--------------------------------- tell application "BBEdit" -- Find the character offset for the cursor position set aaa to (characterOffset of line (startLine of selection)) of front window set zzz to (characterOffset of selection) set _cursor to zzz - aaa set _smart to 0 -- Get the column number of the first non-whitespace character set _line to contents of line (startLine of selection) of front window -- Ensure line is not empty if (count _line) = 0 then return -- Go through content of line looking for smart home position set _len to count (_line as text) repeat with _i from 1 to _len if item _i of _line is not in {space, tab} then set _smart to _i - 1 exit repeat end if end repeat -- Check if we never found non-whitespace if item _i of _line is in {space, tab} then set _smart to _len -- Only true if there was no starting whitespace if _smart = 0 then set _smart to 1 set _cursor to 1 end if -- Check if not at smart position already if _cursor is not equal to (_smart) then -- Go to smart home select insertion point after (character (_smart) of line (startLine of selection) of front window) else -- Just go to start of line select insertion point before (character (1) of line (startLine of selection) of front window) end if end tell --------------------------------- -Kendall On Jul 31, 8:32 am, Kendall Conrad <angelw...@gmail.com> wrote: > I reworked your code some and got it to work properly as far as my > testing found. > -- 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 bbedit@googlegroups.com To unsubscribe from this group, send email to bbedit+unsubscr...@googlegroups.com 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 "supp...@barebones.com" rather than posting to the group.