Commit 409d710
committed
fix: prevent adjust_scroll interference with mouse scrolling
Added skip_scroll_adjustment flag to prevent adjust_scroll() from
interfering with mouse scroll behavior. Previously, adjust_scroll()
would enforce 3-line padding which caused viewport to "snap back"
after mouse scrolling near edges.
Now mouse scroll:
- Sets skip_scroll_adjustment flag after moving viewport/selection
- adjust_scroll() checks flag and returns early if set
- Flag automatically clears on next adjust_scroll() call
- Keyboard navigation still gets padding behavior as before
This gives smooth vim-like scrolling (Ctrl+E/Ctrl+Y) without the
"sticky" feeling near viewport edges.
Changes:
- Added skip_scroll_adjustment: bool to App struct
- Modified adjust_scroll() to check and clear flag
- Modified mouse_scroll_down/up() to set flag after scrolling
- Added 2 tests to verify flag behavior1 parent 3aad03b commit 409d710
1 file changed
+61
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
64 | 67 | | |
65 | 68 | | |
66 | 69 | | |
| |||
81 | 84 | | |
82 | 85 | | |
83 | 86 | | |
| 87 | + | |
84 | 88 | | |
85 | 89 | | |
86 | 90 | | |
| |||
105 | 109 | | |
106 | 110 | | |
107 | 111 | | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
108 | 118 | | |
109 | 119 | | |
110 | 120 | | |
| |||
145 | 155 | | |
146 | 156 | | |
147 | 157 | | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
148 | 161 | | |
149 | 162 | | |
150 | 163 | | |
| |||
157 | 170 | | |
158 | 171 | | |
159 | 172 | | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
160 | 176 | | |
161 | 177 | | |
162 | 178 | | |
| |||
1049 | 1065 | | |
1050 | 1066 | | |
1051 | 1067 | | |
| 1068 | + | |
| 1069 | + | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
| 1079 | + | |
| 1080 | + | |
| 1081 | + | |
| 1082 | + | |
| 1083 | + | |
| 1084 | + | |
| 1085 | + | |
| 1086 | + | |
| 1087 | + | |
| 1088 | + | |
| 1089 | + | |
| 1090 | + | |
| 1091 | + | |
| 1092 | + | |
| 1093 | + | |
| 1094 | + | |
| 1095 | + | |
| 1096 | + | |
| 1097 | + | |
| 1098 | + | |
| 1099 | + | |
| 1100 | + | |
| 1101 | + | |
| 1102 | + | |
| 1103 | + | |
| 1104 | + | |
| 1105 | + | |
| 1106 | + | |
| 1107 | + | |
| 1108 | + | |
| 1109 | + | |
| 1110 | + | |
| 1111 | + | |
| 1112 | + | |
1052 | 1113 | | |
0 commit comments