possible feature: relative jumps
Benno Schulenberg <[email protected]> Mon, 30 Jun 2025 17:08:00 +0200
| Newsgroups | gmane.editors.nano.devel |
|---|---|
| Message-ID | <[email protected]> |
Op 30-06-2025 om 16:32 schreef pepa65: > The relative jump sounds like a low-cost enhancement, that could be useful. > So this is Ctrl-L "--200" or "++100"? I'd take it. Not Ctrl+L but Ctrl+/ or Ctrl+7 or Alt+G (with default bindings). (But I guess you have bound 'gotoline' to Ctrl+L?) Cleaned-up tentative patch is attached. Benno
0001-moving-understand-a-line-number-preceded-with-or-as-.patch
(text/x-patch, 1.1 KB)
From ade7e329bbce458ab00950d21222fa9458ed553f Mon Sep 17 00:00:00 2001 From: Benno Schulenberg <[email protected]> Date: Mon, 30 Jun 2025 16:23:32 +0200 Subject: [PATCH] moving: understand a line number preceded with ++ or -- as relative This permits jumping a precise number of lines forward or backward in the buffer. --- src/search.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/search.c b/src/search.c index e2e6f685..9a89991b 100644 --- a/src/search.c +++ b/src/search.c @@ -792,11 +792,19 @@ void goto_line_and_column(ssize_t line, ssize_t column, bool retain_answer, if (response > 0) return; + bool relative = (answer[0] == '+' && answer[1] == '+') || + (answer[0] == '-' && answer[1] == '-'); + if (relative) + memmove(answer, answer + 1, strlen(answer)); + /* Try to extract one or two numbers from the user's response. */ if (!parse_line_column(answer, &line, &column)) { statusline(AHEM, _("Invalid line or column number")); return; } + + if (relative) + line = openfile->current->lineno + line; } else { if (line == 0) line = openfile->current->lineno; -- 2.48.1
OpenPGP_signature.asc
(application/pgp-signature, 840 B)
-----BEGIN PGP SIGNATURE----- wsF5BAABCAAjFiEEFo5vQpe/16ea/USWUUu+Lrjhlh8FAmhiqFAFAwAAAAAACgkQUUu+Lrjhlh9H yQ//YkYOQWjuc6IIRbblF6bQ6fD0H8xeAmeoUG7nYYUwBE9QRUdEyJxbqHtZmk4NhlSuX1yoCHSW IHX2Iq9kiSJmFL5pwPCHiO9fcs2i2kCB5woMA3XeHaoDPkO9OAB+H6VUc/vtPyv7OnOT75V6gsMU qToBiTqKcJUhieRJ4/xQWSk0b5Fk1rxyzuhTBNzfXeBGb4V77XeTbpEOf0XOsucYBr4IdIYDMybc 47GYclkD1UYxEc2XycG5bP5A2EKytkl/d5cHnHbMdwzMoiVg+pFk972JrMm9TYaAIV9+GkdTIoHa /ybY+l9yBe8FCEcbezmxPlQEag9iNS6AbWsMivzWgLQWp2SItSpEkrikSr2klT6Xkb2b7njG5PXM fDB31vsFBrwqO7TNb+0sDpO9CWemoE3lYdlXhz3jUieRexRrbYInt+xTFsIseEHdrqBbU46H2I9i l4bw2F9vJucKtUEzqhkr/DEqhhHznE19b7bmOQijTozeTxzMON+ehmSbyhNcAjnYd89gvxhTSvb4 45kATkHON6vjdY8ir4bCy3DOYWqbm+mywzrTiKyouDICUZkWku1b0/owHlVFzvE2OmFuiciwNFzJ LS3KvK7IlTZYMo+9aLuiFx1mqCA7hFEdM0Td+f20UrqoCDTvj4bhivPYRH9iMD102WYfCFNvucF9 EIQ= =+uPK -----END PGP SIGNATURE-----