Commit graph

908 commits

Author SHA1 Message Date
Henrik Lissner
f6d572c9fe
lang/org: fix void-symbol value error 2018-02-18 14:08:19 -05:00
Henrik Lissner
e50d8b8733
lang/org: add +org-attach/sync (attachment management)
lang/org now supports the attach:* link abbreviation. Running
+org/attach-sync will index all such links across org files in +org-dir
and delete any files in org-attach-directory that aren't referenced.

TODO: have a separate directory for attach:* attachments and vanilla
attachments?
2018-02-18 04:30:54 -05:00
Henrik Lissner
be94fc4d91
lang/org: remove unused evil autoloads 2018-02-18 03:07:57 -05:00
Henrik Lissner
a01320deeb
lang/org: redo evil integration; add evil-org package
lang/org has now adopted much of evil-org, which introduces better evil
integration for org-mode. More testing is required.
2018-02-18 00:32:12 -05:00
Henrik Lissner
0b2a61593e
lang/org: reformat whitespace in test/autoload-org.el 2018-02-17 23:22:50 -05:00
Henrik Lissner
aafa45e271
lang/org: fix insert-item tests; refactor +org/insert-item 2018-02-17 22:41:58 -05:00
Henrik Lissner
e770d5ccf2
lang/org: remove ob-redis package #368
It has been merged into org's contrib/, and is no longer on MELPA.
2018-02-17 19:28:11 -05:00
Henrik Lissner
0c459cfefd
lang/org: make backspace org-mode aware
This ensures backspace respects tables and doesn't break whitespace in
table cells.
2018-02-17 03:40:40 -05:00
Henrik Lissner
2b1c323dbf
💥 Redesign private sub-module system
~/.doom.d/modules is now a full module tree, like ~/.emacs.d/modules.
Symlinks are no longer involved.

Private modules can now shadow Doom modules. e.g.
~/.doom.d/modules/lang/org will take precendence over
~/.emacs.d/modules/lang/org.

