Commit graph

120 commits

Author SHA1 Message Date
Henrik Lissner
91ab02951d
Minor refactors across the board 2020-08-20 03:43:50 -04:00
Henrik Lissner
14d9786360
Respect org-hierarchical-todo-statistics 2020-08-14 00:40:32 -04:00
Henrik Lissner
8ae0e79918
lang/org: add eval handler
With this, gr and gR will now work in babel blocks to execute a subset
of the block (or the whole thing, if you'd like). Results are displayed
in a popup buffer (or overlay if :tools (eval +overlay) is enabled).
2020-08-05 18:26:07 -04:00
Henrik Lissner
863eb82efd
S-RET -> insert literal newline
A convention on many text editors and applications is to make RET
auto-indent new lines. That has already been done. Another convention is
for S-RET to insert an unindented line; this commit adds this convention
to Doom.

Relevant to #3694
2020-08-05 18:26:06 -04:00
Henrik Lissner
d81ef69525
Fix #3693: don't unfold archive trees on file-open
Also refactors +org-make-last-point-visible-h to be more realistic about
when it should and shouldn't expand the hidden region at point. Since
org-agenda-inhibit-startup is now non-nil by default it makes no sense
to test it (and it was a poor choice to begin with).

Plus, instead of using outline's API, better to use org's, even if
they're aliases or wrappers. Less of a maintenance burden.
2020-08-05 15:00:34 -04:00
Henrik Lissner
0e73297707
lang/org: fix edge case in +org--insert-item 2020-07-27 03:07:04 -04:00
Henrik Lissner
b2e11f9a72
Revise docstrings for org hooks 2020-07-26 16:17:04 -04:00
Henrik Lissner
12e414be89
Rename +org/toggle-clock -> +org/toggle-last-clock
And rewrite it to ask for confirmation before clocking in on the item at
point. Without this, it's much harder to see what exactly it's doing.
2020-07-26 15:55:11 -04:00
Henrik Lissner
076cee4e89
Revise +org--insert-item
Which powers +org/insert-item-below and +org/insert-item-above.
2020-07-26 15:44:42 -04:00
Henrik Lissner
afcf56a610
Redesign dwim RET on org headings
In an effort to make +org/dwim-at-point more useful and intuitive.

- Fix latex preview toggling in subtree
- Toggle inline images more selectively
- Clean up after itself (delete overlays)
- Update +org/dwim-at-point docstring
- Always update todo statistics, cookies, checkbox counts and ToC.
2020-07-24 19:27:50 -04:00
Henrik Lissner
8e34998433
Fix #3254: RET not invoking org-goto-ret in org-goto buffer 2020-05-31 22:25:55 -04:00
Henrik Lissner
ea18c83c0a
General refactors & reformatting across the board 2020-05-15 01:44:53 -04:00
Henrik Lissner
a10c157d87
Fix zr, zm, zR & zM vimmish folding in org-mode
Fixes the following keybinds for evil users:

z r        open next level of headings buffer-wide
z m        close next level of headings buffer-wide
z R        open all folded headings
z M        close all folded headings
[N] z R    open all headings at level N and above
[N] z M    close all headings at level N and below
2020-05-13 19:31:09 -04:00
Henrik Lissner
31e4bfb2d4
Don't unfold to 2nd level in org-mode by default
This is too opinionated to be a default, and has thus been replaced with
"unfold subtree around point when opening an org file", in case
saveplace has restored the point to a folded region.
2020-05-11 03:00:08 -04:00
Henrik Lissner
7662de55d8
Fix yasnippet breaking org-superstar
Because yasnippet has a delete first and ask never policy for cleaning
up overlays in the buffer.
2020-04-17 02:41:10 -04:00
Henrik Lissner
f02d28543b
Remove reference to org-bullets
Package was replaced in 5c4f3c62a
2020-04-15 18:21:50 -04:00
Henrik Lissner
169fe6a7f4
lang/org: revise docstrings 2020-04-14 15:37:00 -04:00
Henrik Lissner
da427a1b95
Fix #2880: RET on links in other elements 2020-04-11 14:43:58 -04:00
Nikodemus Siivola
8332daccee make +org--insert-item respect emacs-mode
No change of behaviour in non-emacs modes, but in emacs-mode stays there
   instead of switching to insert-mode.
2020-01-25 19:38:33 +02:00
Henrik Lissner
d84df72364
Dumb indent on TAB when in middle of subtree 2020-01-01 21:19:22 -05:00
Henrik Lissner
07823d00a7
Fix yasnippet expansion in org src blocks
This is hacky, and causes weirdness with org-bullets-mode, but it works.
2020-01-01 21:19:22 -05:00
Henrik Lissner
b9f90b3a1a
lang/org: clear src block results on TAB
When cursor is inside a src block. e.g.

  #+BEGIN_SRC elisp  <-- not here
  (message "hi")     <-- in here
  #+END_SRC          <-- not here
2019-12-30 00:07:19 -05:00
Henrik Lissner
73d975de6c
lang/org: make C-RET create headings instead of error 2019-12-20 02:13:11 -05:00
Henrik Lissner
6cf17b1237
config/default: rebind 'SPC n {c,C,n,S}'
'SPC n c' -> Toggle last org clock
'SPC n C' -> Cancel current org clock
'SPC n n' -> org-capture
'SPC n S' -> Search org-directory headings

Closes #2043
2019-12-06 13:38:57 -05:00
Henrik Lissner
26c8f5c6ef
Bytecompiler bytecompiler, won't you shut up 2019-11-23 01:21:25 -05:00
Henrik Lissner
30f72da02a
Fix No such file org-version.el errors #2010
We generate an org-version.el file, rendering our old org-release hacks
unnecessary. This may cause breakages for uses who do deep clones of
org-plus-contrib; needs testing.
2019-11-19 20:29:22 -05:00
Henrik Lissner
7879a93081
lang/org: preserve TODO keyword on C-RET
Rather than reverting to first TODO keyword.
2019-11-12 15:24:02 -05:00
Henrik Lissner
f70f788df3
lang/org: don't auto-demote headings on C-RET
This can be harder to predict. Instead, use TAB and S-TAB after-the-fact
to adjust heading level.
2019-11-12 15:24:01 -05:00
Henrik Lissner
4703992002
Suppress missing-file org-version errors 2019-11-04 00:37:25 -05:00
Henrik Lissner
0b8e7a27b6
Minor refactoring/reformatting across the board 2019-10-31 14:35:07 -04:00
Henrik Lissner
9b3f21a9bc
Optimize doom/help-search
Yields a ~80% decrease in indexing time.
2019-10-26 02:12:58 -04:00
Henrik Lissner
5f00db871e
lang/org: major refactor & add org-fancy-priorities package
- Fixes an issue where evil bindings weren't working in org-mode
- Significantly slims down on unnecessary keybinds
- Remove +org-init-keybinds-for-evil-h hook and reli more on our new
  evil-org fork, which has upstreamed some of our changes.
- Documents undocumented functions, remove unnused ones, and reorganize
  org's autoload libraries by convention.
- Adds org-fancy-priorities for more elegant (and subtle) priority
  display than ugly [#A] tags.
2019-10-25 20:25:20 -04:00
Henrik Lissner
e10cd8cf2e
Insult byte-compiler's mom
Yeah, that shut him up.
2019-09-20 23:10:53 -04:00
Henrik Lissner
f816149589
lang/org: update +org/remove-link
To reflects changes made upstream, in org.
2019-09-07 19:57:58 -04:00
Henrik Lissner
9ab49be564
Fix "fatal: no names found" errors on 'doom rebuild'
Some packages that depend on org (like elfeed) will load the built-in
org early in the rebuild/package install process, which causes org to
define org-release and org-git-version, sometimes overwriting our stubs
for it. Without our hack, org call 'git describe' in the org repo in an
attempt to determine the installed version, which won't work in a sparse
clone. To ensure future definitions never overwrite ours, we advise them
as well.

Also moves magit-version hack to its autoload file, for consistency with
org's hacks.
2019-08-07 16:31:45 -04:00
Henrik Lissner
09d67f86d9
lang/org: move org-release hack back to config.el
We don't need it available *that* early.
2019-07-29 15:05:26 +02:00
Henrik Lissner
ead0b1ce15
lang/org: correct paths in comment headers 2019-07-27 17:06:55 +02:00
Henrik Lissner
302ec4e97a
lang/org: fix and autoload org-release hack
- Lazy load all the things.
- Now org-release return a sane version string, which should address
  packages using it to version check org.
2019-07-23 18:36:18 +02:00
Henrik Lissner
8147bc1aee
💥 lang/org: conform to new name conventions 2019-07-22 02:30:38 +02:00
Henrik Lissner
e81cdc0523
lang/org: prioritize checkboxes lower in dwim command
Otherwise, checkboxes take priority over links, clocks or tables.
2019-07-13 02:24:11 +02:00
Henrik Lissner
11bfb17894
lang/org: major refactor
The motivation for this change was to rethink lang/org's flags. Many of
its former flags represented non-features. Therefore, its flags have
been reduced to five: +dragndrop, +ipython, +pandoc, +gnuplot and
+present. Everything else is included as org-load-hooks and treated as
reasonable defaults.

Other changes:
- Fixes #1502: don't autopair certain pairs when in a math region
- Fixes #1483: broken localleader in org-agenda
- Adds gnuplot support #1108
- Doom's org submodules have been moved into lang/org/contrib/, because
  I expect there will be *many* more to come, and I don't want to
  pollute the moudle's root.
2019-06-28 17:28:28 +02:00
Henrik Lissner
9a02bd8ac8
Minor refactors across the board
- when-let* -> when-let
- Fix projectile-locate-dominating-file for connected remote files
2019-06-26 14:31:06 +02:00
Henrik Lissner
4ecf6c9414
Add SCHEDULED support to +org/dwim-at-point 2019-06-26 14:31:06 +02:00
Henrik Lissner
518e53deab
lang/org: fix snippet expansion on visual region
Fixes two issues:

1. Evil users would be left in visual mode after expanding a snippet on
   a region, making it awkward to insert text. It now switches to insert
   state.
2. While yasnippet reindent the snippet's contents post-expansion, org's
   mode-specific indentation (see `org-src-tab-acts-natively`) can throw
   errors for arbitrary reasons. We don't need smart indentation when
   expanding snippets, so we turn it off only in this case.
2019-06-10 09:38:55 +02:00
Henrik Lissner
653161fe2e
lang/org: refactor org config load order
- 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
2019-04-10 18:47:21 -04:00
Henrik Lissner
6084b774b8
lang/org: refactor and add keybinds for org tables
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
2019-04-04 18:52:25 -04:00
Henrik Lissner
8a57d9b5fd
lang/org: RET on TOC will now refresh the TOC 2019-03-02 02:04:11 -05:00
Henrik Lissner
024f383a08
lang/org: add full link at point display to eldoc 2019-02-24 13:47:53 -05:00
Henrik Lissner
b4b85569b4
lang/org: expand snippet on TAB in visual mode 2019-02-19 19:05:49 -05:00
Henrik Lissner
069c196330
Appease byte-compiler senpai
Please notice me
2019-01-08 20:54:03 -05:00