Commit graph

1574 commits

Author SHA1 Message Date
Henrik Lissner
2dc52bc9be
💥 Replace exec-path-from-shell w/ 'bin/doom env'
IMPORTANT: This is a breaking update for Mac users, as your shell
environment will no longer be inherited correctly (with the removal of
exec-path-from-shell). The quick fix is: 'bin/doom env refresh'. Also,
the set-env! autodef now does nothing (and is deprecated), be sure to
remove calls to it in your config.

Smaller changes:
+ This update also adds --no-* switches to doom quickstart
+ Includes general improvements to the documentation of several bin/doom
  commands.
+ Moves doom/reload* commands to core/autoload/config.el
+ doom/reload-project has been removed (it didn't actually do anything)

The breaking change:
This update adds an "envvar file" to Doom Emacs. This file is generated
by `doom env refresh`, populated with variables scraped from your shell
environment (from both non-interactive and interactive sessions). This
file is then (inexpensively) loaded at startup, if it exists.

+ The file is manually generated with `doom env refresh`.
+ It can be regenerated automatically whenever `doom refresh` is run by
  running `doom env enable` (`doom env clear` will reverse this and
  delete the env file).
+ `doom quickstart` will ask if you want to auto-generate this envvar
  file. You won't need it if you're confident Emacs will always be
  started from the correct environment, however.
+ Your env file can be reloaded from a running Emacs session with `M-x
  doom/reload-env`. Note: this won't work if the Emacs session you're
  running it in doesn't have a correct SHELL set. i.e. don't use this to
  create your first env file!

The idea isn't mine -- it's borrowed from Spacemacs -- and was
introduced to me in #1053 by @yurimx. I was impressed with it. Prior to
this, I was unhappy with exec-path-from-shell (no hate to the dev, I
understand its necessity), and 'doom patch-macos' wasn't ideal for mac
users (needed to be reapplied every time you update Emacs). What's more,
many users (even Linux users) had to install exec-path-from-shell
anyway.

This solution suffers from none of their shortcomings. More reliable
than patch-macos, more performant and complete than
exec-path-from-shell, and easily handled by bin/doom.
2019-03-28 01:56:09 -04:00
Henrik Lissner
ab616cfb95
Merge pull request #1247 from jdnavarro/develop
Maximize window vertically/horizontally
2019-03-26 03:45:52 -04:00
Danny Navarro
d589f87253 Add maximize window key bindings
This includes maximization for entire buffer, vertically and
horizontally.
2019-03-24 14:47:55 +00:00
Henrik Lissner
5e88c23411
Add evil jumplist support to org-open-at-point 2019-03-22 00:31:20 -04:00
Henrik Lissner
5e3c8c5f92
lang/javascript: fix documentation lookup
Due to how tide-documentation-at-point is designed, it isn't compatible
with lookup handlers. A better solution is needed.
2019-03-18 01:08:59 -04:00
Henrik Lissner
08c30336d2
Apply elisp-demos to describe-function-1 as well 2019-03-16 23:59:51 -04:00
Henrik Lissner
784ae418da
Fix wrong-type-argument on +emacs-lisp-eval
When using +eval commands in file-less buffers, like the scratch buffer.
2019-03-15 16:15:17 -04:00
Huy Duong
d77237a9c4 Correct missing bindings for rspec-mode
Signed-off-by: Huy Duong <qhuyduong@hotmail.com>
2019-03-15 10:01:43 +07:00
Henrik Lissner
3e2779da39
Refactor leader/localleader keybinds
- Some buffer-local commands were removed from leader binds
- Some more commands were added to org's localleader
- Reformatted some leader keys so that lower/upper case keys are grouped
  together, rather than apart.
- Add SPC-s-c and SPC-s-e for creating/using temporary snippets (with
  auto-yasnippet).
2019-03-14 18:38:51 -04:00
Henrik Lissner
90f36bceff
Undo 1f23eecd: un-homogenize TAB/RET/ESC
This is more trouble than its worth. Better to deal with the old edge
cases than the new ones this causes.

Addresses #1218
2019-03-14 17:59:24 -04:00
Henrik Lissner
fba7bf7748
lang/ruby: don't unset rspec-mode's keymaps
No longer necessary, and is destructive for non-evil users.
2019-03-14 00:03:12 -04:00
Henrik Lissner
e116003162
lang/python: start lsp later
Allows file/dir local variables to affect lsp.
2019-03-13 20:15:23 -04:00
Henrik Lissner
79ac04f0b1
Fix default personal org-capture targets
Supposed to resolve to {org-directory}/todo.org, but instead resolved to
{default-directory}/todo.org.
2019-03-13 18:22:57 -04:00
Henrik Lissner
d868f5fd10
Use new ;;;###package cookie
This will later be used for doom/describe-packages to list all locations
where a package is being configured (along with def-package! and after!
blocks).
2019-03-13 01:55:50 -04:00
Huy Duong
84cea4feb0 Don't install robe if lsp is enabled
Signed-off-by: Huy Duong <huy.duong@employmenthero.com>
2019-03-13 10:04:39 +07:00
Henrik Lissner
093dddff4a
lang/clojure: minor refactor 2019-03-12 12:28:57 -04:00
Henrik Lissner
b06eae6ccf
Merge pull request #1214 from qhuyduong/rspec-bindings
Bind some rspec functions for ruby and enh-ruby mode
2019-03-12 11:32:23 -04:00
Henrik Lissner
71069d6dcd
Merge pull request #1239 from flatwhatson/add-elisp-demos
Add elisp-demos to lang/emacs-lisp module
2019-03-12 11:31:44 -04:00
Henrik Lissner
e1f4668c0b
Remove redundant :commands
The elisp-demos package autoloads elisp-demos-advice-helpful-update
2019-03-12 11:31:25 -04:00
Henrik Lissner
6afe3d4115
Remove unneeded negation 2019-03-12 11:25:48 -04:00
Andrew Whatson
7b4afa32e4 Improvements to apropos and describe-symbol
Patch the apropos button types so they call helpful instead of the
built-in describe functions.  Also add some bindings to apropos-mode-map
so it behaves like other help modes.

Add `doom/describe-symbol` function, which shows documentation for
callable and variable symbols.  If a symbol is both a variable and a
callable, it dispatches to apropos.  This gives a better workflow than
`helpful-symbol`, which annoyingly prompts the user.

Remap `describe-symbol` to `doom/describe-symbol`, and update
`+emacs-lisp-lookup-documentation` to call it also.
2019-03-12 18:52:24 +10:00
Huy Duong
2860633f91 Improve rspec key bindings
Signed-off-by: Huy Duong <huy.duong@employmenthero.com>
2019-03-12 09:21:56 +07:00
Henrik Lissner
cdd6587450
lang/markdown: only bind meta keys in insert mode
Fixes #1241
2019-03-11 13:19:25 -04:00
Andrew Whatson
0a30b4ee4b Add elisp-demos to lang/emacs-lisp module
This is an extremely useful package which adds little examples to the
help docs for a massive number of elisp functions.

https://github.com/xuchunyang/elisp-demos
2019-03-11 00:22:22 +10:00
Henrik Lissner
54d1c0dd56
Minor, general refactors 2019-03-09 03:42:55 -05:00
Henrik Lissner
062652ec11
lang/org: Fix defvaralias warning; revise docstrings 2019-03-08 14:52:04 -05:00
Henrik Lissner
b9bbc95f1b
Fix void-variable org-file-apps error #1232
Snuck in during fa26dc12
2019-03-08 14:26:25 -05:00
Henrik Lissner
90a10931f7
lang/emacs-lisp: new +emacs-lisp-outline-regexp var 2019-03-08 04:25:44 -05:00
Henrik Lissner
fa26dc1269
Refactor lang/org 2019-03-08 02:37:33 -05:00
Henrik Lissner
c0c4b897ea
lang/python: refactor python mode-line indication 2019-03-08 02:37:32 -05:00
Andrew Whatson
be4bae4acf Fix cc fontification for constants with numbers 2019-03-07 01:35:22 +10:00
Henrik Lissner
bf940da52a
Don't change projectile vars before it is loaded #1219 2019-03-05 19:16:08 -05:00
Henrik Lissner
9d30b411c2
lang/org: bind dwim-at-point to RET instead #1218
[return] is treated as a different key (with higher precedence in GUI
Emacs), which means it overwrites RET behaviors bound elsewhere, like in
config/default or minor mode maps (like evil-multiedit's).
2019-03-05 18:37:50 -05:00
Henrik Lissner
35321e8b42
Fix conda python version detection in first buffer
Reported by @ztlevi
2019-03-05 02:30:14 -05:00
Henrik Lissner
75b366285f
lang/emacs-lisp: list package comments in imenu
Lines with ;; `package-name` will be considered package markers.
2019-03-05 00:11:57 -05:00
Henrik Lissner
f515bf5931
lang/python: fix conda/virtualenv modeline segment
Reported by @ztlevi
2019-03-04 20:48:52 -05:00
Henrik Lissner
5bae67e299
lang/python: remove +pyvenv flag
The pyvenv package isn't going anywhere, it's just needed by
pipenv.el (which surprisingly doesn't declare it as a dependency).
2019-03-04 20:47:26 -05:00
Henrik Lissner
fbcb4e6973
Minor refactor across the board 2019-03-04 20:47:26 -05:00
Henrik Lissner
843b29a4b5
Add node_modules to projectile ignored dirs 2019-03-04 20:47:26 -05:00
Henrik Lissner
96aa172071
Prevent overseer from being autoloading with elisp
Now it'll only load when +emacs-lisp-ert-mode is active.
2019-03-04 20:47:26 -05:00
Henrik Lissner
c7aa41599d
Add new emacs-lisp :documentation lookup handler
Made to do-what-I-mean. Uses describe-symbol/helpful-symbol and falls
back to apropos.
2019-03-04 20:47:25 -05:00
Henrik Lissner
0c891dc33e
lang/haskell: minor refactor & reformatting 2019-03-04 04:57:07 -05:00
Henrik Lissner
3873ab3875
lang/latex: use +latex-bibtex-file 2019-03-03 02:18:02 -05:00
Henrik Lissner
ec0fe7808e
Don't hardcode :weight bold into org-todo keywords
It would undermine any attempt by users to disable bold fonts.
2019-03-02 12:38:15 -05:00
Henrik Lissner
8a57d9b5fd
lang/org: RET on TOC will now refresh the TOC 2019-03-02 02:04:11 -05:00
Henrik Lissner
9ed9daa79f
No longer disable line numbers in org-mode
Now that doom-themes no longer imposes variable height heading fonts.
However, if you use them yourself, you may want to disable line numbers
there yourself via

  (add-hook 'org-mode-hook #'doom|disable-line-numbers)
2019-03-02 02:04:11 -05:00
Henrik Lissner
7c9e96da87
General module refactor 2019-03-02 02:04:11 -05:00
Henrik Lissner
0bd576673c
Refactor lang/cc
+ Fix ffap integration
+ Code reduction for irony, rtags and lsp init hooks
+ Use c-add-style instead of unless+push
+ Log that irony server isn't installed
2019-03-02 01:51:51 -05:00
Henrik Lissner
da9c4802eb
Fix wrong-number-of-args from +markdown/insert-del 2019-03-02 01:35:00 -05:00
Henrik Lissner
eb3c569e1d
Replace +lsp|init with lsp! autodef 2019-03-02 01:34:19 -05:00