Add support for c-Left/c-Right
This commit is contained in:
		@@ -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}";
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user