Skip to content

refactor: remove sync call to set indent for virtual indents #663

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

Merged

Conversation

PriceHiller
Copy link
Contributor

Copied from the body of my commit message:

On the current version of nightly (at the time of writing this is NVIM
v0.10.0-dev-2361+ga376d979b) the synchronous call doesn't seem to have
any value.

Using only a scheduled call is seemingly smooth now -- perhaps when I
made the original commit I had something wrong with my configuration or
perhaps upstream Neovim fixed whatever was causing some choppiness?

Another note is that on_lines in nvim_buf_attach can have textlock
restrictions and more applied, thus we really should just use
vim.schedule only anyhow.

I don't see any laggy behavior during promotions/demotions or undos on my side with the change in this PR, hence why I made it.

It wouldn't hurt if someone else could check on their side with the latest nightly and see if its choppy for them. If there's no choppiness, then this change is probably fine. I just want to pull hacks out of the codebase before they sit too long and grow roots.

On the current version of nightly (at the time of writing this is NVIM
v0.10.0-dev-2361+ga376d979b) the synchronous call doesn't seem to have
any value.

Using only a scheduled call is seemingly smooth now -- perhaps when I
made the original commit I had something wrong with my configuration or
perhaps upstream Neovim fixed whatever was causing some choppiness?

Another note is that `on_lines` in `nvim_buf_attach` can have `textlock`
restrictions and more applied, thus we really should just use
`vim.schedule` only anyhow.
@kristijanhusak
Copy link
Member

I haven't extensively used virtual indents yet, but I agree we should remove this and see if someone gets any issues.

@kristijanhusak kristijanhusak merged commit 7a91a83 into nvim-orgmode:nightly Feb 14, 2024
@PriceHiller PriceHiller deleted the vindent-lines-hack-removal branch February 14, 2024 17:43
kristijanhusak added a commit that referenced this pull request Feb 14, 2024
* refactor!: Rewrite file management to use tree-sitter

* feat!: Deprecate org_mappings.handle_return in favor of org_mappings.meta_return

If you did not use this mapping directly everything is ok. This is just for users that mapped it directly

* feat: Add org_return_uses_meta_return option

* fix: Allow modifications of plan date range end date

* fix: Properly show plan date ranges in agenda

* feat(api): Add get_closest_headline and refile to api

* fix: Update minimal init to work with Windows

* tests: Add tests for file and fix edge case with set text

* fix(cron): Instantiate orgmode before running cron

* refactor: Stars highlighter

* refactor: Todo faces highlighter

* refactor: Markup highlighter

* fix: Do not rely on node:has_changes()

