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

Refactor #665

Merged
merged 23 commits into from
Feb 14, 2024
Merged

Refactor #665

merged 23 commits into from
Feb 14, 2024

Conversation

kristijanhusak
Copy link
Member

This branch contains a lot of changes, most notably:

  • Refactors all internal code to rely on tree-sitter queries to get the results
  • Drastically improves markup performance and correctness
  • Add some improvements to virtual indents (still experimental)
  • Updates minimal init to work with Windows

kristijanhusak and others added 23 commits February 6, 2024 20:49
…meta_return

If you did not use this mapping directly everything is ok. This is just for users that mapped it directly
…g_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`
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 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>
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.
@kristijanhusak kristijanhusak merged commit 53e0404 into master Feb 14, 2024
2 checks passed
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