reline 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|