Commit Graph

11919 Commits

Author SHA1 Message Date
Henrik Lissner
fe5d285a50 scroll-conservatively = 10
Match the vim default behavior of recenting the cursor in the window if
it moves more than 10 lines above or below the ends of the window.
2019-07-27 02:46:49 +02:00
Henrik Lissner
4d73f659f5 Refactor out nested hook defuns & refactor core.el
Moves file-handling config to core-editor.el.
2019-07-27 02:46:49 +02:00
Oleksii Filonenko
887a36aacf Add support for Elixir LSP via elixir-ls
- Document Elixir with LSP via elixir-ls
- Add ~+lsp~ flag to ~:lang elixir~
2019-07-26 22:17:01 +03:00
Oleksii Filonenko
32fd0162a0 Document +lsp flag for :lang elixir 2019-07-26 22:14:07 +03:00
Tej Chajed
592bb13496 lang/racket: set lookup handler to find definition 2019-07-26 14:43:57 -04:00
Henrik Lissner
05f7565a57 Merge pull request #1597 from ar1a/straight-lsp-company
tools/lsp: cache company candidates automagically
2019-07-26 20:33:28 +02:00
Aria Edmonds
21f1a50436 tools/lsp: cache company candidates automatically 2019-07-27 04:28:22 +10:00
Oleksii Filonenko
1fb5891f6d lang/elixir: finish README.org 2019-07-26 21:23:32 +03:00
Henrik Lissner
1a72cf0677 Minor, general refactors to package API 2019-07-26 20:17:30 +02:00
Henrik Lissner
6fcaa80355 Improve autoloads mtime scanning on packages
Scan source files in build directory rather than repos, which are better
indicators of a stale autoloads file.
2019-07-26 20:17:30 +02:00
Henrik Lissner
9c1c61752a Fix 'doom refresh' skipping purging step 2019-07-26 20:17:29 +02:00
Henrik Lissner
38b69785dd Don't load pkg autoloads in non-interactive sessions
Fixes an issue where autoloads would bloat load-path and auto-mode-alist
with duplicates because they were build on top of old autoloads state.

We initialize packages manually at the start of non-interactive sessions
anyway.
2019-07-26 20:17:29 +02:00
Henrik Lissner
08ba22c653 Minor refactor/reformatting of doom-initialize
- No need to use after! (it has a little magic associated with it that are
  meaningless this early in the startup process), so we use
  with-eval-after-load instead.

