Scaffolding for selection upto surrounding whitespace

This commit is contained in:
Kovid Goyal
2025-04-23 05:53:31 +05:30
parent 2839eab5e4
commit ec35dfd4e2
3 changed files with 7 additions and 0 deletions

View File

@@ -42,6 +42,7 @@ MOUSE_SELECTION_NORMAL: int
MOUSE_SELECTION_WORD: int
MOUSE_SELECTION_RECTANGLE: int
MOUSE_SELECTION_LINE_FROM_POINT: int
MOUSE_SELECTION_UPTO_SURROUNDING_WHITESPACE: int
MOUSE_SELECTION_WORD_AND_LINE_FROM_POINT: int
MOUSE_SELECTION_MOVE_END: int
KITTY_VCS_REV: str

View File

@@ -744,6 +744,7 @@ typedef enum MouseSelectionType {
MOUSE_SELECTION_LINE_FROM_POINT,
MOUSE_SELECTION_WORD_AND_LINE_FROM_POINT,
MOUSE_SELECTION_MOVE_END,
MOUSE_SELECTION_UPTO_SURROUNDING_WHITESPACE,
} MouseSelectionType;
@@ -783,6 +784,9 @@ mouse_selection(Window *w, int code, int button) {
case MOUSE_SELECTION_MOVE_END:
extend_selection(w, false, false);
break;
case MOUSE_SELECTION_UPTO_SURROUNDING_WHITESPACE:
// TODO: Implement me for people migrating from urxvt
break;
}
set_mouse_cursor_when_dragging(screen);
#undef S
@@ -1115,6 +1119,7 @@ init_mouse(PyObject *module) {
PyModule_AddIntMacro(module, MOUSE_SELECTION_LINE_FROM_POINT);
PyModule_AddIntMacro(module, MOUSE_SELECTION_WORD_AND_LINE_FROM_POINT);
PyModule_AddIntMacro(module, MOUSE_SELECTION_MOVE_END);
PyModule_AddIntMacro(module, MOUSE_SELECTION_UPTO_SURROUNDING_WHITESPACE);
if (PyModule_AddFunctions(module, module_methods) != 0) return false;
return true;
}

View File

@@ -426,6 +426,7 @@ def mouse_selection(func: str, rest: str) -> FuncArgsType:
'line': defines.MOUSE_SELECTION_LINE,
'line_from_point': defines.MOUSE_SELECTION_LINE_FROM_POINT,
'word_and_line_from_point': defines.MOUSE_SELECTION_WORD_AND_LINE_FROM_POINT,
'upto_surrounding_whitespace': defines.MOUSE_SELECTION_UPTO_SURROUNDING_WHITESPACE,
}
setattr(mouse_selection, 'code_map', cmap)
return func, [cmap[rest]]