- No longer use org-load-hook; it was unnecessary and there were corner
cases where org would get loaded before hooks were added to it.
- Update comments
- Remove config that was redundant with org's defaults (wrt org-file-apps)
- Perform persp-mode check before using persp-mode API in
+org|exclude-agenda-buffers-from-workspace advice.
- Update outdated smartparens config and move it out of
org-mode-hook (only needs to be run once, not everytime org-mode is
enabled)
- Autoload mode hooks
This update focuses on improving the key UX of org tables.
- Adds new table localleader keys under `SPC m s'
- Adds new localleader keybinds
- New `s` prefix for table commands
- New `f`/`F` keybinds for footnotes
- New `'` keybind for `org-edit-special`
- New `r` keybind for `org-refile`
- Bind localleader keys for both evil and non-evil users
- Refactors org table API
- For evil users:
- Adds `zi` to toggle inline images
- Finalize insert-mode keybind scheme for evil users (ala excel/gdocs)
- C-{h,j,k,l} = move cursor between cells
- C-M-{h,j,k,l} = insert cells in direction
- C-M-S-{h,j,k,l} = swap cells in direction
This would formerly update _all_ statistics cookies in the org document,
which can be terribly slow in large documents. This restricts that to
just the parent headlines of the subtree the cursor is in.
Previously, new TODO headers created with M-RET or M-S-RET (bound to
+org/insert-item) would use the first TODO keyword in org-todo-keywords
in the new header. This wouldn't necessarily match the previous header.
e.g.
* [ ] Item 1
* TODO |
This fix ensures new headers will preserve the correct header, even if
the previous one is in a DONE state.
* [ ] Item 1
* [ ] |
projectile-project-root no longer returns `default-directory` if not in
a project (it returns nil). As such, doom-project-* functions (and their
uses) have been refactored.
+ doom-project-p & doom-project-root are aliases for
projectile-project-p & projectile-project-root.
+ doom-project-{p,root,name,expand} now has a DIR argument (for
consistency, since projectile-project-name and
projectile-project-expand do not).
+ The nocache parameter is no longer necessary, as projectile's caching
behavior is now more sane.
+ Removed some projectile advice/hacks that are no longer necessary.
+ Updated unit tests
It's possible for the debugger to be invoked from inside code wrapped in
a (quiet! ...) call. The debugger pauses Emacs in a broken state where
the functions locally rebound by quiet! (e.g. message, load-file,
write-region, etc) are never returned to their original definitions.
This attempts to reduce that probabilityby changing how quiet! silences
code. Rather than silencing them completely, they will be logged
to *Messages* but not displayed in the echo area.
Also, quiet! is now used less, where it isn't strictly needed (or where
inhibit-message is sufficient).
+ Adds three new default org-capture templates, for todo, notes and
changelogs. It will use the first {todo,notes,changelog}.org file
found up the file heirarchy from the current file, or will use
{project-root}/X.org.
+ Variables in org-capture-templates are now resolved relative to
org-directory, if they aren't absolute.
+ Display target file in org capture window header-line.
Mentioned in #886.
+ Removes redundant/unhelpful comments
+ Renames functions, hooks and variables to be self-documenting
+ Use add-to-list to ensure idempotency (and is more performant)
I prefer not to invent new variables when they aren't strictly
necessary. org-directory is one such variable (although the other path
variables are still necessary).
Ensures magit buffers are cleaned up after magit-status is closed. Will
defer cleanup on process buffers, until the processes have finished.
Also fixes issue where quitting magit will leave leftover windows.
This removes +org/toggle-fold in favor of a more compatible alternative:
a org-tab-first-hook function that forces org-cycle only to toggle the
current subtree, and not cycle through all visibility states.