lib/textbringer/commands/isearch.rb in textbringer-0.1.8 vs lib/textbringer/commands/isearch.rb in textbringer-0.1.9

- old
+ new

@@ -16,11 +16,11 @@ end ISEARCH_MODE_MAP.define_key(:backspace, :isearch_delete_char) ISEARCH_MODE_MAP.define_key(?\C-h, :isearch_delete_char) ISEARCH_MODE_MAP.define_key(?\C-s, :isearch_repeat_forward) ISEARCH_MODE_MAP.define_key(?\C-r, :isearch_repeat_backward) - ISEARCH_MODE_MAP.define_key(?\n, :isearch_exit) + ISEARCH_MODE_MAP.define_key(?\C-m, :isearch_exit) ISEARCH_MODE_MAP.define_key(?\C-g, :isearch_abort) ISEARCH_STATUS = { forward: true, string: "", @@ -28,15 +28,17 @@ start: 0, last_pos: 0, recursive_edit: false } - define_command(:isearch_forward) do |**options| + define_command(:isearch_forward, + doc: "Incrementally search forward.") do |**options| isearch_mode(true, **options) end - define_command(:isearch_backward) do |**options| + define_command(:isearch_backward, + doc: "Incrementally search backward.") do |**options| isearch_mode(false, **options) end def isearch_mode(forward, recursive_edit: false) ISEARCH_STATUS[:forward] = forward @@ -76,26 +78,30 @@ if ISEARCH_STATUS[:recursive_edit] exit_recursive_edit end end - define_command(:isearch_exit) do + define_command(:isearch_exit, doc: "Exit incremental search.") do isearch_done end - define_command(:isearch_abort) do + define_command(:isearch_abort, doc: "Abort incremental search.") do goto_char(Buffer.current[:isearch_start]) isearch_done raise Quit end - define_command(:isearch_printing_char) do + define_command(:isearch_printing_char, doc: <<~EOD) do + Add the typed character to the search string and search. + EOD c = Controller.current.last_key ISEARCH_STATUS[:string].concat(c) isearch_search end - define_command(:isearch_delete_char) do + define_command(:isearch_delete_char, doc: <<~EOD) do + Delete the last character from the search string and search. + EOD ISEARCH_STATUS[:string].chop! isearch_search end def isearch_search