* feat: make VirtualIndent dynamically attach/detach based on `vim.b.org_indent_mode` (#658)

* feat: make VirtualIndent react to changes in `vim.b.org_indent_mode`

* test: add test to validate VirtualIndent dynamic attach functionality

* docs: update docs to reflect dynamic virtual indent attach

* refactor: make VirtualIndent `start_watch_org_indent` idempotent

This ensures we can call `start_watch_org_indent` as much as we want
without starting a bunch of timers in the background.

This enforces the use of `start_watch_org_indent` and `stop_watch_org_indent` for managing the timer.

* feat: add dict_watcher utility

* refactor: use `dict_watcher` to monitor `vim.b.org_indent_mode`

* ci: Run tests when creating PR to nightly

* chore: Reformat files

* refactor: remove sync call to set indent for virtual indents (#663)

On the current version of nightly (at the time of writing this is NVIM
v0.10.0-dev-2361+ga376d979b) the synchronous call doesn't seem to have
any value.

Using only a scheduled call is seemingly smooth now -- perhaps when I
made the original commit I had something wrong with my configuration or
perhaps upstream Neovim fixed whatever was causing some choppiness?

Another note is that `on_lines` in `nvim_buf_attach` can have `textlock`
restrictions and more applied, thus we really should just use
`vim.schedule` only anyhow.

* feat: add `org-indent-mode-turns-on-hiding-stars` equivalent (#659)

* feat: add equivalent of `org-indent-mode-turns-on-hiding-stars`

* docs: add documentation for `org_indent_mode_turns_on_hiding_stars`

* docs: add reference to `org_indent_mode`  for hiding stars

Co-authored-by: Kristijan Husak <husakkristijan@gmail.com>

* fix: ensure hl group for hiding stars is applied

See
#659 (review)

Co-authored-by: Kristijan Husak <husakkristijan@gmail.com>

---------

Co-authored-by: Kristijan Husak <husakkristijan@gmail.com>

* fix: Hide leading stars on foldtext

* ci: Run tests only on nightly

* fix: run Org init as part of setup (#664)

This ensures that notifications do not error on startup. Prior to this
commit the `OrgFiles` object wasn't loaded in time for notifications to
work.

* fix: Statusline function for clock

* ci: Remove nightly branch from CI triggers

---------

Co-authored-by: Price Hiller <price@orion-technologies.io>
SlayerOfTheBad pushed a commit to SlayerOfTheBad/orgmode that referenced this pull request Aug 16, 2024
* refactor!: Rewrite file management to use tree-sitter

* feat!: Deprecate org_mappings.handle_return in favor of org_mappings.meta_return

If you did not use this mapping directly everything is ok. This is just for users that mapped it directly

* feat: Add org_return_uses_meta_return option

* fix: Allow modifications of plan date range end date

* fix: Properly show plan date ranges in agenda

* feat(api): Add get_closest_headline and refile to api

* fix: Update minimal init to work with Windows

* tests: Add tests for file and fix edge case with set text

* fix(cron): Instantiate orgmode before running cron

* refactor: Stars highlighter

* refactor: Todo faces highlighter

* refactor: Markup highlighter

* fix: Do not rely on node:has_changes()

* feat: make VirtualIndent dynamically attach/detach based on `vim.b.org_indent_mode` (nvim-orgmode#658)

* feat: make VirtualIndent react to changes in `vim.b.org_indent_mode`

* test: add test to validate VirtualIndent dynamic attach functionality

* docs: update docs to reflect dynamic virtual indent attach

* refactor: make VirtualIndent `start_watch_org_indent` idempotent

This ensures we can call `start_watch_org_indent` as much as we want
without starting a bunch of timers in the background.

This enforces the use of `start_watch_org_indent` and `stop_watch_org_indent` for managing the timer.

* feat: add dict_watcher utility

* refactor: use `dict_watcher` to monitor `vim.b.org_indent_mode`

* ci: Run tests when creating PR to nightly

* chore: Reformat files

* refactor: remove sync call to set indent for virtual indents (nvim-orgmode#663)

On the current version of nightly (at the time of writing this is NVIM
v0.10.0-dev-2361+ga376d979b) the synchronous call doesn't seem to have
any value.

Using only a scheduled call is seemingly smooth now -- perhaps when I
made the original commit I had something wrong with my configuration or
perhaps upstream Neovim fixed whatever was causing some choppiness?

Another note is that `on_lines` in `nvim_buf_attach` can have `textlock`
restrictions and more applied, thus we really should just use
`vim.schedule` only anyhow.

* feat: add `org-indent-mode-turns-on-hiding-stars` equivalent (nvim-orgmode#659)

* feat: add equivalent of `org-indent-mode-turns-on-hiding-stars`

* docs: add documentation for `org_indent_mode_turns_on_hiding_stars`

* docs: add reference to `org_indent_mode`  for hiding stars

Co-authored-by: Kristijan Husak <husakkristijan@gmail.com>

* fix: ensure hl group for hiding stars is applied

See
nvim-orgmode#659 (review)

Co-authored-by: Kristijan Husak <husakkristijan@gmail.com>

---------

Co-authored-by: Kristijan Husak <husakkristijan@gmail.com>

* fix: Hide leading stars on foldtext

* ci: Run tests only on nightly

* fix: run Org init as part of setup (nvim-orgmode#664)

This ensures that notifications do not error on startup. Prior to this
commit the `OrgFiles` object wasn't loaded in time for notifications to
work.

* fix: Statusline function for clock

* ci: Remove nightly branch from CI triggers

---------

Co-authored-by: Price Hiller <price@orion-technologies.io>
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.

2 participants