Commit Graph

746 Commits

Author SHA1 Message Date
d80e79203a Replace delete-trailing-whitespace with ws-butler
ws-butler only strips trailing spaces on lines that have been modified.

+ ws-butler is disabled if editorconfig enables
  trim_trailing_whitespace, which resorts to delete-trailing-whitespace
  instead.
+ Updates doom|(enable|disable)-delete-trailing-whitespace hooks to use
  ws-butler-mode.
2018-08-31 13:59:12 +02:00
edc9bf70af Delete trailing whitespace, globally, by default
Also adds doom|disable-delete-trailing-whitespace hook, which can be
used to disable this behavior on a per-buffer basis. If you want to turn
off this global behavior:

  (remove-hook 'write-file-functions #'delete-trailing-whitespace)
2018-08-30 20:36:15 +02:00
25cc01ce41 Fix & refactor doom/open-vanilla-sandbox
It would fail to run the new instance because the arguments send to it
were incorrectly formatted.
2018-08-30 13:29:56 +02:00
d6695d4cf3 Update doom/toggle-line-numbers #847
Now that display-line-numbers-mode has been backported to Emacs 25, we
can use it instead of interacting with nlinum directly.
2018-08-29 02:15:51 +02:00
6318572d10 Fix invalid marker in doom/window-enlargen #825 2018-08-27 20:07:17 +02:00
247b219ea1 doom-project-find-file: set default-directory too #833
Be extra sure!
2018-08-26 12:00:13 +02:00
1a6ee8e0df Fix doom-project-find-file if $HOME is a repo #833
If HOME is a repo, projectile resolves all project roots to HOME. This
fixes any commands that rely on this project resolution by explicitly
telling them what project they're in instead.
2018-08-26 11:47:04 +02:00
8e092b9884 Refactor doom-quit-p 2018-08-25 04:01:35 +02:00
77838534ce Polyfill line-number-display-width for Emacs 25
Fixes void-function line-number-display-width errors (used in
company-pseudo-tooltip-frontend).
2018-08-25 03:16:32 +02:00
9eae0860c6 Fix doom/window-enlargen in popup windows #825 2018-08-23 17:21:42 +02:00
1890356d11 Refactor & fix vanilla sandbox in tty Emacs
Except for Windows users. Doesn't seem to be possible to suspend and
foreground Emacs in windows' shell.
2018-08-23 16:18:56 +02:00
12f6add329 package-initialize for doom/open-vanilla-sandbox 2018-08-23 11:27:27 +02:00
9e08620350 Use locate-library to detect display-line-numbers
Now that display-line-numbers is polyfilled, a boundp check is useless.
2018-08-21 04:32:27 +02:00
9a4cce8d9a Refactor detection of native display-line-numbers 2018-08-21 04:10:18 +02:00
a7da9a4738 💥 Rewrite line numbers system for Emacs 25
This removes the various doom-line-number* variables and replaces it
with the Emacs 26 display-line-numbers API, which I've ported to Emacs
25.x (however, it uses nlinum under the hood, and not all of
display-line-numbers options are supported).
2018-08-21 03:34:39 +02:00
4618b7afad Refactor & reformat core-ui 2018-08-21 02:56:54 +02:00
6b7f97f4fc Autoload doom-quit-p & revise its docstring 2018-08-20 23:56:56 +02:00
480378d30c Fix doom/info in noninteractive sessions 2018-08-16 01:26:28 +02:00
5714ff423a Fix evil jumplist after jumping to ag match
helm-ag would formerly add multiple entries to the jump list. It now
only adds one, and recenters the window when jumping to an ag match.
2018-08-13 21:47:55 +02:00
b149dcffd4 Replace esup with doom/profile-emacs #788
Since esup (called directly) doesn't work with Doom.
2018-08-13 03:50:17 +02:00
25d9786edf Add early-init-file support to doom/profile-emacs #788
And fix wrong-type-argument: stringp errors when running esup.

Also ensure that doom|run-all-startup-hooks sets after-init-time.
2018-08-13 03:47:33 +02:00
c530866f0a Add option to load doom in vanilla sandbox
This adds the option to run elisp in an environment where doom core &
modules are loaded, but not your private modules or config.