Also, made doom--*-load-path variables public (e.g. doom--site-load-path
=> doom-site-load-path), and rearranged the load-path for a 10-15%
startup boost.
2018-02-16 02:11:10 -05:00
Henrik Lissner
4321f20b3e
Appease byte-compiler-sama 2018-02-14 20:54:53 -05:00
Henrik Lissner
e79942de2e
lang/org: improve tab indent in src blocks
I realize org-src-tab-acts-natively exists, but it doesn't work for me.
This little fix (plus the next commit's editorconfig fix) should make
tab act much more reliably in src blocks.
2018-02-13 19:41:09 -05:00
Henrik Lissner
5b92c3d99f
lang/org: add evil insert check to +org|indent-maybe 2018-02-13 18:33:36 -05:00
Henrik Lissner
7b70aa9b7d
lang/org: reorganize autoload/org.el. Pedantry intensifies.
Library is now separated into alphabetically sorted sections. So nice
and neat!
2018-02-13 18:19:36 -05:00
Henrik Lissner
d84af58f77
lang/org: refactor tab/backtab/ret keybinds to be less intrusive
Turns out the native TAB/Backtab/RET functionality in org already does
what I've replaced them with (somewhat).

Also, I discovered that the canonical way to modify TAB behavior was
through org-tab-first-hook. So, instead of replacing native
functionality, I've rewritten these keybinds to leverage them.
2018-02-13 18:12:40 -05:00
Henrik Lissner
9b76627ee0
lang/org: do org-try-structure-completion on TAB #417 2018-02-12 23:19:51 -05:00
Henrik Lissner
cf75e203b6
lang/org: add ob-crystal 2018-02-11 02:57:46 -05:00
Henrik Lissner
a43b88b18a
lang/org: refresh inline images when pressing RET on headlines 2018-02-10 02:15:23 -05:00
Henrik Lissner
04a04b2535
lang/org: remove vestigial +org-attach*link-format function 2018-02-10 02:14:57 -05:00
Henrik Lissner
39f519cdb8
lang/org: use link abbrev for relative image attachment paths 2018-02-10 02:14:57 -05:00
Henrik Lissner
0d04afa63a
lang/org: don't complain about missing ob-X upon running src blocks 2018-02-09 23:24:37 -05:00
Henrik Lissner
69dc25ae4c
lang/org: fix external org-capture workflow
+ Fix frame-spawning when calling bin/org-capture
+ Integrate counsel-org-capture into bin/org-capture workflow
+ Ensure frame is closed if counsel-org-capture is cancelled
+ Ensure org-capture buffer closes the associated frame
+ Add transient frame property for org-capture frames

If you are using a tiling window manager, you'll need to add a rule for
a window named "org-capture" in order to make a floating window.
2018-02-07 01:08:33 -05:00
Henrik Lissner
0780c16f92
lang/org: tie babel plugins to their respective lang modules 2018-02-06 02:23:30 -05:00
Henrik Lissner
169cd809bc
lang/org: add more org links & abbrevs
New org, doom, doom-module and doom-docs links, with completion and
non-existing file highlights.
2018-02-03 06:27:31 -05:00
Henrik Lissner
7e21d66bf7
lang/org: fix opening file links 2018-02-03 06:10:32 -05:00
Henrik Lissner
d714be0a16
lang/org: +org/insert-item: unhide if point lands in invisible region 2018-02-02 23:57:26 -05:00
Henrik Lissner
2d641bb059
lang/org: refresh ui settings when theme is changed 2018-02-02 20:47:33 -05:00
Henrik Lissner
11e2e1b55e
lang/org: toc-org-hrefify-default = org
gh-style links don't work in from within Emacs as well.
2018-02-02 20:47:33 -05:00
Henrik Lissner
5cb75da7e0
lang/org: fix +org/insert-item single-line buffer edge-case 2018-02-02 02:34:46 -05:00
Henrik Lissner
97d0ff0966
lang/org: fix cursor placement after M-RET in tables 2018-02-02 02:25:49 -05:00
Henrik Lissner
53b7297c6d
lang/org: fix M-RET not adjusting number bullets #390 2018-02-02 02:25:49 -05:00
Henrik Lissner
0fba37a1a1
lang/org: refactor +export; improve central export logic
Will use centralized export location only for exports that don't provide
an explicit export location.
2018-02-01 16:36:55 -05:00
Henrik Lissner
32754a6d07
lang/org: fix html export by installing htmlize package 2018-01-31 14:32:52 -05:00
Henrik Lissner
0cc3b34fa2
lang/org: fix errors lazy-loading mismatched babel libraries
The ob-C.el library takes care of C, C++ and D. This modifies the babel
lazy-loader to take this into account. Name => library mappings are
defined in +org-babel-mode-alist.
2018-01-28 17:20:28 -05:00
Henrik Lissner
78cb47a072
lang/org: lazy-load babel libraries
Removes +org-babel-languages and no longer eagerly loads babel
libraries. If an ob-*.el exists for the language, it will be loaded once
you execute its src block.

Warning: this may interfere with tangling. An unloaded library can't
register a language extension in org-babel-tangle-lang-exts (if any).
This means babel won't be able to figure out the correct file extension
for certain src blocks.

Either load the package explicitly or provide a filename + extension for
the TARGET-FILE argument:

  (require 'ob-rust)
  (org-babel-tangle-file "notes.org")
  ;; or
  (org-babel-tangle-file "notes.org" "notes.rs")
2018-01-28 15:45:31 -05:00
Henrik Lissner
01a5e9a1d7
lang/org: fix uninstallable centered-window-mode package
Turns out centered-window-mode isn't in any ELPA repo. Was it removed?
I'm not sure, so it's now fetched directly from its github repo.
2018-01-28 15:44:58 -05:00
Henrik Lissner
0e392372df
lang/org: fix relative file attachments #370
Affected non-image files having one-too-many ../ in its path.
2018-01-24 02:20:31 -05:00
Henrik Lissner
2b98e550e8
Reverse load-path to fix precedence issues
Originally, I built the load-path with site-lisp paths first, then
packages. There was a modest ~10% startup boost doing this, because
there were considerably more site packages loaded at startup than
plugins.

However, this meant built-in packages would get precedence over plugins,
which is undesirable. In org's case, I simply modified the load-path
in lang/org/init.el. However, this issue has cropped up again in #340.

Evidently, that 10% boost may not be worth the risk it imposes, so I've
rearranged the load-path with packages first.
2018-01-10 22:47:35 -05:00
Henrik Lissner
3dbf994871
lang/org: close agenda buffers after org-agenda
Experimental. Running org-agenda would leave leftover open buffers, this
hook cleans them up.
2018-01-08 20:42:43 -05:00
Henrik Lissner
6853196017
lang/org: general refactor; split init into hooks
lang/org's initialization process is now split up into hooks on
org-load-hook. This approach is cleaner and easier to customize. I also
removed the escape binding in org-agenda-mode-map, as the popup system
makes it redundant.
2018-01-08 20:41:56 -05:00
Henrik Lissner
35594f0729
lang/org: fix todo(t) capture target (incorrect path) 2018-01-07 22:20:11 -05:00
Henrik Lissner
c0680e6fa3
lang/org: refactor load-path mods & don't forget it
Previously, Doom would forget lang/org's modification of the load-path
if you call doom//reload-load-path (which is called when you do package
management with an open Emacs session).

No more!
2018-01-07 00:15:58 -05:00
Henrik Lissner
d738a8d13a
lang/org: fix unit test 2018-01-06 04:15:40 -05:00
Henrik Lissner
82abc8647a
lang/org: remove recursive require (not necessary anymore?) 2018-01-06 04:15:19 -05:00
Henrik Lissner
185bf58c9e
lang/org: add elpa org to load-path in init.el #327
Let's try to change the load-path sooner...
2018-01-06 04:02:05 -05:00
Henrik Lissner
b28f6ed477
General minor refactor & comment revision 2018-01-06 03:03:02 -05:00
Henrik Lissner
3cbddbfd88
Generalize +evil-esc-hook into doom-escape-hook
This lets vanilla Emacs users in on having a universal "escape" key.
2018-01-06 02:38:39 -05:00
Henrik Lissner
55ad843a09
lang/org: fix byte-compiler using outdated, built-in org #327
During runtime, the new version of org (installed via ELPA) is added to
load-path, but this doesn't happen during compile-time. Wrap it in
eval-and-compile and that changes.
2018-01-05 13:43:13 -05:00
Henrik Lissner
2598d48bba
Add org elpa archive + update lang/org #327
Now that the org ELPA archive has https support, we can add it to
package-archives. This fixes some 'org is unavailable' errors when
installing org packages that have declared earlier versions of org as
a dependency.

This also makes installing a newer version of org-mode much simpler.
Woo!
2018-01-04 16:16:45 -05:00
Henrik Lissner
db5910da3c
lang/org: don't error out if +org-dir doesn't exist 2018-01-03 13:15:25 -05:00
Henrik Lissner
c9a878a62f
Conform unit test macros to naming scheme 2018-01-01 16:59:30 -05:00