Commit graph

214 commits

Author SHA1 Message Date
Henrik Lissner
5ef94de541 Minor refactor, reformat & comment revision 2018-09-18 21:39:54 -04:00
Henrik Lissner
b7be38b2a9
New incremental lazy-loading at startup
This is for loading large packages (like org and magit) quietly in the
background during idle time. It is already set up to incrementally load
org and magit.

This is still experimental, however. the idle timers may need to be
tweaked.
2018-09-18 11:42:35 -04:00
Henrik Lissner
90f0765cfb
lang/org: set default for org-refile-targets
So org-refile can see your agenda files and files adjacent to the
current one.
2018-09-09 09:58:22 -04:00
Henrik Lissner
95fa12390d
lang/org: fix unfontified remote links 2018-09-09 09:58:21 -04:00
Henrik Lissner
7d3ffdff06
Remove third line in section headers
This is truly important stuff. We've saved many lives with this update.
2018-09-09 09:58:19 -04:00
Martin Øinæs Myrseth
a4250afb49 lang/org: Add evil-friendly calendar navigation 2018-08-27 23:55:22 +02:00
Henrik Lissner
64a88385cb
lang/org: make shiftab respect org-cycle-separator-lines #800 2018-08-21 02:56:54 +02:00
Henrik Lissner
aa9b0a8b94
lang/org: set org-cycle-separator-lines to default
Relevant to #800
2018-08-21 02:56:54 +02:00
Henrik Lissner
44472d3ee8
lang/org: use unicode separator for eldoc 2018-08-04 18:24:54 +02:00
Henrik Lissner
d504c4bafe
lang/org: respect inherited foreground in eldoc 2018-08-04 18:23:53 +02:00
Henrik Lissner
b846a40af4
Remove unused letvar, spec 2018-07-30 23:03:34 +02:00
Henrik Lissner
35e5a47e9f
Rewrote indentation detection
More robust and easier to customize.
2018-07-29 19:31:32 +02:00
Henrik Lissner
ebd3b0223e
Fix followed org links not recentering correctly
Links like `file:test.cpp::45` would open file.cpp, but end up somewhere
else than line 45. Same with links like `file:test.cpp::int main()`.
2018-07-24 20:01:42 +02:00
Henrik Lissner
6b06cd32ac
Add :autosave t :ttl nil to Org src popups
Suggested by @fuxialexander
2018-07-22 17:38:24 +02:00
Henrik Lissner
41cf970c75
Autosave org capture popups
Prevents unsaved confirmation prompts when the org-capture popup is
closed.
2018-07-21 01:00:11 +02:00
Henrik Lissner
c760bf7205
Open file links to /docs/ in emacs 2018-07-09 21:53:29 +02:00
Henrik Lissner
4941e327f4
General refactor for readability
+ Removes redundant/unhelpful comments
+ Renames functions, hooks and variables to be self-documenting
+ Use add-to-list to ensure idempotency (and is more performant)
2018-07-09 15:33:31 +02:00
Henrik Lissner
15f66f4b52
Add doom|disable-show-paren-mode hook
For disabling show-paren-mode buffer-locally.
2018-07-06 01:06:13 +02:00
Henrik Lissner
4ebbf8f056
Fix variable height org-level-N faces in eldoc
It only uses the face's :foreground, which should be enough, but it
prevents the minibuffer from being resized when eldoc displays
breadcrumbs in org-mode.
2018-07-05 13:44:34 +02:00
Henrik Lissner
e8945b2142
No evil-org-special-o/O in plain lists by default
evil-org changes the behavior of o/O to create new headlines, plain list
items or table rows. I disable its new behavior in plain lists only.
This was done because:

1. It isn't uncommon to want o/O's default behavior in plain list bodies
   of text. Unlike tables, where a new line in the middle of a table
   doesn't make much sense.
2. M-RET/S-M-RET exists.
2018-07-04 13:26:43 +02:00
Henrik Lissner
38414a636f
Fix evil-org's o/O in nested plain lists
Thanks by @fuxialexander
2018-07-04 13:16:11 +02:00
Henrik Lissner
64d4cf773d
Fix oversized *Org Links* popup 2018-06-30 17:41:43 +02:00
Henrik Lissner
5931d89d9d
Fix oversized *Org Links* popup in org-mode
At some point, org changed how soon it popped up this window, so
+popup-shrink-to-fit would run before there was any content in the
buffer, causing it to take up way too much space.
2018-06-29 16:49:55 +02:00
Henrik Lissner
75457f63fe
lang/org: refactor & disable evil-org-set-key-theme
+ It's too much trouble supporting the evil-org-set-key-theme workflow.
  Perhaps I'll make it complain when you do.
+ Don't add +org|setup-ui to doom-load-theme-hook, it's unnecsesary.
+ Use faces in org-priority-faces rather than colors.
2018-06-27 02:53:18 +02:00
Henrik Lissner
d9e58e36e9
Merge evil-org-agenda init with evil-org 2018-06-26 01:46:15 +02:00
Henrik Lissner
14a6d7710c
Prevent recursive require errors with evil-org
Caused when evil-org-set-key-theme is called too early (somehow).

Also makes evil-org-key-theme customizable, so it doesn't override a
user's changes to it.

Reported by @majorgreys
2018-06-26 01:16:01 +02:00
Henrik Lissner
f6dc6ac74e
Refactor out map.el usage
After some profiling, it turns out map-put and map-delete are 5-7x
slower (more on Emacs 25) than delq, setf/alist-get and add-to-list for
small lists (under 250 items), which is exactly how I've been using
them.

The only caveat is alist-get's signature is different on Emacs 25, thus
a polyfill is necessary in core-lib.
2018-06-23 19:53:54 +02:00
Henrik Lissner
638ff6b0a2
Fix wrong-type-argument: sequencep from org-agenda
Caused by +org|exclude-agenda-buffers-from-workspace assuming
org-agenda-new-buffers would always be non-nil... then it wasn't.

Reported by @ar1a
2018-06-20 13:31:46 +02:00
Henrik Lissner
6808c46b58
💥 Change set-popup-rule! usage
Now accepts a flat plist of all its former parameters, including new
:parameters and :actions properties to increase your control over the
fate of your windows.

The old usage of set-popup-rule! is deprecated and may not work right!

The :ui popup module has also seen a major refactor to improve
efficiency and load times.

Sorry! This is the last "big" change before 2.1!
2018-06-18 02:34:16 +02:00
Henrik Lissner
ec8ae0bedc
Add :ui pretty-code & set-pretty-symbols! autodef
Along with defaults for C/C++, elm, elisp, js, typescript, web-mode, and
org-mode. Thanks to @ar1a for inspiration.
2018-06-16 19:32:25 +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
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
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
ebfc5648ef
lang/org: major refactor of +ipython feature 2018-05-30 18:14:48 +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
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
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