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))
|
if ($cursorPos < mb_strlen($value))
|
||||||
$cursorPos++;
|
$cursorPos++;
|
||||||
break;
|
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}":
|
case "k{HOME}":
|
||||||
$cursorPos = 0;
|
$cursorPos = 0;
|
||||||
break;
|
break;
|
||||||
|
@ -112,9 +112,15 @@ class Terminal
|
|||||||
} elseif (strncmp($this->inputBuffer, "\e[C", 3) === 0) {
|
} elseif (strncmp($this->inputBuffer, "\e[C", 3) === 0) {
|
||||||
$this->inputBuffer = mb_substr($this->inputBuffer, 3);
|
$this->inputBuffer = mb_substr($this->inputBuffer, 3);
|
||||||
return "k{RIGHT}";
|
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) {
|
} elseif (strncmp($this->inputBuffer, "\e[D", 3) === 0) {
|
||||||
$this->inputBuffer = mb_substr($this->inputBuffer, 3);
|
$this->inputBuffer = mb_substr($this->inputBuffer, 3);
|
||||||
return "k{LEFT}";
|
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) {
|
} elseif (strncmp($this->inputBuffer, "\e[H", 3) === 0) {
|
||||||
$this->inputBuffer = mb_substr($this->inputBuffer, 3);
|
$this->inputBuffer = mb_substr($this->inputBuffer, 3);
|
||||||
return "k{HOME}";
|
return "k{HOME}";
|
||||||
|
Loading…
Reference in New Issue
Block a user