Skip to content

Commit

Permalink
Refactor: #clear_search_area and #set_search_area .
Browse files Browse the repository at this point in the history
  • Loading branch information
Pistos committed Apr 19, 2015
1 parent be48df5 commit e43f22b
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 23 deletions.
44 changes: 25 additions & 19 deletions lib/diakonos/buffer/searching.rb
Original file line number Diff line number Diff line change
Expand Up @@ -24,27 +24,33 @@ def search_area?
@search_area
end

def search_area=( mark )
@search_area = mark
def clear_search_area
@search_area = nil
@text_marks.delete :search_area_pre
@text_marks.delete :search_area_post
end

def set_search_area(mark)
if mark.nil?
@text_marks.delete :search_area_pre
@text_marks.delete :search_area_post
else
@text_marks[ :search_area_pre ] = TextMark.new(
0,
0,
mark.start_row,
mark.start_col,
@settings[ 'view.non_search_area.format' ]
)
@text_marks[ :search_area_post ] = TextMark.new(
mark.end_row,
mark.end_col,
@lines.length - 1,
@lines[ -1 ].length,
@settings[ 'view.non_search_area.format' ]
)
raise 'Call Diakonos::Buffer#clear_search_area instead'
return
end

@search_area = mark
@text_marks[ :search_area_pre ] = TextMark.new(
0,
0,
mark.start_row,
mark.start_col,
@settings[ 'view.non_search_area.format' ]
)
@text_marks[ :search_area_post ] = TextMark.new(
mark.end_row,
mark.end_col,
@lines.length - 1,
@lines[ -1 ].length,
@settings[ 'view.non_search_area.format' ]
)
end

def establish_finding( regexps, search_area, from_row, from_col, match )
Expand Down
6 changes: 3 additions & 3 deletions lib/diakonos/functions/search.rb
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ def find( regexp_source_ = nil, options = {} )
if regexp_source_
regexp_source = regexp_source_
else
buffer_current.search_area = nil
buffer_current.clear_search_area
m = buffer_current.selection_mark
if m
if m.start_row != m.end_row
buffer_current.search_area = buffer_current.selection_mark
buffer_current.set_search_area buffer_current.selection_mark
buffer_current.remove_selection
else
selected_text = buffer_current.copy_selection[ 0 ]
Expand Down Expand Up @@ -116,7 +116,7 @@ def find_again( direction = :down )
# @see #find
# @see #find_again
def find_exact( direction = :down, search_term_ = nil )
buffer_current.search_area = nil
buffer_current.clear_search_area
if search_term_.nil?
if buffer_current.changing_selection
selected_text = buffer_current.copy_selection[ 0 ]
Expand Down
2 changes: 1 addition & 1 deletion lib/diakonos/keying.rb
Original file line number Diff line number Diff line change
Expand Up @@ -381,7 +381,7 @@ def process_keystroke( context = [], mode = 'edit', ch = nil )

begin
if buffer_current.search_area? && ! ( /^(?:find|readline)/ === to_eval )
buffer_current.search_area = nil
buffer_current.clear_search_area
end
eval to_eval, nil, "eval"
@functions_last << to_eval unless to_eval == "repeat_last"
Expand Down

0 comments on commit e43f22b

Please sign in to comment.