reline 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/reline/key_actor/emacs.rb +1 -1
- data/lib/reline/line_editor.rb +28 -18
- data/lib/reline/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bb3a343a202a2c043257a432f50eb05eeb58b5638a88c24eb095c96a40b03fea
|
4
|
+
data.tar.gz: e9c8aec5f70fe3897fb8f835d0d5b228a93a5444b0a7ce804290c19ae44c6c55
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a0e2a92e1e007d23542313783108250c66ad81b90389c306a9f413b8426ce14a39e14731f974aa8fcabcddaeceae529a70388e6e1a3db6ec7a511278b0c568d7
|
7
|
+
data.tar.gz: 0f86f497938921154a475f4b63059a4cda560b44b5b6f9fb63b3b4afcae9de3ea351c1226640eb074546a765b2f51ff5a62bd1af20142a6211c8e74a06f16a57
|
data/lib/reline/line_editor.rb
CHANGED
@@ -595,14 +595,22 @@ class Reline::LineEditor
|
|
595
595
|
[target, preposing, completed, postposing]
|
596
596
|
end
|
597
597
|
|
598
|
-
private def complete(list)
|
598
|
+
private def complete(list, just_show_list = false)
|
599
599
|
case @completion_state
|
600
600
|
when CompletionState::NORMAL, CompletionState::JOURNEY
|
601
601
|
@completion_state = CompletionState::COMPLETION
|
602
602
|
when CompletionState::PERFECT_MATCH
|
603
603
|
@dig_perfect_match_proc&.(@perfect_matched)
|
604
604
|
end
|
605
|
-
|
605
|
+
if just_show_list
|
606
|
+
is_menu = true
|
607
|
+
elsif @completion_state == CompletionState::MENU
|
608
|
+
is_menu = true
|
609
|
+
elsif @completion_state == CompletionState::MENU_WITH_PERFECT_MATCH
|
610
|
+
is_menu = true
|
611
|
+
else
|
612
|
+
is_menu = false
|
613
|
+
end
|
606
614
|
result = complete_internal_proc(list, is_menu)
|
607
615
|
if @completion_state == CompletionState::MENU_WITH_PERFECT_MATCH
|
608
616
|
@completion_state = CompletionState::PERFECT_MATCH
|
@@ -621,7 +629,7 @@ class Reline::LineEditor
|
|
621
629
|
else
|
622
630
|
@completion_state = CompletionState::MENU
|
623
631
|
end
|
624
|
-
if target < completed
|
632
|
+
if not just_show_list and target < completed
|
625
633
|
@line = preposing + completed + completion_append_character.to_s + postposing
|
626
634
|
line_to_pointer = preposing + completed + completion_append_character.to_s
|
627
635
|
@cursor_max = calculate_width(@line)
|
@@ -1567,7 +1575,7 @@ class Reline::LineEditor
|
|
1567
1575
|
end
|
1568
1576
|
end
|
1569
1577
|
|
1570
|
-
private def
|
1578
|
+
private def em_delete(key)
|
1571
1579
|
if (not @is_multiline and @line.empty?) or (@is_multiline and @line.empty? and @buffer_of_lines.size == 1)
|
1572
1580
|
@line = nil
|
1573
1581
|
if @buffer_of_lines.size > 1
|
@@ -1592,7 +1600,19 @@ class Reline::LineEditor
|
|
1592
1600
|
@rest_height += 1
|
1593
1601
|
end
|
1594
1602
|
end
|
1595
|
-
alias_method :delete_char, :
|
1603
|
+
alias_method :delete_char, :em_delete
|
1604
|
+
|
1605
|
+
private def em_delete_or_list(key)
|
1606
|
+
if @line.empty? or @byte_pointer < @line.bytesize
|
1607
|
+
em_delete(key)
|
1608
|
+
else # show completed list
|
1609
|
+
result = call_completion_proc
|
1610
|
+
if result.is_a?(Array)
|
1611
|
+
complete(result, true)
|
1612
|
+
end
|
1613
|
+
end
|
1614
|
+
end
|
1615
|
+
alias_method :delete_char_or_list, :em_delete_or_list
|
1596
1616
|
|
1597
1617
|
private def em_yank(key)
|
1598
1618
|
yanked = @kill_ring.yank
|
@@ -1896,18 +1916,6 @@ class Reline::LineEditor
|
|
1896
1916
|
private def vi_yank(key)
|
1897
1917
|
end
|
1898
1918
|
|
1899
|
-
private def vi_end_of_transmission(key)
|
1900
|
-
if @line.empty?
|
1901
|
-
@line = nil
|
1902
|
-
if @buffer_of_lines.size > 1
|
1903
|
-
scroll_down(@highest_in_all - @first_line_started_from)
|
1904
|
-
end
|
1905
|
-
Reline::IOGate.move_cursor_column(0)
|
1906
|
-
@eof = true
|
1907
|
-
finish
|
1908
|
-
end
|
1909
|
-
end
|
1910
|
-
|
1911
1919
|
private def vi_list_or_eof(key)
|
1912
1920
|
if (not @is_multiline and @line.empty?) or (@is_multiline and @line.empty? and @buffer_of_lines.size == 1)
|
1913
1921
|
@line = nil
|
@@ -1918,9 +1926,11 @@ class Reline::LineEditor
|
|
1918
1926
|
@eof = true
|
1919
1927
|
finish
|
1920
1928
|
else
|
1921
|
-
|
1929
|
+
ed_newline(key)
|
1922
1930
|
end
|
1923
1931
|
end
|
1932
|
+
alias_method :vi_end_of_transmission, :vi_list_or_eof
|
1933
|
+
alias_method :vi_eof_maybe, :vi_list_or_eof
|
1924
1934
|
|
1925
1935
|
private def ed_delete_next_char(key, arg: 1)
|
1926
1936
|
byte_size = Reline::Unicode.get_next_mbchar_size(@line, @byte_pointer)
|
data/lib/reline/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reline
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- aycabta
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-12-
|
11
|
+
date: 2019-12-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: io-console
|