Commit graph

152 commits

Author SHA1 Message Date
Henrik Lissner
c8cfa31a1e
lang/org: add goto-visible & refile-to-visible commands
- Bind 'gsh' to goto-visible command in org-mode
- Bind '<localleader> g v' to goto-visible
- Bind '<localleader> r v' to refile-to-visible
- Add avy package to lang/org module

Powered by avy.
2019-12-06 17:01:58 -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
44d5e097c9
shell-command-to-string -> doom-call-process #1887
Minor optimization to remove a layer of indirection when starting
processes.
2019-11-08 16:02:06 -05:00
Henrik Lissner
2bf74158fd
Minor refactors across the board 2019-11-04 03:37:54 -05:00
Henrik Lissner
4703992002
Suppress missing-file org-version errors 2019-11-04 00:37:25 -05:00
Henrik Lissner
040fcfcffa
lang/org: add centralized org-capture project targets
For saving project todos/notes/changelogs in a central
{org-directory}/projects.org file, under {Project
Name}/{Tasks,Notes,Changelog} headings.

If you want to prefix the outline path, you can specific a :parents
property. e.g.

  (after! org-capture
    (org-capture-put :parents '("Projects")))

or

  (dolist (key '("ot" "on" "oc"))
    (setf (alist-get key org-capture-templates)
          (append (alist-get key org-capture-templates)
                  '(:parents ("Projects")))))

Also sets :kill-buffer t by default, for all org capture templates.
2019-10-31 22:45:59 -04:00
Henrik Lissner
0b8e7a27b6
Minor refactoring/reformatting across the board 2019-10-31 14:35:07 -04:00
Henrik Lissner
7b9c13f25f
lang/org: expand refile commands
Changes 'SPC m r' into a prefix with multiple refiling commands.
2019-10-28 23:23:13 -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
1694641636
lang/org: minor refactor of contrib submodules 2019-10-20 19:57:28 -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
2d365619cd
General refactor & cleanup, across the board 2019-09-13 22:00:34 -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
9bbc77c2c7
Focus org-capture frame on MacOS 2019-08-29 18:45:20 -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
afdec75cbc
lang/org: refactor ob-ipython advice 2019-07-10 21:50:54 +02:00
Henrik Lissner
468e630110
lang/org: refactor contrib modules
- Fix #1546
- Ensure contrib modules aren't included in byte-compilation/autoload
  generation if their requisite flags aren't enabled
2019-07-09 22:44:51 +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
bf9a50eaea
Fix #1481: not a valid workspace error on +org-capture/open-frame 2019-06-11 17:21:52 +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
Matthias Maurberger
3873d52c8d lang/org: fix function description 2019-05-04 21:03:59 +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
31ca94f5b0
lang/org: remove unnecessary alias 2019-04-04 19:00:56 -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
3a47c27dd6
lang/org: fix C-S-{h,l} in tables
Supposed to create new column on the left and right, respectively.
Instead, always created columns on the right.
2019-04-04 17:15:58 -04:00
Henrik Lissner
838edcea59
Add org export-to-clipboard commands & ox-clip
These work from markdown-mode as well as org-mode. Also adds
+org/export-to-clipboard-as-rich-text for pasting org/markdown rendered
as RTF.
2019-03-30 02:18:33 -04:00
Danny Navarro
d589f87253 Add maximize window key bindings
This includes maximization for entire buffer, vertically and
horizontally.
2019-03-24 14:47:55 +00:00
Henrik Lissner
79ac04f0b1
Fix default personal org-capture targets
Supposed to resolve to {org-directory}/todo.org, but instead resolved to
{default-directory}/todo.org.
2019-03-13 18:22:57 -04:00
Henrik Lissner
fa26dc1269
Refactor lang/org 2019-03-08 02:37:33 -05: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
Henrik Lissner
81cccbcc51
lang/org: only update parent statistics cookies
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.
2018-10-30 16:20:25 -04:00
Henrik Lissner
e0f7ba19cd
lang/org: use correct todo on RET
Improves on baa6f640. This fixes RET cycling between different keyword
sets.
2018-10-19 15:44:25 -04:00
Henrik Lissner
99b7b7f740
lang/org: add inline base64/http(s) image support
Adds inline image preview support for http/https links, as well as
base64 encode image support with the img protocol. e.g.

Examples:
[[http://domain.com/some/image.png]]
[[https://raw.githubusercontent.com/hlissner/doom-emacs/screenshots/company.png]]
[[img:iVBORw0KGgoAAAANSUhEUgAAACUAAAAuCAAAAACKMo8cAA...]]
2018-10-17 16:31:23 -04:00
Henrik Lissner
baa6f64025
lang/org: use correct todo keyword on M-RET
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
* [ ] |
2018-10-17 01:24:26 -04:00
Henrik Lissner
53fe7a1f04 Refactor Project API to reflect changes upstream
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
2018-09-28 21:13:27 -04:00