Also updates the vanilla sandbox text template.
2018-08-12 02:45:01 +02:00
9ddfca44d1 Rename doom//reload-project -> doom/reload-project
Conform command to new naming convention (removed the doom//abc
convention).
2018-08-11 21:45:53 +02:00
43e0314e86 Add doom/switch-theme; a more sensible load-theme
load-theme doesn't disable previously enabled themes before switching.
doom/switch-theme does.

This remaps any keys bound to load-theme to doom/switch-theme.
2018-08-11 01:59:37 +02:00
d6f89aaafd Make doom/copy-backtrace copy the whole backtrace 2018-08-10 19:13:31 +02:00
2ee177d588 Don't invoke debugger on "Aborted" messages 2018-08-02 16:41:19 +02:00
6d1512c2e2 Refactor doom/reload
+ Remove non-interactive use-case (no more relying on the server; too
  unstable).
+ Ensure autoloads are properly reloaded (and thus, the load-path is
  properly repopulated).
+ Provide feedback when it's finished
2018-08-02 14:17:53 +02:00
c33de42dce Don't use uname in doom/info on windows 2018-07-17 18:29:43 +02:00
b7eeaa4525 Improve docstring for doom/copy-backtrace 2018-07-14 19:33:47 +02:00
7ed9c5196f Add doom/copy-backtrace command 2018-07-13 13:00:42 +02:00
ee91748613 Document doom-cleanup-hook 2018-07-07 13:14:50 +02:00
1530cdbdb6 Fix vanilla sandbox creating too many temp files
On every execution.
2018-07-03 03:41:08 +02:00
537cc9e1ed Rewrite doom-real-buffer-p; require first arg
Because of how widely used this function is, I'd rather it be as
explicit as possible to avoid bugs and to make it faster.
2018-06-30 01:57:51 +02:00
70230b0892 Add doom-unreal-buffer-p predicate function 2018-06-30 01:57:51 +02:00
af41e17355 Minor reformatting & docstring tweak 2018-06-26 01:48:15 +02:00
017ba8d79c Autoload defhydras & use new naming convention
Phasing out the +module@name convention for plain old
+module-name-hydra, which is more compatible with elisp reflection tools
like describe-function and such.

Also, Emacs starts up faster now. Tee hee.
2018-06-26 01:43:54 +02:00
196638bf47 Improve handling for arbitrary package errors
e.g. if the package doesn't exist, it shouldn't simply die.
2018-06-24 22:23:09 +02:00
335bef85fd Remove unused memoize library 2018-06-24 22:23:09 +02:00
e99ae5382c Refactor package! macro
And have :ignore and :freeze be evaluated during package management,
rather than during macro expansion/compile time.

Also gives doom-package-prop a third, boolean argument. If non-nil,
`eval' the return value.
2018-06-24 22:23:08 +02:00
adf143a853 Fix void-variable error when installing packages
Caused by a haphazardly refactor in f6dc6ac7.
2018-06-23 20:11:43 +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
d4ba03791f Don't async refresh package contents
The performance benefit is minor and the loss of feedback is major in
case of errors.
2018-06-20 12:45:03 +02:00
1efb0a8298 Rename core-dispatcher -> core-cli
The file's role is easier to guess at a glance.
2018-06-20 12:04:11 +02:00
71f0b3ba10 Minor error handler refactor in package management
Allow debugger to produce better backtraces.
2018-06-20 02:23:55 +02:00
ca2c8b5a45 Minor refactor, across the board
Do you see the board? Now look at the other side. That's how far this
refactor extends.

Yes.
2018-06-18 15:02:24 +02:00
ab07e07352 Improve general error handling at startup
This will hopefully reveal more information as to the cause and origin
of errors at startup. It should also make doom-debug-mode more likely to
produce a backtrace in non-interactive sessions.
2018-06-18 14:47:36 +02:00
0d925cda5e Load core-os sooner & in all sessions
Indirectly fixes set-env! errors when using it from your init files.
2018-06-18 12:04:30 +02:00
26caea7f2b Move doom-docs-dir to core.el 2018-06-17 21:39:40 +02:00
03022d09f9 Remove doom//x naming convention
This naming convention was meant to be for batch commands, but it grew
to include "commands that were helpful with managing Doom", but many of
these commands shouldn't be interactive in the first place!
2018-06-17 21:35:58 +02:00
36992037d1 Update package dir mtimes for stale checks
This helps doom//reload-package-autoloads detect if packages have
changed.
2018-06-17 14:45:07 +02:00