(And I've been itching for an excuse to use doom-rpartial)
2019-07-26 20:17:29 +02:00
Henrik Lissner
a10693886e Fix double-rebuilding & lingering stale elc files
This update addresses two evasive issues:

1. Packages updated with `doom update` would not rebuild correctly,
   requiring a `doom refresh` afterwards,
2. Packages would fail to rebuild even if their byte-compiled files were
   stale. The result: "*.el is newer than *.elc" warnings at startup.
2019-07-26 20:17:29 +02:00
Henrik Lissner
f8c4d075a5 Fix doom purge reporting failure despite success 2019-07-26 20:17:29 +02:00
Henrik Lissner
a3e262c7ac 💥 Refactor add-hook! macro & change arg order
This update may potentially break your usage of add-hook! if you pass
the :local or :append properties to it. This is how they used to work:

  (add-hook! :append 'some-mode-hook #'do-something)

Thsoe properties must now follow the hooks, e.g.

  (add-hook! 'some-mode-hook :append #'do-something)

Other changes:
- Various add-hook calls have been renamed to add-hook! because I
  incorrectly assumed `defun` always returned its definition's symbol,
  when in fact, its return value is "undefined" (so sayeth the
  documentation). This should fix #1597.
- This update adds the ability to add multiple functions to hooks
  without a list:

    (add-hook! 'some-mode-hook
               #'do-something
               #'do-something-else)

- The indentation logic has been changed so that consecutive function
  symbols at indented at the same level as the first argument, but forms
  are indent like a defun.

    (add-hook! 'some-mode-hook
               #'do-something
               #'do-something-else)

    (add-hook! 'some-mode-hook
      (message "Hello"))
2019-07-26 20:17:29 +02:00
Henrik Lissner
c2ae6f30a5 Don't compress auto-mode-alist
Modules may readd their entries afterwards, anyway.
2019-07-26 15:33:32 +02:00
Henrik Lissner
486e21ab44 Refactor doom-info; remove doom-find-packages
The function was overcomplicated and wasn't any more useful than looking
directly at doom-packages
2019-07-26 15:25:59 +02:00
Henrik Lissner
e70998228a Fix doom-package-private-p 2019-07-26 15:25:30 +02:00
Henrik Lissner
6a9a127b0f lang/emacs-lisp: add popup rule for buttercup results 2019-07-26 13:59:52 +02:00
Henrik Lissner
8834ba17e3 Only return non-nil if doom-packages-purge worked 2019-07-26 13:59:14 +02:00
Henrik Lissner
88096a81a9 merge whitespace-style with global value, not local
And ensure it runs as late as possible in after-change-major-mode-hook.

Hopefully to increase the probability of
doom-highlight-non-default-indentation-h detecting a user-enabled
whitespace-mode and bowing out in time.
2019-07-26 13:57:42 +02:00
Henrik Lissner
9311744f7f Restore comment header in envvar files
`shell-command` erases the target buffer before piping output to it.
Which means the envvar file comment header was wiped out. This causes
trouble for the envvar file parser, which expects the envvar list to
start with two newlines.
2019-07-26 13:38:13 +02:00
Henrik Lissner
331a53c0a1 Complain if envvar file exists, but isn't readable 2019-07-26 13:15:28 +02:00
Henrik Lissner
e6201ca952 Add :if, :when, :unless & :cond support to doom! macro
Now you can conditionally enable/disable modules.
2019-07-26 12:05:13 +02:00
Henrik Lissner
321b797046 cli/packages: fix infinite waiting on pkg update
Caused lecause straight is prompting for input in a headless
session *and* from a headless async child instance of Emacs. It waits
forever for input for a question we could never see or respond to.

How sad.
2019-07-26 11:54:37 +02:00
Henrik Lissner
ca295e4c79 Refactor evil-collection initialization
- Update comments
- Add code for easily refreshing evil-collection-mode-list
- Load evil-collection-term for multi-term
- Fix buffer-menu, image-mode, elisp and occur modules not loading
2019-07-26 03:12:07 +02:00
Henrik Lissner
02f2ad1e8d lang/common-lisp: conform to new conventions 2019-07-26 03:12:07 +02:00
Henrik Lissner
a146e61728 Remove DIR!, FILE! and def-advice! obsolete aliases 2019-07-26 03:12:07 +02:00
Henrik Lissner
2122a31962 Add new instanced test runner
This will run the unit tests for each module in a separate Emacs
instance. It's a fair bit slower, but much more useful for something as
stateful as an Emacs config.

Now I just need to push the rewritten tests.
2019-07-26 03:12:07 +02:00
Henrik Lissner
44c694da47 Make bin/doom options consistent & improve errors/docs 2019-07-26 03:12:07 +02:00
Henrik Lissner
829ad8c8b7 cli/packages: refactor doom-packages-purge
Sets it up for a later update where purging repos will no longer be the
default behavior.
2019-07-26 03:12:06 +02:00
Henrik Lissner
905ba1d23c Refactor autoloads byte-compilation
- Let-bind byte-compile-* vars instead of using file-local vars.
- Fix duplicate bullet point in "Copied backup..." message.
- Only display refresh message if cli command was successful.
2019-07-26 03:12:06 +02:00
Henrik Lissner
d00c5a0de5 Add doom-cli-post-{failure,success}-execute-hook vars
To replace doom-cli-post-execute-hook. Now only displays "refresh"
message after a successful command.
2019-07-26 03:12:06 +02:00
Henrik Lissner
bdcb156b91 Manually finalize straight transactions
Straight expects to be used interactively, which don't do (yet). Its
transactional system depends on idle timers, which don't run in a
noninteractive session, so we have to nudge it ourselves.
2019-07-26 03:12:06 +02:00
Henrik Lissner
2aa7dbfb27 cli/packages: refactor doom-packages-update
- Now handles errors from threads gracefully, rather than failing
  silently.
- Exploits straights modification system to trigger rebuilds
  later (instead of force-rebuilding after each update).
2019-07-26 03:12:06 +02:00
Henrik Lissner
a47351c58f lang/emacs-lisp: add test localleader keys for buttercup 2019-07-26 03:12:06 +02:00
Henrik Lissner
7d9e844e35 docs/api: add custom{,-theme}-set-faces! entry 2019-07-26 03:12:06 +02:00
Henrik Lissner
ecb655dc01 Add nested face support to custom-theme-set-faces!
And convert it and custom-set-faces! to functions because they didn't
need to be macros.
2019-07-26 03:12:06 +02:00
Henrik Lissner
5cc0e92a48 lang/sh: append "/bin/*" rule in auto-mode-alist
It's too aggressive. Rather, it should be a fallback.
2019-07-26 03:12:06 +02:00
Henrik Lissner
b24d7506e6 lang/sh: conform to new hook conventions 2019-07-26 03:12:05 +02:00
Henrik Lissner
4aa577ca3d Merge pull request #1594 from filalex77/fix-lambda-prefix-quoting
Fix quoting of command in λ!!
2019-07-25 20:39:18 +02:00
Oleksii Filonenko
62741a4214 Remove quoting in λ!! 2019-07-25 20:50:54 +03:00
Shanavas M
2a92cb1c7f Add pipenv keybindings for python module 2019-07-25 10:48:31 +05:30
Henrik Lissner
4299da1eb8 :after -> :after-while for load-theme advice
The advice shouldn't run if load-theme doesn't return
non-nil (indicating it succeeded).
2019-07-25 01:50:33 +02:00
Henrik Lissner
b1b2eba984 ui/tabbar: set variables sooner
Giving the using a chance to customize them before centaur-tabs-mode is
activated.
2019-07-25 01:49:15 +02:00
Henrik Lissner
017aa6a9f7 editor/rotate-text: conform to hook conventions
And add it<->xit and describe<->xdescribe rotate-text patterns (for
buttercup tests).
2019-07-24 22:13:19 +02:00
Nathan Sutton
fdd5137907 Add more cider functions to the clojure keymap 2019-07-24 13:15:07 -05:00
Henrik Lissner
e0fe2a85d1 Ensure doom-projectile-fd-binary is never nil 2019-07-24 17:09:51 +02:00
Henrik Lissner
03a4461d3b Indent use-package! the same as use-package 2019-07-24 16:53:33 +02:00