8000 search text: code cleaning [feenkcom/gtoolkit#4504] · feenkcom/Brick@165c7fd · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Commit 165c7fd

Browse files
committed
search text: code cleaning [feenkcom/gtoolkit#4504]
clean mark next and previous
1 parent fb451fa commit 165c7fd

File tree

2 files changed

+37
-36
lines changed

2 files changed

+37
-36
lines changed

src/Brick/BrEditorSearchTextMarker.class.st

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,17 @@ BrEditorSearchTextMarker >> mark: aMarkContext [
5454
{ #category : #'api - styling' }
5555
BrEditorSearchTextMarker >> markNext: aMarkContext [
5656
aMarkContext editorModelTextDo: [ :aCurrentText |
57-
| aCurrentItem aNewItem |
57+
| aCurrentItem aNewItem aNewIndex |
5858

5959
aCurrentItem := aMarkContext selectedItem.
60-
aNewItem := aMarkContext computeNextItem.
60+
aCurrentItem ifNil: [ ^ self ].
61+
62+
aNewIndex := aCurrentItem index + 1.
63+
aNewIndex > aMarkContext patternItems size ifTrue: [ aNewIndex := 1 ].
64+
aNewItem := aMarkContext patternItems at: aNewIndex.
65+
aCurrentItem isSelected: false.
66+
aNewItem isSelected: true.
67+
aMarkContext selectedItem: aNewItem.
6168

6269
self switchText: aCurrentText attributeFor: aCurrentItem.
6370
self switchText: aCurrentText attributeFor: aNewItem.
@@ -68,10 +75,17 @@ BrEditorSearchTextMarker >> markNext: aMarkContext [
6875
{ #category : #'api - styling' }
6976
BrEditorSearchTextMarker >> markPrevious: aMarkContext [
7077
aMarkContext editorModelTextDo: [ :aCurrentText |
71-
| aCurrentItem aNewItem |
78+
| aCurrentItem aNewItem aNewIndex |
7279

7380
aCurrentItem := aMarkContext selectedItem.
74-
aNewItem := aMarkContext computePreviousItem.
81+
aCurrentItem ifNil: [ ^ self ].
82+
83+
aNewIndex := aCurrentItem index - 1.
84+
aNewIndex < 1 ifTrue: [ aNewIndex := aMarkContext patternItems size ].
85+
aNewItem := aMarkContext patternItems at: aNewIndex.
86+
aCurrentItem isSelected: false.
87+
aNewItem isSelected: true.
88+
aMarkContext selectedItem: aNewItem.
7589

7690
self switchText: aCurrentText attributeFor: aCurrentItem.
7791
self switchText: aCurrentText attributeFor: aNewItem.

src/Brick/BrEditorSearchTextMarkerContext.class.st

Lines changed: 19 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -28,38 +28,6 @@ Class {
2828
#category : #'Brick-Editor - Search'
2929
}
3030

31-
{ #category : #'api - result' }
32-
BrEditorSearchTextMarkerContext >> computeNextItem [
33-
<return: #BrEditorSearchTextItem>
34-
| aNewIndex aNewItem anIndex aCurrentItem |
35- aCurrentItem := self selectedItem.
36-
aCurrentItem ifNil: [ self ].
37-
anIndex := self patternItems identityIndexOf: aCurrentItem ifAbsent: [ self ].
38-
aNewIndex := anIndex + 1.
39-
aNewIndex > self patternItems size ifTrue: [ aNewIndex := 1 ].
40-
aNewItem := self patternItems at: aNewIndex.
41-
aCurrentItem isSelected: false.
42-
aNewItem isSelected: true.
43-
selectedItem := aNewItem.
44-
^ aNewItem
45-
]
46-
47-
{ #category : #'api - result' }
48-
BrEditorSearchTextMarkerContext >> computePreviousItem [
49-
<return: #BrEditorSearchTextItem>
50-
| aNewIndex aNewItem anIndex aCurrentItem |
51-
aCurrentItem := self selectedItem.
52-
aCurrentItem ifNil: [ self ].
53-
anIndex := self patternItems identityIndexOf: aCurrentItem ifAbsent: [ self ].
54-
aNewIndex := anIndex - 1.
55-
aNewIndex < 1 ifTrue: [ aNewIndex := self patternItems size ].
56-
aNewItem := self patternItems at: aNewIndex.
57-
aCurrentItem isSelected: false.
58-
aNewItem isSelected: true.
59-
selectedItem := aNewItem.
60-
^ aNewItem
61-
]
62-
6331
{ #category : #'api - accessing' }
6432
BrEditorSearchTextMarkerContext >> editorModelText [
6533
"Return a current editor model text.
@@ -167,6 +135,25 @@ BrEditorSearchTextMarkerContext >> selectedItem [
167135
ifNone: [ nil ]
168136
]
169137

138+
{ #category : #'api - result' }
139+
BrEditorSearchTextMarkerContext >> selectedItem: aBrEditorSearchTextItem [
140+
self
141+
assert: [ self patternItems isNotEmpty ]
142+
description: [ 'There are no pattern items' ].
143+
144+
selectedItem
145+
ifNotNil: [ :anItem |
146+
self
147+
assert: [ anItem isSelected not 7B8F ]
148+
description: [ 'Currently selected item is still marked as selected' ] ].
149+
150+
self
151+
assert: [ aBrEditorSearchTextItem isSelected ]
152+
description: [ 'New selected item must be marked as selected' ].
153+
154+
selectedItem := aBrEditorSearchTextItem
155+
]
156+
170157
{ #category : #'api - result' }
171158
BrEditorSearchTextMarkerContext >> selectedLine [
172159
"Return line number for a given selected item"

0 commit comments

Comments
 (0)
0