BREAKING CHANGE: ghcide was archived a while back and now primarily
exists as a library used in the development of haskell-language-server.
It is not recommended for end-users, only for development. To this end I
think including it in the module is more misleading than helpful, and
the people that really want to use it can easily set it up themselves.
Ref: https://github.com/haskell/ghcide/pull/939
Here's the problem:
1. Org's link system unconditionally calls *all* link :store handlers
when you call `org-store-link`, and all :export handlers when you
export an Org file.
2. The org-pdftools package works by defining a custom pdf: link with
custom :store and :export handlers.
3. Those handlers do not perform error handling before using pdftool's
API.
4. pdf-tools fails loudly and ungracefully with a
"pdf-info-epdfinfo-program is not executable" error when its API is
used and epdfinfo isn't installed.
TL;DR org-pdftools effectively breaks storing/exporting in org-mode
until pdf-tools-install is executed to install epdfinfo. This is awful
UX, so let's suppress the error.
This is a source of slowdowns in markdown-mode buffers, even
ones without code blocks, which drastically affects typing and motion
latency. This appears to be an upstream issue.
More than a year ago a change was added to ob-clojure that prevented
evaluating a Clojure code block without setting
`org-babel-clojure-backend'. This change sets this to a default value of
CIDER, since that is the main tool used in Doom.
Without this change, manual configuration is required to use Clojure in
org babel documents.
Close#5233
- #+STARTUP: inlinegifs = play inline gif previews when point is on
them.
- #+STARTUP: playgifs = play all gifs in the visible buffer (super,
super slow; use at your own risk).
- Add +org-startup-with-animated-gifs for changing the global
default (nil). Can be set to 'at-point (inlinegifs) or t (playgifs)
+ Add fennel-show-documentation handler (on K).
+ Add outline-minor-mode support.
+ Set tab-width to 2 in fennel-mode, for consistency with other lisp
modes.
#+STARTUP: showNlevels
This tells org to expand N levels at startup, but it only partially
unfolds headings, so show2levels gets you:
* A [...]
** X [...]
** Y [...]
** Z [...]
Instead of (what I think is expected):
* A
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua.
** X [...]
** Y [...]
** Z [...]
Perhaps this should be upstreamed?
ob-comint (included with org) added native :async support. It only works
for python currently, but unlike ob-async supports :session for :async
python blocks. In fact, it *requires* :session, so we still fall back to
ob-async in its absence, failing that, it ultimately falls back to
synchronous execution.
- Rename module from `:completion selectrum` to `:completion vertico`
- Rename all files involved
- Do *not* yet rename all the functions, as that messes up git's rename
detection.
- add `completion-at-point` as analogue to `cousnel-company`
- fix emacs-bindings `counsel-company` binding to respect helm and selectrum
- add org jump commands `consult-org-heading` and `consult-org-agenda` bindings
- add `consult-history` as `counsel-minibuffer-history` analogue
- add support for `doom/help-search`
- update TODO.org
`org-roam-db-location` is redefined in the :preface section, so we need
to rely on a different symbol to determine whether `org-roam` is loading
or not.
`org-roam-mode` based buffers use `magit-section` to render sections.
The problem is that `magit-section` will layer keymaps for each section
under a text property. In Emacs, text property based keymaps have a
higher precedence for a lookup[0] than `emulation-mode-map-alists`, in
which Evil and leader keymaps are stored in.
[0]: https://www.gnu.org/software/emacs/manual/html_node/elisp/Searching-Keymaps.html
v2 reverted to using `emacsql-sqlite` instead of `emacsql-sqlite3`. It
will now try to build the needed `sqlite3` executable by itself, using a
C compiler that it can find, which is normally gcc or clang.
Previously in v1 it would only check for `sqlite3` executable (using
`executable-find`) and wouldn't do anything else.
Not sure if this was a recent change (28.0.50+), but a new conditional
keybind in outline-mode-cycle-map was overriding TAB in insert mode in
org-mode (in GUI Emacs).
The coffee-mode config was too trivial (a one-liner), and is becoming
too niche for inclusion-by-default in the javascript module.
I'm technically removing js2-mode too, but rjsx-mode installs it as a
dependency anyway.