vim: Implement named registers (#12895)
Release Notes: - vim: Add support for register selection `"a`-`"z`, `"0`-`"9`, `"-`. `"_` and `"%` ([#11511](https://github.com/zed-industries/zed/issues/11511)) --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
This commit is contained in:
parent
3c3dad6830
commit
001f17c011
13 changed files with 454 additions and 66 deletions
26
crates/vim/test_data/test_named_registers.json
Normal file
26
crates/vim/test_data/test_named_registers.json
Normal file
|
@ -0,0 +1,26 @@
|
|||
{"Put":{"state":"The quick brown\nfox jˇumps over\nthe lazy dog"}}
|
||||
{"Key":"\""}
|
||||
{"Key":"a"}
|
||||
{"Key":"d"}
|
||||
{"Key":"a"}
|
||||
{"Key":"w"}
|
||||
{"Get":{"state":"The quick brown\nfox ˇover\nthe lazy dog","mode":"Normal"}}
|
||||
{"ReadRegister":{"name":"a","value":"jumps "}}
|
||||
{"Key":"\""}
|
||||
{"Key":"shift-a"}
|
||||
{"Key":"d"}
|
||||
{"Key":"i"}
|
||||
{"Key":"w"}
|
||||
{"Get":{"state":"The quick brown\nfoxˇ \nthe lazy dog","mode":"Normal"}}
|
||||
{"ReadRegister":{"name":"a","value":"jumps over"}}
|
||||
{"Key":"\""}
|
||||
{"Key":"a"}
|
||||
{"Key":"p"}
|
||||
{"Get":{"state":"The quick brown\nfox jumps oveˇr\nthe lazy dog","mode":"Normal"}}
|
||||
{"Key":"\""}
|
||||
{"Key":"a"}
|
||||
{"Key":"d"}
|
||||
{"Key":"a"}
|
||||
{"Key":"w"}
|
||||
{"Get":{"state":"The quick brown\nfox jumpˇs\nthe lazy dog","mode":"Normal"}}
|
||||
{"ReadRegister":{"name":"a","value":" over"}}
|
45
crates/vim/test_data/test_numbered_registers.json
Normal file
45
crates/vim/test_data/test_numbered_registers.json
Normal file
|
@ -0,0 +1,45 @@
|
|||
{"Put":{"state":"The quick brown\nfox jˇumps over\nthe lazy dog"}}
|
||||
{"Key":"y"}
|
||||
{"Key":"y"}
|
||||
{"Key":"\""}
|
||||
{"Key":"0"}
|
||||
{"Key":"p"}
|
||||
{"Get":{"state":"The quick brown\nfox jumps over\nˇfox jumps over\nthe lazy dog","mode":"Normal"}}
|
||||
{"ReadRegister":{"name":"0","value":"fox jumps over\n"}}
|
||||
{"Get":{"state":"The quick brown\nfox jumps over\nˇfox jumps over\nthe lazy dog","mode":"Normal"}}
|
||||
{"ReadRegister":{"name":"\"","value":"fox jumps over\n"}}
|
||||
{"Get":{"state":"The quick brown\nfox jumps over\nˇfox jumps over\nthe lazy dog","mode":"Normal"}}
|
||||
{"Key":"k"}
|
||||
{"Key":"k"}
|
||||
{"Key":"d"}
|
||||
{"Key":"d"}
|
||||
{"Get":{"state":"ˇfox jumps over\nfox jumps over\nthe lazy dog","mode":"Normal"}}
|
||||
{"ReadRegister":{"name":"0","value":"fox jumps over\n"}}
|
||||
{"Get":{"state":"ˇfox jumps over\nfox jumps over\nthe lazy dog","mode":"Normal"}}
|
||||
{"ReadRegister":{"name":"1","value":"The quick brown\n"}}
|
||||
{"Get":{"state":"ˇfox jumps over\nfox jumps over\nthe lazy dog","mode":"Normal"}}
|
||||
{"ReadRegister":{"name":"\"","value":"The quick brown\n"}}
|
||||
{"Key":"d"}
|
||||
{"Key":"d"}
|
||||
{"Key":"shift-g"}
|
||||
{"Key":"d"}
|
||||
{"Key":"d"}
|
||||
{"Get":{"state":"ˇfox jumps over","mode":"Normal"}}
|
||||
{"ReadRegister":{"name":"0","value":"fox jumps over\n"}}
|
||||
{"Get":{"state":"ˇfox jumps over","mode":"Normal"}}
|
||||
{"ReadRegister":{"name":"3","value":"The quick brown\n"}}
|
||||
{"Get":{"state":"ˇfox jumps over","mode":"Normal"}}
|
||||
{"ReadRegister":{"name":"2","value":"fox jumps over\n"}}
|
||||
{"Get":{"state":"ˇfox jumps over","mode":"Normal"}}
|
||||
{"ReadRegister":{"name":"1","value":"the lazy dog\n"}}
|
||||
{"Get":{"state":"ˇfox jumps over","mode":"Normal"}}
|
||||
{"Key":"d"}
|
||||
{"Key":"d"}
|
||||
{"Key":"\""}
|
||||
{"Key":"3"}
|
||||
{"Key":"p"}
|
||||
{"Key":"p"}
|
||||
{"Key":"\""}
|
||||
{"Key":"1"}
|
||||
{"Key":"p"}
|
||||
{"Put":{"state":"The quick brown\nfox jumps over\nˇthe lazy dog"}}
|
30
crates/vim/test_data/test_special_registers.json
Normal file
30
crates/vim/test_data/test_special_registers.json
Normal file
|
@ -0,0 +1,30 @@
|
|||
{"Put":{"state":"The quick brown\nfox jˇumps over\nthe lazy dog"}}
|
||||
{"Key":"d"}
|
||||
{"Key":"i"}
|
||||
{"Key":"w"}
|
||||
{"Get":{"state":"The quick brown\nfox ˇ over\nthe lazy dog","mode":"Normal"}}
|
||||
{"ReadRegister":{"name":"-","value":"jumps"}}
|
||||
{"Key":"\""}
|
||||
{"Key":"_"}
|
||||
{"Key":"d"}
|
||||
{"Key":"d"}
|
||||
{"Get":{"state":"The quick brown\nthe ˇlazy dog","mode":"Normal"}}
|
||||
{"ReadRegister":{"name":"_","value":""}}
|
||||
{"Get":{"state":"The quick brown\nthe ˇlazy dog","mode":"Normal"}}
|
||||
{"Key":"\""}
|
||||
{"Key":"\""}
|
||||
{"Key":"d"}
|
||||
{"Key":"^"}
|
||||
{"Get":{"state":"The quick brown\nˇlazy dog","mode":"Normal"}}
|
||||
{"ReadRegister":{"name":"0","value":"the "}}
|
||||
{"Get":{"state":"The quick brown\nˇlazy dog","mode":"Normal"}}
|
||||
{"ReadRegister":{"name":"\"","value":"the "}}
|
||||
{"Key":"^"}
|
||||
{"Key":"\""}
|
||||
{"Key":"+"}
|
||||
{"Key":"d"}
|
||||
{"Key":"$"}
|
||||
{"Get":{"state":"The quick brown\nˇ","mode":"Normal"}}
|
||||
{"ReadRegister":{"name":"\"","value":"lazy dog"}}
|
||||
{"Get":{"state":"The quick brown\nˇ","mode":"Normal"}}
|
||||
{"ReadRegister":{"name":"\"","value":"lazy dog"}}
|
Loading…
Add table
Add a link
Reference in a new issue