Commit graph

19 commits

Author SHA1 Message Date
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
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
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
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
84befc0303
lang/org: map bash src blocks to ob-shell 2018-05-18 01:43:16 +02:00
Henrik Lissner
d7e054a8cc
lang/org: alias sh => ob-shell 2018-04-08 22:21:25 -04: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
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
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
cd7bd7628f
lang/org: refactor org init process
after! org is more reliable than org-load-hook.
2017-12-09 14:42:46 -05:00
Henrik Lissner
b111303d20
Move modules/org/* back to lang/org 2017-12-08 23:14:13 -05:00
Henrik Lissner
d2d4166b42
Move lang/org => org/*
Since lang/org has grown (and is expected to grow much, much more), it
has been given its own module category.

Concerns #129, #138
2017-07-05 12:26:08 +02:00
Henrik Lissner
eff937432e
Optimize lang/org: lexical-binding = t; cl-case => pcase 2017-06-10 01:52:44 +02:00
Henrik Lissner
5add3c3805 lang/org: cleanup & refactor 2017-05-19 03:29:00 +02:00
Henrik Lissner
5beb74b14d lang/org: improve org-edit-src-code & general org-mode popup integration 2017-05-13 00:12:23 +02:00
Henrik Lissner
448cab5f57 lang/org/+babel: add missing org-babel-get-header fn (temporary fix) 2017-04-27 18:03:37 -04:00
Henrik Lissner
85a6c6e3b6 lang/org: add +babel.el 2017-04-11 08:28:02 -04:00