+text_model_delete_surrounding_text(void *data,
+ struct text_model *text_model,
+ int32_t index,
+ uint32_t length)
+{
+ struct text_entry *entry = data;
+ uint32_t cursor_index = index + entry->cursor;
+
+ if (cursor_index > strlen(entry->text)) {
+ fprintf(stderr, "Invalid cursor index %d\n", index);
+ return;
+ }
+
+ if (cursor_index + length > strlen(entry->text)) {
+ fprintf(stderr, "Invalid length %d\n", length);
+ return;
+ }
+
+ if (length == 0)
+ return;
+
+ text_entry_delete_text(entry, cursor_index, length);
+}
+
+static void