rcurses 6.1.4 → 6.1.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a78252386307963f8ee559bc6f127707a8ba2e58fd03d47c53bdec7ec0a0ea1c
4
- data.tar.gz: 195a79a814de7653f6f7940807ba72f4a41e1cabe6d86a48913e773940a95281
3
+ metadata.gz: 53f30e84da513a6e5a2a6bb51f05a70c913486a96bf350dd1919c99a26144cfa
4
+ data.tar.gz: 7e3ab26f93608b4045051bb1e92c0a04cc6fa3aa19e115aeee2e3229162961eb
5
5
  SHA512:
6
- metadata.gz: 0c122a74e7d389b060e2e6877617bf129413a586dd898e6c558c1799f953fde3315bed72ab6328e0842b9853a99c2ea0c2758a92e33c6d2cd4e899ac8593dd61
7
- data.tar.gz: c3490dc89c26e0269011a65bcc70bc79dd19caa3a303fc7ca566fc7ed5e6a62fe159ec9f16fba1dec561763a630e1fe12bd60fd22f67c40177397f75f23ee922
6
+ metadata.gz: 4995e1eb23cd1866d26712badd6535b2c9c387a013ea35d60d23c7c2291db4bb1bd4e0c980183d53c754cea9dd6836251b367d1fe8e2eb60d31d7797ac55e82a
7
+ data.tar.gz: 421ae3868fa35518e005abc793b56869fead080a7bc305d40d9246b59d0e8179ca6ecf0d6724690d076d24a5f49bce2742355c5b4c484efa79ae85f56b814643
data/lib/rcurses/input.rb CHANGED
@@ -47,9 +47,9 @@ module Rcurses
47
47
  return { 'A' => "C-UP", 'B' => "C-DOWN", 'C' => "C-RIGHT", 'D' => "C-LEFT" }[m[1]]
48
48
  end
49
49
 
50
- # 7) Plain arrows
51
- if m = seq.match(/\A\e\[([ABCD])\z/)
52
- return { 'A' => "UP", 'B' => "DOWN", 'C' => "RIGHT", 'D' => "LEFT" }[m[1]]
50
+ # 7) Plain arrows and Home/End (xterm style)
51
+ if m = seq.match(/\A\e\[([ABCDHF])\z/)
52
+ return { 'A' => "UP", 'B' => "DOWN", 'C' => "RIGHT", 'D' => "LEFT", 'H' => "HOME", 'F' => "END" }[m[1]]
53
53
  end
54
54
 
55
55
  # 8) CSI + '~' sequences (Ins, Del, Home, End, PgUp, PgDn, F5-F12)
@@ -74,13 +74,15 @@ module Rcurses
74
74
  end
75
75
  end
76
76
 
77
- # 9) SS3 function keys F1-F4 and Ctrl+arrows
77
+ # 9) SS3 function keys F1-F4, Ctrl+arrows, and Home/End (application mode)
78
78
  if seq.start_with?("\eO") && seq.length == 3
79
79
  return case seq[2]
80
80
  when 'P' then "F1"
81
81
  when 'Q' then "F2"
82
82
  when 'R' then "F3"
83
83
  when 'S' then "F4"
84
+ when 'H' then "HOME" # SS3 Home (kitty/wezterm application mode)
85
+ when 'F' then "END" # SS3 End (kitty/wezterm application mode)
84
86
  when 'a' then "C-UP" # Some terminals send ESC O a for Ctrl+Up
85
87
  when 'b' then "C-DOWN" # Some terminals send ESC O b for Ctrl+Down
86
88
  when 'c' then "C-RIGHT" # Some terminals send ESC O c for Ctrl+Right
data/lib/rcurses/pane.rb CHANGED
@@ -662,9 +662,10 @@ module Rcurses
662
662
  cont = ''
663
663
  @pos = 0
664
664
  when 'ENTER'
665
- # If there are lines in multiline_buffer, add current line too
666
- if @multiline_buffer && !@multiline_buffer.empty? && !cont.empty?
667
- @multiline_buffer << cont.dup
665
+ # If there are lines in multiline_buffer, handle multiline paste
666
+ if @multiline_buffer && !@multiline_buffer.empty?
667
+ # Add current line if it's not empty
668
+ @multiline_buffer << cont.dup unless cont.empty?
668
669
  @text = @multiline_buffer.shift # Return first line as @text
669
670
  else
670
671
  @text = cont
@@ -696,15 +697,13 @@ module Rcurses
696
697
  while IO.select([$stdin], nil, nil, 0)
697
698
  chr = $stdin.read_nonblock(1) rescue nil
698
699
  break unless chr
699
- # Handle newlines in multi-line paste
700
- if chr == "\n"
701
- @multiline_buffer << cont.dup
700
+ # Handle newlines in multi-line paste (\n or \r)
701
+ if chr == "\n" || chr == "\r"
702
+ @multiline_buffer << cont.dup unless cont.empty?
702
703
  cont = ""
703
704
  @pos = 0
704
705
  next
705
706
  end
706
- # Skip carriage returns
707
- next if chr == "\r"
708
707
  if @pos < content_len
709
708
  cont.insert(@pos, chr)
710
709
  @pos += 1
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rcurses
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.4
4
+ version: 6.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geir Isene
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-10-10 00:00:00.000000000 Z
11
+ date: 2026-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: clipboard