Skip to content

Commit

Permalink
Merge pull request #34 from dlee/master
Browse files Browse the repository at this point in the history
Add ctrl-u to clear query
  • Loading branch information
garybernhardt committed Feb 26, 2014
2 parents 0058b67 + fd93e07 commit 8a2d1f3
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 0 deletions.
7 changes: 7 additions & 0 deletions selecta
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ require "io/console"
KEY_CTRL_C = ?\C-c KEY_CTRL_C = ?\C-c
KEY_CTRL_N = ?\C-n KEY_CTRL_N = ?\C-n
KEY_CTRL_P = ?\C-p KEY_CTRL_P = ?\C-p
KEY_CTRL_U = ?\C-u
KEY_CTRL_W = ?\C-w KEY_CTRL_W = ?\C-w
KEY_DELETE = 127.chr # Equivalent to ?\C-? KEY_DELETE = 127.chr # Equivalent to ?\C-?


Expand Down Expand Up @@ -73,6 +74,7 @@ class Selecta
when KEY_CTRL_N then search.down when KEY_CTRL_N then search.down
when KEY_CTRL_P then search.up when KEY_CTRL_P then search.up


when KEY_CTRL_U then search.clear_query
when KEY_CTRL_W then search.delete_word when KEY_CTRL_W then search.delete_word
when KEY_DELETE then search.backspace when KEY_DELETE then search.backspace


Expand Down Expand Up @@ -202,6 +204,11 @@ class Search
:query => @query[0...-1]) :query => @query[0...-1])
end end


def clear_query
merge(:index => 0,
:query => "")
end

def delete_word def delete_word
merge(:index => 0, merge(:index => 0,
:query => @query.sub(/[^ ]* *$/, "")) :query => @query.sub(/[^ ]* *$/, ""))
Expand Down
9 changes: 9 additions & 0 deletions spec/search_spec.rb
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -55,6 +55,15 @@
search.append_search_string(" a b").delete_word.query.should == " a " search.append_search_string(" a b").delete_word.query.should == " a "
end end


it "clears query" do
search.append_search_string("").clear_query.query.should == ""
search.append_search_string("a").clear_query.query.should == ""
search.append_search_string("a ").clear_query.query.should == ""
search.append_search_string("a b").clear_query.query.should == ""
search.append_search_string("a b ").clear_query.query.should == ""
search.append_search_string(" a b").clear_query.query.should == ""
end

describe "matching" do describe "matching" do
it "only returns matching choices" do it "only returns matching choices" do
config = Configuration.from_inputs(["a", "b"], config = Configuration.from_inputs(["a", "b"],
Expand Down

0 comments on commit 8a2d1f3

Please sign in to comment.