Skip to content

Support org_do_promote and org_do_demote in visual mode #860

New issue

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

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

Already on GitHub? # to your account

Open
lyz-code opened this issue Jan 18, 2025 · 2 comments
Open

Support org_do_promote and org_do_demote in visual mode #860

lyz-code opened this issue Jan 18, 2025 · 2 comments
Labels
core-feature Feature is in orgmode core enhancement Enhancement, not necessarily available in emacs

Comments

@lyz-code
Copy link

Does this feature exist in Emacs orgmode core?

N/A

Orgmode link

No response

Feature value

I often need to promote and demote many elements at the same time, for example:

A group of headings:

* Heading 1
** SubHeading 1
** SubSubHeading 1 <-- heading to demote
** SubSubheding 2  <-- heading to demote

The content of a heading (following the case shown in #859)

* Heading 1
****** SubHeading 1
  - Line 1 <-- content to promote
    - Subline 2 <-- content to promote
  - Line 2 <-- content to promote

The natural way for me is to select all the content in visual mode and use >> or << but it falls back to the default nvim indentation change and adds the spaces:

* Heading 1
** SubHeading 1
  ** SubSubHeading 1 
  ** SubSubheding 2 
* Heading 1
****** SubHeading 1
	  - Line 1
	    - Subline 2
	  - Line 2

Additional context

No response

@kristijanhusak kristijanhusak added core-feature Feature is in orgmode core enhancement Enhancement, not necessarily available in emacs labels Jan 22, 2025
@seflue
Copy link
Contributor

seflue commented Jan 26, 2025

@kristijanhusak I have actually a question about an issue related to this feature in a more conceptual manner:
There are a couple of commands, which would be very useful in another mode than normal mode. In visual mode for example I would like to be able to add links to a selected text where a selected text gets the link description after inserting the link. When I looked at the codebase I hesitated to implement this, because the way, commands are hooked to the configuration seems to bind them very tight to normal mode.
Is this true or do I just have a misunderstanding of the code? If I am correct, do you have plans to change that? There are a couple of other things in different modes I would find useful, like org-meta-return in insert mode.

@lyz-code Sorry for kind of derailing your issue. I would actually be quite happy to see your proposed feature implemented.

@kristijanhusak
Copy link
Member

@seflue It's not that hard to add support for more modes. I added your suggestion in 0ef840a since I believe it's useful.

For this one is trickier because of the possible shifts between the same selected region.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
core-feature Feature is in orgmode core enhancement Enhancement, not necessarily available in emacs
Projects
None yet
Development

No branches or pull requests

3 participants