# HG changeset patch # User Claus Gittinger # Date 1371984406 -7200 # Node ID 78f5bc887da1400b8ed654c8086579d31ae9e947 # Parent 560f12815e0f8fb49d0fca5278bf7f9b7835c101 class: Tools::CodeView2 syntaxElement access diff -r 560f12815e0f -r 78f5bc887da1 Tools__CodeView2.st --- a/Tools__CodeView2.st Sun Jun 23 12:44:44 2013 +0200 +++ b/Tools__CodeView2.st Sun Jun 23 12:46:46 2013 +0200 @@ -3144,56 +3144,6 @@ ^ true "Created: / 08-03-2012 / 14:01:51 / cg" -! - -syntaxElementAtPosition:position - "if there is a syntax element for a variable under the cursor? - If so, return the element; otherwise, return nil" - - |syntaxElements el element| - - syntaxElements := codeView syntaxElements. - syntaxElements isEmptyOrNil ifTrue:[^ nil]. - el := syntaxElements detect:[:el | position between:el start and:el stop] ifNone:nil. - el isNil ifTrue:[^ nil]. - element := 1234. - ^ el. - - "Created: / 08-03-2012 / 14:21:52 / cg" -! - -syntaxElementForSelectedVariable - "if there is a syntax element for a variable under the cursor? - If so, return the element; otherwise, return nil" - - |element startPosition endPosition| - - self selectionAsString isEmptyOrNil ifTrue:[^ nil]. - startPosition := self characterPositionOfLine:selectionStartLine col:selectionStartCol. - endPosition := self characterPositionOfLine:selectionEndLine col:selectionEndCol. - element := self syntaxElementAtPosition:startPosition. - element isNil ifTrue:[^ nil]. - (element start = startPosition and:[element stop = endPosition]) ifFalse:[^ nil]. - - element isNil ifTrue:[^ nil]. - element isVariableOrSelf ifFalse:[^ nil]. - ^ element - - "Created: / 08-03-2012 / 14:21:15 / cg" -! - -syntaxElementForVariableUnderCursor - "if there is a syntax element for a variable under the cursor? - If so, return the element; otherwise, return nil" - - |elementUnderCursor | - - elementUnderCursor := self syntaxElementAtPosition:(self characterPositionOfCursor). - elementUnderCursor isNil ifTrue:[^ nil]. - elementUnderCursor isVariableOrSelf ifFalse:[^ nil]. - ^ elementUnderCursor. - - "Created: / 08-03-2012 / 12:44:03 / cg" ! ! !CodeView2::TextView methodsFor:'notification'! @@ -3341,6 +3291,70 @@ supportsSyntaxElements ^ true +! + +syntaxElementAtPosition:position + "is there is a syntax element at position? + If so, return the element; otherwise, return nil" + + |syntaxElements el element| + + syntaxElements := codeView syntaxElements. + syntaxElements isEmptyOrNil ifTrue:[^ nil]. + el := syntaxElements detect:[:el | position between:el start and:el stop] ifNone:nil. + el isNil ifTrue:[^ nil]. + element := 1234. + ^ el. + + "Created: / 08-03-2012 / 14:21:52 / cg" +! + +syntaxElementForSelectedVariable + "is there is a syntax element for a variable under the cursor? + If so, return the element; otherwise, return nil" + + |element startPosition endPosition| + + self selectionAsString isEmptyOrNil ifTrue:[^ nil]. + startPosition := self characterPositionOfLine:selectionStartLine col:selectionStartCol. + endPosition := self characterPositionOfLine:selectionEndLine col:selectionEndCol. + element := self syntaxElementAtPosition:startPosition. + element isNil ifTrue:[^ nil]. + (element start = startPosition and:[element stop = endPosition]) ifFalse:[^ nil]. + + element isNil ifTrue:[^ nil]. + element isVariableOrSelf ifFalse:[^ nil]. + ^ element + + "Created: / 08-03-2012 / 14:21:15 / cg" +! + +syntaxElementForSelectorUnderCursor + "is there is a syntax element for a message selector under the cursor? + If so, return the element; otherwise, return nil" + + |elementUnderCursor | + + elementUnderCursor := self syntaxElementAtPosition:(self characterPositionOfCursor). + elementUnderCursor isNil ifTrue:[^ nil]. + elementUnderCursor isSelector ifFalse:[^ nil]. + ^ elementUnderCursor. + + "Created: / 08-03-2012 / 12:44:03 / cg" +! + +syntaxElementForVariableUnderCursor + "is there is a syntax element for a variable under the cursor? + If so, return the element; otherwise, return nil" + + |elementUnderCursor | + + elementUnderCursor := self syntaxElementAtPosition:(self characterPositionOfCursor). + elementUnderCursor isNil ifTrue:[^ nil]. + elementUnderCursor isVariableOrSelf ifFalse:[^ nil]. + ^ elementUnderCursor. + + "Created: / 08-03-2012 / 12:44:03 / cg" ! ! !CodeView2::TextView methodsFor:'scrolling'! @@ -3492,15 +3506,15 @@ !CodeView2 class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.85 2013-06-21 07:52:23 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.86 2013-06-23 10:46:46 cg Exp $' ! version_CVS - ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.85 2013-06-21 07:52:23 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/Tools__CodeView2.st,v 1.86 2013-06-23 10:46:46 cg Exp $' ! version_SVN - ^ '$Id: Tools__CodeView2.st,v 1.85 2013-06-21 07:52:23 cg Exp $' + ^ '$Id: Tools__CodeView2.st,v 1.86 2013-06-23 10:46:46 cg Exp $' ! !