Add support for c-Left/c-Right
This commit is contained in:
parent
ab399f77e9
commit
e70839ee30
@ -736,6 +736,17 @@ class Editor
|
||||
if ($cursorPos < mb_strlen($value))
|
||||
$cursorPos++;
|
||||
break;
|
||||
case "k{CLEFT}":
|
||||
while ($cursorPos > 0) {
|
||||
$cursorPos--;
|
||||
if (mb_substr($value, $cursorPos - 1, 1) == " ") {
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "k{CRIGHT}":
|
||||
$cursorPos = min(mb_strlen($value), (mb_strpos($value, " ", $cursorPos) ?: mb_strlen($value)) + 1);
|
||||
break;
|
||||
case "k{HOME}":
|
||||
$cursorPos = 0;
|
||||
break;
|
||||
|
@ -112,9 +112,15 @@ class Terminal
|
||||
} elseif (strncmp($this->inputBuffer, "\e[C", 3) === 0) {
|
||||
$this->inputBuffer = mb_substr($this->inputBuffer, 3);
|
||||
return "k{RIGHT}";
|
||||
} elseif (strncmp($this->inputBuffer, "\e[1;5C", 6) === 0) {
|
||||
$this->inputBuffer = mb_substr($this->inputBuffer, 6);
|
||||
return "k{CRIGHT}";
|
||||
} elseif (strncmp($this->inputBuffer, "\e[D", 3) === 0) {
|
||||
$this->inputBuffer = mb_substr($this->inputBuffer, 3);
|
||||
return "k{LEFT}";
|
||||
} elseif (strncmp($this->inputBuffer, "\e[1;5D", 6) === 0) {
|
||||
$this->inputBuffer = mb_substr($this->inputBuffer, 6);
|
||||
return "k{CLEFT}";
|
||||
} elseif (strncmp($this->inputBuffer, "\e[H", 3) === 0) {
|
||||
$this->inputBuffer = mb_substr($this->inputBuffer, 3);
|
||||
return "k{HOME}";
|
||||
|
Loading…
Reference in New Issue
Block a user