Commit Graph

373 Commits

Author SHA1 Message Date
e7b252f442 TAB should respect org-cycle-open-archived-trees
And shouldn't cycle visibility of archived trees by default.
2018-07-12 20:39:39 +02:00
03cb076fd6 org: Update revealJS url
This grabs all minor versions upto 4.xx
2018-07-11 19:15:24 +05:30
763dba72cd org: Update +export to generate revealjs stuff 2018-07-11 19:06:49 +05:30
c760bf7205 Open file links to /docs/ in emacs 2018-07-09 21:53:29 +02:00
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
15f66f4b52 Add doom|disable-show-paren-mode hook
For disabling show-paren-mode buffer-locally.
2018-07-06 01:06:13 +02:00
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
ad5470ce3f Make org-export-directory an obsolete alias
Slow down to give people time to transition.
2018-07-04 23:57:17 +02:00
030e80d202 Refactor lang/org/+export
+ Changed org-export-directory to +org-export-dir (conform to naming
  convention). It turns out org-export-directory never existed in org.
+ Make org-export-backends addition (for ox-pandoc) idempotent.
+ Fix redundant forward slash in org-publish-timestamp-directory.
+ Resolve export directory later, giving the user a larger window to
  change +org-export-dir.
2018-07-04 23:52:29 +02:00
c9ffa063e7 Fix +org/insert-item in nested plain lists
Would prepend new list items in the middle of plain lists, rather than
before them.
2018-07-04 14:19:22 +02:00
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
38414a636f Fix evil-org's o/O in nested plain lists
Thanks by @fuxialexander
2018-07-04 13:16:11 +02:00
64d4cf773d Fix oversized *Org Links* popup 2018-06-30 17:41:43 +02:00
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
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
d9e58e36e9 Merge evil-org-agenda init with evil-org 2018-06-26 01:46:15 +02:00
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
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
c0fc9d3db0 Look for the correct feature name for org+rest 2018-06-20 17:04:22 -07:00
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
7a98919597 Fix quoting in babel popup rules
Reported by @fuxialexander
2018-06-19 20:50:16 +02:00
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
e973acad6f Defer projectile config in org
Now that projectile is lazy loaded.
2018-06-17 14:52:07 +02:00
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
44363cae40 General, minor refactor & revision
Across the board. All the boards.
2018-06-16 12:26:58 +02:00
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
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
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
7f31704815 Minor reformatting of org-agenda config 2018-06-10 17:28:17 +02:00
9bd5cb862d Don't set org-agenda-files by default
Leave this to the user
2018-06-10 17:28:17 +02:00
84c17b0413 Add docstring to +org-pretty-mode 2018-06-04 21:17:49 +02:00
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