cursorn fixad

This commit is contained in:
Lo 2025-01-14 13:39:45 +01:00
parent 2a594eac1d
commit cf912ea9fc

View File

@ -104,7 +104,7 @@ func input_str(env *environment.Env) string {
case 4: // ^D case 4: // ^D
input = "exit" input = "exit"
goto loop_exit goto loop_exit
case 8: // <CTR><BACKSPACE> case 8: // <CTR><BACKSPACE>
input_at := input[:cursor] input_at := input[:cursor]
input_after := input[cursor:] input_after := input[cursor:]
last_index := strings.LastIndex(input_at, " ") last_index := strings.LastIndex(input_at, " ")
@ -115,11 +115,12 @@ func input_str(env *environment.Env) string {
input_at = input_at[:last_index] input_at = input_at[:last_index]
cursor = len(input_at) cursor = len(input_at)
} }
input = input_at+input_after input = input_at + input_after
case 9: // TAB case 9: // TAB
input = AutoComplete(input, *env) complete := AutoComplete(input[:cursor], *env)
cursor = len(input) input = complete + input[cursor:]
cursor = len(complete)
case 27: // Escape case 27: // Escape
input, history_index, cursor = Escape_handler(reader, history_index, input, *env, cursor) input, history_index, cursor = Escape_handler(reader, history_index, input, *env, cursor)
case 127: //packspace case 127: //packspace
@ -129,14 +130,14 @@ func input_str(env *environment.Env) string {
input_at = input_at[:len(input_at)-1] input_at = input_at[:len(input_at)-1]
cursor-- cursor--
} }
input=input_at+input_after input = input_at + input_after
case 13: // Enter case 13: // Enter
goto loop_exit goto loop_exit
default: default:
input_at := input[:cursor] input_at := input[:cursor]
input_after := input[cursor:] input_after := input[cursor:]
input_at += string(r_rune) input_at += string(r_rune)
input = input_at+input_after input = input_at + input_after
cursor++ cursor++
} }
ghost_input := AutoCompleteHistory(input, *env) ghost_input := AutoCompleteHistory(input, *env)