Commit Graph

392 Commits

Author SHA1 Message Date
23bd9d3efa Add FILE support to +org-get-property & optimize
Can now be used to grab properties from remote org files. Also only
reads the first 2048 bytes of the document by default, for performance
reasons.
2018-06-04 21:17:49 +02:00
7493c953fd Restore gQ -> org-fill-paragraph key in org-mode
When gq is insufficient.
2018-06-04 21:17:49 +02:00
8cf407caff Re-init custom keys after evil-org-set-key-theme
evil-org-set-key-theme blanks out evil-org-mode-map, undoing all our
custom keybinds. Using it isn't the correct way to customize evil-org,
but it is understandable people would use it expecting it to be, so
`+org|setup-evil` will now run after it is called.

The "Doom" way to customize evil-org would be to modify the
`evil-org-key-theme` variable, but with this change, either will work.
2018-06-04 21:17:49 +02:00
f7a6089956 Restore vim zr, zR, zm, & zM folding in org-mode
For evil users.
2018-06-04 21:17:49 +02:00
e2bf520682 Fix dwim RET keybind in evil org-mode
Accidentally removed in 1e81a354
2018-06-03 16:18:02 +02:00
1e81a35461 Minimize dependence on map!
This is in preparation for general.el integration coming in 2.1.1. It is
very likely that map! will change (and even more, be split into several
macros). Not much, but change none-the-less. Specifically, the state
keywords (e.g. :nvi, :n, :i) will be removed in favor of a :state
property that takes a list, e.g. (normal visual insert).

In any case, both map! and general are also relatively expensive
compared to define-key and evil-define-key* (and the new define-key!
macro), so use that when we can.

This also means changes to either API won't affect Doom's modules in the
long term.
2018-06-03 15:46:00 +02:00
3d893ea53e Update org-format-latex-options when theme changes 2018-06-03 12:23:17 +02:00
f9be8887fb lang/org: minor refactor/reformatting
Also reduce internal use of map! (toward eventual switch to general)
2018-06-03 12:22:39 +02:00
ae86498a41 Tie evil-org/evil-org-agenda to +everywhere flag 2018-06-03 12:20:16 +02:00
da9096acac Fix evil-org-mode keybinds on first org buffer
evil keeps track of auxiliary keymaps. This list is updated when you
switch states, but it _really_ needs to be updated when minor
modes (with keymaps) are toggled. When this isn't done, their keymaps
aren't recognized and their keys will be unavailable at first.

Since there is no global hook for enabling minor modes, we have to
manually add evil-normalize-keymaps to minor mode hooks.

This commit, specifically, fixes evil-org-mode-map. This also indirectly
fixes folding src blocks for evil users (on the first org buffer).
2018-06-03 12:08:33 +02:00
2761e8c841 lang/org: switch to hard word wrapping
Evil's motions are gimped in soft-wrapped buffers. It also hurts
performance.
2018-06-03 01:38:51 +02:00
5c8ff3ada3 Fix wrong-type-arg error from #+call() in org-mode #634
By rewriting the org babel library lazy-loader.
2018-05-31 17:25:59 +02:00
5948a52a38 Fix jumpy cursor in org tables when using evil-replace 2018-05-30 18:15:58 +02:00
ff3f18ccaf Use stock ob-ipython instead of fuxialexander's fork
By @fuxialexander's request
2018-05-30 18:15:02 +02:00
ebfc5648ef lang/org: major refactor of +ipython feature 2018-05-30 18:14:48 +02:00
98b439e3bb Refactor lang/org +babel lazy loader for src blocks
Exposes +org-babel-load-functions, which are a list of functions that
will be tried in order to load the dependencies of a src block.
2018-05-30 18:11:12 +02:00
31d34ae5f0 Merge pull request #620 from fuxialexander/ob-ipython
lang/org: +ipython
2018-05-30 11:57:14 +02:00
49f16f681c lang/org: realign/recalculate tables on exit evil replace mode 2018-05-30 01:45:35 +02:00
947fe345c3 Minor, general refactor
In some contexts, map-put is superior to add-to-list.
2018-05-29 15:34:13 +02:00
f2be46d60f lang/org: only load evil-org-agenda if evil is loaded 2018-05-29 14:13:31 +02:00
734b464373 Fix: load! ipython when featurep! 2018-05-29 18:32:52 +08:00
d1812e040f Fix: packages.el: ob-ipython repo 2018-05-29 18:31:15 +08:00
21631aa8bf Add: org: +ipython +right-popup option 2018-05-29 18:31:15 +08:00
f98f7ab552 Add: org: +ipython
Add: packages
2018-05-29 18:31:15 +08:00
1a452b6842 💥 Change first arg of load! macro
load!'s first argument is no longer a symbol (that will cause
void-variable errors now) to save on unnecessary interning and simplify
compile-time logic. It accepts any valid form that evaluates to a string
now.

If you use load!, you need to change its argument to a string!

e.g. (load! +my-module) => (load! "+my-module")
2018-05-27 12:52:28 +02:00
fa17de9f19 ui/popup: refactor :popup/:popups settings
And move org popup settings to lang/org
2018-05-26 23:26:45 +02:00
0e9add5844 Merge pull request #598 from ar1a/patch-agenda-span
lang/org Make agenda view span 10 days
2018-05-25 18:27:03 +02:00
5472cd4a37 lang/org: set org-clock variables sooner 2018-05-25 00:51:35 +02:00
fd87a0bd9e lang/org: add ]h/[h keybinds; correct bind motion keys to motion map 2018-05-25 00:51:15 +02:00
09cb4f6716 Major refactor & optimization of how modules load their packages
Now that we are loading package autoloads files (as part of the
generated doom-package-autoload-file when running make autoloads), many
:commands properties are redundant. In fact, many def-package! blocks
are redundant.

In some cases, we can do without a config.el file entirely, and can move
into the autoloads file or rely entirely on package autoloads.

Also, many settings have been moved in their module's autoloads files,
which makes them available ASAP; their use no longer depends on module
load order.

This gained me a modest ~10% boost in startup speed.
2018-05-25 00:46:16 +02:00
1bbf5b7d19 lang/org Make agenda view span 10 days 2018-05-18 13:45:06 +10:00
7db7aed52d lang/org: refactor & add org-clock config/keybinds 2018-05-18 01:43:37 +02:00
84befc0303 lang/org: map bash src blocks to ob-shell 2018-05-18 01:43:16 +02:00
c46bd978fc lang/org: fix tab not folding src blocks 2018-05-17 23:05:35 +02:00
022baf808c lang/org: use evil-org-key-theme variable to initialize evil-org
Gives people a chance to customize which evil-org key themes are
available to them.

Addresses #591
2018-05-17 11:10:46 +02:00
9a2c4f297c Fix void macro errors after byte-compiling 2018-05-15 03:24:30 +02:00
bb88411cc9 General minor refactor & docstring fixes 2018-05-14 20:55:55 +02:00
48cb10a9cc lang/org: fix void-function +org|setup-ui error
Caused if org is loaded early in your config, before :lang org is
loaded. Or when byte-compiling.
2018-05-14 20:49:45 +02:00
daf4c93e36 lang/org: unbind [/] (interfering w/ default binds) 2018-05-14 13:05:03 +02:00
b6e2599358 lang/org: change recentf/persp clobbering fix 2018-05-14 13:05:03 +02:00
12e26761e2 add basic support for the nim language 2018-05-08 11:50:12 -03:00
9e141cd01b lang/org: fix newline-and-indent behavior in src blocks 2018-05-08 15:36:42 +02:00
f3d54af5dc lang/org: fix +org/insert-item moving cursor into invisible region 2018-05-08 15:24:43 +02:00
d7889e69b3 lang/org: unbind C-j/C-k (restoring window movement keys) 2018-05-07 19:30:24 +02:00
c8b3c5c493 lang/org: don't insert a second * at BOL 2018-05-07 19:30:09 +02:00
7173e6abcd lang/org: fix TAB in insert mode not indenting 2018-04-29 00:46:45 -04:00
7dd5c12b44 lang/org: disable make-frame hooks in +org-capture/open-frame 2018-04-23 17:50:24 -04:00
8c4176cf8b lang/org: remove parse-raw from org-pandoc-options #544 2018-04-21 02:02:20 -04:00
d7e054a8cc lang/org: alias sh => ob-shell 2018-04-08 22:21:25 -04:00
460461ef54 tools/magit: clean up after magit more intelligently #506
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.
2018-04-08 20:44:40 -04:00