Commit Graph

444 Commits

Author SHA1 Message Date
Henrik Lissner
2b2f6bcf32
New command: doom/profile-emacs (powered by esup) 2018-05-11 10:00:23 +02:00
Henrik Lissner
e6dd7fa867
Fix should-buffer! macro for tests 2018-05-08 15:20:06 +02:00
Henrik Lissner
7269abbe2f
Add doom/version command 2018-05-07 19:26:31 +02:00
Javier Peralta
a6c0be09ce doom/sudo-find-file work on remote files 2018-05-01 11:11:28 -06:00
Henrik Lissner
3dfffe455e
Rename core/autoload/debug.el => util.el
"debug.el" conflicted with the built-in debug package
2018-04-22 17:21:34 -04:00
Henrik Lissner
225dfde40f
Initialize all package metadata on doom-get-missing-packages 2018-04-05 02:29:14 -04:00
Henrik Lissner
1aa50b8364
Error if doom-package-outdated-p cannot discern package's version 2018-04-05 02:28:42 -04:00
Henrik Lissner
f44a227e74
Refactor scratch buffer; add doom-scratch-buffer-major-mode option #490
Also set the default scratch buffer major mode to fundamental-mode
2018-03-28 18:39:46 -04:00
Henrik Lissner
f334a92fdc
Fix package management delete-reinstall loop with quelpa packages 2018-03-28 01:04:34 -04:00
Henrik Lissner
1f9576a59a
Conform unit test macros to naming convention 2018-03-27 02:52:30 -04:00
Henrik Lissner
b5db4f1fb6
Debug log missing modules; remove log! macro 2018-03-24 07:25:00 -04:00
Henrik Lissner
326763ab3d
doom/cleanup-processes => doom/cleanup-buffer-processes 2018-03-23 16:01:46 -04:00
Henrik Lissner
f064c5d1ae
Change doom/kill-all-buffers behavior (C-u = only kill project buffers) 2018-03-23 16:01:35 -04:00
Henrik Lissner
21f8b6933b
Remove unused minibuffer/system libraries
They aren't necessary anymore
2018-03-23 02:37:15 -04:00
Henrik Lissner
bc6000a731
Refactor doom//reload-theme; remove obsolete hooks 2018-03-22 23:26:58 -04:00
Henrik Lissner
358d7af9ac
doom/kill-all-buffers: reduce redundancy 2018-03-22 06:31:16 -04:00
Henrik Lissner
afdf2047a7
Improve error handling in doom/info 2018-03-20 20:45:16 -04:00
Henrik Lissner
ab180cd51e
Preselect last command in menus; reverse universal arg behavior
+ The universal argument tells a menu to use the last run command, if
  available.
