David- Thursday, July 25, 2013, 5:17:20 PM, you wrote:
> Has anyone scripted a function that will locate the closing > parenthesis (or bracket, etc.) of a pair? Below is my effort. > Reports of its limitations or simpler alternatives (regex?) are invited. Here's the one I wrote for glx2. I don't know if it counts as simpler, but it does the trick. It's called from the mouseDown handler when the user right-clicks on a parenthesis, thus the clickline and chunk parameters. private function FindMatching pClickLine, pChunk local tResult local tToken local tCharNum local tHowMany local tStartPos, tEndPos lock screen put false into tResult put word 2 of pChunk into tCharNum put char tCharNum of me into tToken put 1 into tHowMany switch tToken case "(" put tCharNum into tStartPos repeat with x=1 to the number of chars in me switch char tCharNum+x of me case tToken add 1 to tHowMany break case ")" subtract 1 from tHowMany if tHowMany is 0 then put tCharNum+x into tEndPos put true into tResult exit repeat end if break end switch end repeat break case ")" repeat with x=tCharNum-1 down to 1 switch char x of me case tToken add 1 to tHowMany break case "(" subtract 1 from tHowMany if tHowMany is 0 then put x into tStartPos put tCharNum into tEndPos put true into tResult exit repeat end if break end switch end repeat break end switch if tResult is true then -- now you have tStartPos and tEndPos in the line set the backcolor of char tStartPos to tEndPos of me to \ "orange" end if unlock screen return tResult end FindMatching -- -Mark Wieder mwie...@ahsoftware.net _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode