Commit graph

299 commits

Author SHA1 Message Date
Henrik Lissner
44363cae40
General, minor refactor & revision
Across the board. All the boards.
2018-06-16 12:26:58 +02:00
Henrik Lissner
eaca8c58fa
Move unit tests from ert to buttercup
Easier to organize and write. Now I can hopefully strive for better
coverage!
2018-06-15 03:42:01 +02:00
Henrik Lissner
d8b1e469bc
Introduce autodefs to replace some settings
+ :popup -> set-popup-rule!
+ :popups -> set-popup-rules!
+ :company-backend -> set-company-backend!
+ :evil-state -> set-evil-initial-state!

I am slowly phasing out the setting system (def-setting! and set!),
starting with these.

What are autodefs? These are functions that are always defined, whether
or not their respective modules are enabled. However, when their modules
are disabled, they are replaced with macros that no-op and don't
waste time evaluating their arguments.

The old set! function will still work, for a while.
2018-06-15 03:42:01 +02:00
Henrik Lissner
6693db48af
Mark +org-dir obsolete (use org-directory instead)
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).
2018-06-15 01:05:22 +02:00
Henrik Lissner
7f31704815
Minor reformatting of org-agenda config 2018-06-10 17:28:17 +02:00
Henrik Lissner
9bd5cb862d
Don't set org-agenda-files by default
Leave this to the user
2018-06-10 17:28:17 +02:00
Henrik Lissner
84c17b0413
Add docstring to +org-pretty-mode 2018-06-04 21:17:49 +02:00
Henrik Lissner
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
Henrik Lissner
7493c953fd
Restore gQ -> org-fill-paragraph key in org-mode
When gq is insufficient.
2018-06-04 21:17:49 +02:00
Henrik Lissner
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
Henrik Lissner
f7a6089956
Restore vim zr, zR, zm, & zM folding in org-mode
For evil users.
2018-06-04 21:17:49 +02:00
Henrik Lissner
e2bf520682
Fix dwim RET keybind in evil org-mode
Accidentally removed in 1e81a354
2018-06-03 16:18:02 +02:00
Henrik Lissner
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
Henrik Lissner
3d893ea53e
Update org-format-latex-options when theme changes 2018-06-03 12:23:17 +02:00
Henrik Lissner
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
Henrik Lissner
ae86498a41
Tie evil-org/evil-org-agenda to +everywhere flag 2018-06-03 12:20:16 +02:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
5948a52a38
Fix jumpy cursor in org tables when using evil-replace 2018-05-30 18:15:58 +02:00
Henrik Lissner
ff3f18ccaf
Use stock ob-ipython instead of fuxialexander's fork
By @fuxialexander's request
2018-05-30 18:15:02 +02:00
Henrik Lissner
ebfc5648ef
lang/org: major refactor of +ipython feature 2018-05-30 18:14:48 +02:00
Henrik Lissner
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
Henrik Lissner
31d34ae5f0
Merge pull request #620 from fuxialexander/ob-ipython
lang/org: +ipython
2018-05-30 11:57:14 +02:00
Henrik Lissner
49f16f681c
lang/org: realign/recalculate tables on exit evil replace mode 2018-05-30 01:45:35 +02:00
Henrik Lissner
947fe345c3
Minor, general refactor
In some contexts, map-put is superior to add-to-list.
2018-05-29 15:34:13 +02:00
Henrik Lissner
f2be46d60f
lang/org: only load evil-org-agenda if evil is loaded 2018-05-29 14:13:31 +02:00
fuxialexander
734b464373 Fix: load! ipython when featurep! 2018-05-29 18:32:52 +08:00
fuxialexander
d1812e040f Fix: packages.el: ob-ipython repo 2018-05-29 18:31:15 +08:00
fuxialexander
21631aa8bf Add: org: +ipython +right-popup option 2018-05-29 18:31:15 +08:00
fuxialexander
f98f7ab552 Add: org: +ipython
Add: packages
2018-05-29 18:31:15 +08:00
Henrik Lissner
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
Henrik Lissner
fa17de9f19
ui/popup: refactor :popup/:popups settings
And move org popup settings to lang/org
2018-05-26 23:26:45 +02:00
Henrik Lissner
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
Henrik Lissner
5472cd4a37
lang/org: set org-clock variables sooner 2018-05-25 00:51:35 +02:00
Henrik Lissner
fd87a0bd9e
lang/org: add ]h/[h keybinds; correct bind motion keys to motion map 2018-05-25 00:51:15 +02:00
Henrik Lissner
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
Aria
1bbf5b7d19 lang/org Make agenda view span 10 days 2018-05-18 13:45:06 +10:00
Henrik Lissner
7db7aed52d
lang/org: refactor & add org-clock config/keybinds 2018-05-18 01:43:37 +02:00
Henrik Lissner
84befc0303
lang/org: map bash src blocks to ob-shell 2018-05-18 01:43:16 +02:00
Henrik Lissner
c46bd978fc
lang/org: fix tab not folding src blocks 2018-05-17 23:05:35 +02:00
Henrik Lissner
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
Henrik Lissner
9a2c4f297c
Fix void macro errors after byte-compiling 2018-05-15 03:24:30 +02:00
Henrik Lissner
bb88411cc9
General minor refactor & docstring fixes 2018-05-14 20:55:55 +02:00
Henrik Lissner
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
Henrik Lissner
daf4c93e36
lang/org: unbind [/] (interfering w/ default binds) 2018-05-14 13:05:03 +02:00
Henrik Lissner
b6e2599358
lang/org: change recentf/persp clobbering fix 2018-05-14 13:05:03 +02:00
Miguel Santos
12e26761e2 add basic support for the nim language 2018-05-08 11:50:12 -03:00
Henrik Lissner
9e141cd01b
lang/org: fix newline-and-indent behavior in src blocks 2018-05-08 15:36:42 +02:00
Henrik Lissner
f3d54af5dc
lang/org: fix +org/insert-item moving cursor into invisible region 2018-05-08 15:24:43 +02:00