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

Roadmap: Better kmacro support #61

Closed
DogLooksGood opened this issue Aug 15, 2021 · 1 comment
Closed

Roadmap: Better kmacro support #61

DogLooksGood opened this issue Aug 15, 2021 · 1 comment
Labels
roadmap something to do

Comments

@DogLooksGood
Copy link
Collaborator

The Problem

If you don't introduce multiple-cursors, iedit, etc, basically you have two Emacs built-in ways to edit multiple places at the same time: query-replace and kmacro. Kmacro is a little hard for beginners but it can be considered as a 100% use cases covered solution and it's built-in. Meow will embrace kmacro since Meow is designed to have tight integration with vanilla Emacs.

Meow provides two commands work with kmacro: meow-kmacro-lines and meow-kmacro-matches. They respect the important design principle:

A kmacro could be defined at any position, and can apply to here and there. That means we have to leave kmacro what it is, there's no "kmacro+", no addition states, no magic Do-What-I-Mean commands.

These two commands simplify how kmacro is called, instead of you define a kmacro call it N times, you call kmacro for lines in a region or matches with regexp. However, the functionality of these two commands are pretty limited.

  • You can't call kmacro at a fixed column number in a range
  • You can't call kmacro for every 3 lines in a range
  • The state(have a selection or not) when you start recording kmacro affect how it works.
  • meow-kmacro-matches need to work with narrow-to-region, if you want to specify a range
  • more...

The Ideas

TBD

The Solution

TBD

@DogLooksGood DogLooksGood added the roadmap something to do label Aug 23, 2021
@DogLooksGood
Copy link
Collaborator Author

This feature is implemented as BMACRO state.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
roadmap something to do
Projects
None yet
Development

No branches or pull requests

1 participant