+ If a last run command exists, preselect it in the menu.
2018-03-19 02:02:52 -04:00
Henrik Lissner
c54fb7b8c0
Fix package advice interfering with doom-initialize
...by aggressively reloading the config from within doom-initialize (too
early, some state hasn't been initialized at this point).
2018-03-14 20:12:15 -04:00
Henrik Lissner
8898c5cb9a
Fix void-function doom*initialize-packages error
Occurs before autoloads are generated.
2018-03-14 19:52:25 -04:00
Henrik Lissner
dac0307a80
Rewrite menu system
On consecutive runs, def-menu dispatchers now rerun the last command,
unless the universal argument is passed. e.g. SPC u SPC m b

The :cwd and :project properties now accept functions (take no arguments
and return a directory or boolean).
2018-03-14 19:03:32 -04:00
Henrik Lissner
cdbd677423
Allow use of package.el #444
This makes package.el commands safe to use in Doom, and prevents errors
caused by unitialized state, by running package-initialize before
you use a package.el command.
2018-03-14 18:25:25 -04:00
Henrik Lissner
44d30ca3ce
Fix doom-active-minor-modes 2018-03-14 04:49:14 -04:00
Henrik Lissner
03e6900d3c
doom//packages-update: output feedback earlier 2018-03-13 03:18:02 -04:00
Henrik Lissner
74c8b1d113
Rewrite doctor; move warn! blocks out in doctor.el files 2018-03-12 13:32:01 -04:00
Henrik Lissner
5726da8be2
Fix unbalanced-parenthesis error in some helpful-variable buffers 2018-03-12 13:32:00 -04:00
Henrik Lissner
686ce7b26e
New doom-delete-backward-functions hook as fallback in doom/delete-backward-char 2018-03-12 12:42:26 -04:00
Henrik Lissner
7afc62fb1d
Rewrite scratch buffer commands
+ No longer open persistent scratch buffers by default. Supply the
  universal argument to do that.

  SPC x = open throw-away scratch buffer
  SPC u SPC x = open persistent scratch buffer (prompted for file)

+ Added doom/delete-scratch-files
2018-03-07 21:15:15 -05:00
Henrik Lissner
4c535b2643
Refactor + slight optimization for backspace #452 2018-03-06 16:19:47 -05:00
Henrik Lissner
74d8ea2b0f
New doom-demote-warnings option for suppress dependency warnings 2018-03-05 03:02:17 -05:00
Henrik Lissner
55b2a6df68
Fix doom/forward-to-last-non-comment-or-eol when visual-line-mode is off #450 2018-03-05 02:59:21 -05:00
Henrik Lissner
57efa1b864
Update & fix unit tests 2018-03-02 20:46:45 -05:00
Henrik Lissner
0425724571
Major rewrite of doom module API
+ Fix #446, where the .local/packages.el cache was generated with
  a faulty load-path.
+ Entries in the doom-modules hash table are now plists, containing
  :flags and :path, at least.
+ Add doom-initialize-modules for loading module config.el files.
+ Add doom-module-get for accessing this plist, e.g.

    (doom-module-get :some module)         ; returns plist
    (doom-module-get :some module :flags)  ; return specific property

+ Replace doom-module-enable with doom-module-set, e.g.

    (doom-module-set :some module :flags '(+a +b +c))

+ Remove doom-module-flags (use doom-module-get instead)
+ Rename doom-module-enabled-p with doom-module-p
+ Replace doom-module-path with doom-module-find-path and
  doom-module-expand-file. The former will search for an existing module
  or file in doom-modules-dirs. The latter will expand the path from
  whatever path is stored in doom-modules.
+ Replace doom-module-paths with doom-module-load-path
+ Changed doom! to allow for nested doom! calls by delaying the loading
  of module config.el files until as late as possible.
+ Refactor doom-initialize-packages to only ihitialize package state
  (i.e. doom-packages, package-alist, and quelpa-cache), rather than its
  previous behavior of loading all Doom files (and sometimes all module
  files). This is faster and more predictable.
2018-03-02 19:14:45 -05:00
Henrik Lissner
7542f4a660
Fix doom-visible-windows including popup windows 2018-03-01 22:07:14 -05:00
Henrik Lissner
2f7c9254d6
Fix over-zealous delete-backward-char #431
Would consume entire sexps.
2018-02-24 20:05:35 -05:00
Henrik Lissner
55c6244e9f
doom-install-package: clean up after failed quelpa install 2018-02-22 04:48:36 -05:00
Henrik Lissner
446a66603f
Fix quelpa packages looking up elpa version
This is a regression introduced in b1bf67f6.

Package management would incorrectly compare quelpa package versions
with elpa package versions. This would cause "outdated" packages to get
deleted.
2018-02-22 04:19:25 -05:00
Henrik Lissner
fe81a501f3
Fix void-function doom--menu-read error in byte-compiled Doom #427
The macro would be expanded, and then its helpers would never be loaded.
2018-02-21 15:32:51 -05:00
Henrik Lissner
7bfd0a3304
And changed-quelpa-recipe detection
These packages are now reinstalled on make install.
2018-02-20 17:55:55 -05:00
Henrik Lissner
b1bf67f630
Refactor package init process
quelpa is now initialized by doom-initialize-packages.
2018-02-20 17:54:10 -05:00
Henrik Lissner
95009c08f8
doom/describe-module: detect module associated with major-mode 2018-02-19 20:27:18 -05:00
Henrik Lissner
cf4420e903
Fix doom//run-tests 2018-02-17 22:18:04 -05:00
Henrik Lissner
d04a1fa940
Remove doom-module-pairs 2018-02-16 04:47:02 -05:00
Henrik Lissner
2b1c323dbf
💥 Redesign private sub-module system
~/.doom.d/modules is now a full module tree, like ~/.emacs.d/modules.
Symlinks are no longer involved.

Private modules can now shadow Doom modules. e.g.
~/.doom.d/modules/lang/org will take precendence over
~/.emacs.d/modules/lang/org.

Also, made doom--*-load-path variables public (e.g. doom--site-load-path
=> doom-site-load-path), and rearranged the load-path for a 10-15%
startup boost.
2018-02-16 02:11:10 -05:00
Henrik Lissner
dfefbd0176
Fix make test not resetting doom-modules properly 2018-02-14 21:18:56 -05:00
Henrik Lissner
4321f20b3e
Appease byte-compiler-sama 2018-02-14 20:54:53 -05:00
Henrik Lissner
ae52b2ff60
Fix empty load-file-name in warn! macro during byte-compilation 2018-02-14 20:52:25 -05:00
Henrik Lissner
0f404a513a
Fix overaggressive backspace
delete-backward-char would kill adjacent delimited regions:

1. |
   (...)
2. (|...)
2018-02-14 16:46:01 -05:00
Henrik Lissner
57adae5ec6
Introduce more opinionated backspace/del/newline behavior
+ Instead of remapping delete-backward-char to doom/delete-backward-char
  (which was unreliable, depending on the mode), it is now overridden
  with it, without sacrificing its original functionality. The new
  behavior is as follows:
  + Fall back to sp-backward-delete-char when it makes sense to delete
    the adjacent pair: {|} => |
  + Collapse an indented pair block, if at bolp in between: {
      |
    } => {|}
  + Refresh a pair's :post-handlers when deleting into pair: {
      |
    } => {|} => {
      |
    } (can be repeated)
  + When cursor is preceded by whitespace, delete in increments of
    tab-width.
+ newline-and-indent has been advised to:
  + Only newline when in a string.
  + Continue comment lines consistently (needs more testing!)
  + Falls back to basic newline-and-indent, without affecting whitespace
    in the origin line (it would originally delete-horizontal-space
    before creating a new line).
+ Incorporates a set of reasonable defaults for brace expansion on RET
  or SPC, as mentioned in #343 and #413.

Affects #343, #413
2018-02-14 05:42:51 -05:00
Henrik Lissner
11373e0128
Move doom-ansi-apply away from macros + add docstring 2018-02-14 05:40:37 -05:00