Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for basic Rectangle operations. #32

Open
wants to merge 17 commits into
base: master
Choose a base branch
from

Conversation

okia
Copy link
Contributor

@okia okia commented Nov 29, 2016

Fix for issue #27.
The following operations are supported:

# Keybinding Description
1. C-x r r Copy rectangle to register
2. C-x r i Insert rectangle from register
3. C-x r d Delete rectangle
4. C-x r k Kill rectangle
5. C-x r y Yank rectangle
6. C-x r o Open rectangle, shifting text right
7. C-x r c Blank out rectangle
8. C-x r t Replace rectangle contents with string on each line

Known issues:
Cursor movement(s). Above mentioned rectangle operations do differ
from Emacs as follows:

  1. Cursor placement at the end of operation is different than Emacs'
    The reason for that is setSelection's behavior inside the transaction
    seems to be somewhat erratic, and using is somewhat complicated (and
    not done at all for the moment).
    TODO: This problem might be solvable on vscode-emacs side. INVESTIGATE!
  2. Unlike Emacs, VSCode does not seem to treat cursor movement as
    a part of transaction. Therefore, undo does not result in the same
    cursor movement as with Emacs.

okia and others added 17 commits November 10, 2016 23:48
Fix for issue hiro-sun#27.
The following operations are supported:
1. C-x r r 	Copy rectangle to register
2. C-x r i 	Insert rectangle from register
3. C-x r d 	Delete rectangle
4. C-x r k 	Kill rectangle
5. C-x r y 	Yank rectangle
6. C-x r o 	Open rectangle, shifting text right
7. C-x r c 	Blank out rectangle
8. C-x r t 	Replace rectangle contents with string on each line

Known issues:
Cursor movement(s). Above mentioned rectangle operations do differ
from Emacs as follows:
1. Cursor placement at the end of operation is different than Emacs'
The reason for that is setSelection's behavior inside the transaction
seems to be somewhat erratic, and using is somewhat complicated (and
not done at all for the moment).
TODO: This problem might be solvable on vscode-emacs side. INVESTIGATE!
2. Unlike Emacs, VSCode does not seem to treat cursor movement as
a part of transaction. Therefore, undo does not result in the same
cursor movement as with Emacs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants