append non-terminal characters after string in yank

This commit is contained in:
2025-09-02 22:41:34 +01:00
parent 6cd038cf81
commit e1a15ab1d0

View File

@@ -261,13 +261,25 @@ struct
| #"%" => NormalYank.yankToMatchingPair app | #"%" => NormalYank.yankToMatchingPair app
| #"n" => NormalYank.yankToNextMatch (app, count) | #"n" => NormalYank.yankToNextMatch (app, count)
| #"N" => NormalYank.yankToPrevMatch (app, count) | #"N" => NormalYank.yankToPrevMatch (app, count)
(* todo: non-terminal chars *) (* append non-terminal characters to string *)
| #"d" =>
let (* 'yd' motion, like 'ydw'; meant to be 'yank then delete' *)
in appendChr (app, chrCmd, str)
end
| #"t" => appendChr (app, chrCmd, str)
| #"T" => appendChr (app, chrCmd, str)
| #"f" => appendChr (app, chrCmd, str)
| #"F" => appendChr (app, chrCmd, str)
| #"g" => appendChr (app, chrCmd, str)
| #"i" => appendChr (app, chrCmd, str)
| #"a" => appendChr (app, chrCmd, str)
| _ => NormalFinish.clearMode app | _ => NormalFinish.clearMode app
fun parseYank (strPos, str, count, app, chrCmd, time) = fun parseYank (strPos, str, count, app, chrCmd, time) =
if strPos = String.size str - 1 then if strPos = String.size str - 1 then
parseYankTerminal (str, count, app, chrCmd, time) parseYankTerminal (str, count, app, chrCmd, time)
else else
(* todo: handle non-terminal characters *)
app app
(* useful reference as list of non-terminal commands *) (* useful reference as list of non-terminal commands *)