Commit Graph

2245 Commits

Author SHA1 Message Date
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
1b5758a6da
Minor refactor 2018-03-18 03:36:05 -04:00
Henrik Lissner
2a45b80e2a
Revert cfe2fe87; needs better checks 2018-03-15 04:49:49 -04:00
Henrik Lissner
c760b33212
Fix recursive load errors when an enabled module doesn't exist 2018-03-14 21:21:58 -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
ce091ddde6
Improve reliability of 'nocache & without-project-cache! macro 2018-03-14 18:29:16 -04:00
Henrik Lissner
1352ac4553
Exclude images and remote files from recentf 2018-03-14 18:28:48 -04:00
Henrik Lissner
aec4fbe590
Always apply ansi color codes to compilation buffers 2018-03-14 18:28:25 -04:00
Henrik Lissner
cfe2fe87d9
Reduce screen flicker when creating a new frame
...by only reloading the theme if the new frame is of a different type
from the last (tty and GUI frames).
2018-03-14 18:26:59 -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
ccaf5eabbd
Fix switch-window hooks; add switch-buffer hooks 2018-03-14 04:52:09 -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
fbb9947c7e
Add doom-{after,before}-switch-window-hook hooks 2018-03-12 13:32:02 -04:00
Henrik Lissner
00a9a08afb
Automatically add execute permission to files with a shebang line 2018-03-12 13:32: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
5c36519dab
Ignore package! if package is disabled
This allows you to disable packages with (def-package-hook! X :disable)
without an accompanying (package! X :ignore t). This reduces redundancy.
2018-03-12 13:32:01 -04:00
Henrik Lissner
a8906cc077
Add note to def-package-hook! to use it only in init.el files 2018-03-12 13:32:01 -04:00
Henrik Lissner
23fda88b2f
Detach doom-modules-dirs from doom! macro
Formerly, you were required to have a doom! call (even a blank one) in
~/.doom.d/init.el if you wanted to have private sub-modules in
~/.doom.d/modules/.

No more. It is no longer doom!'s responsibility to affect
`doom-modules-dirs`. This is now done by :config private, while the
Doom modules directory is now the initial entry in doom-modules-dirs.
2018-03-12 13:32:00 -04:00
Henrik Lissner
c6931db3f8
Fix module count in benchmark 2018-03-12 13:32:00 -04:00
Henrik Lissner
724773cbe4
Up the doom-modules :size to 100 2018-03-12 13:32:00 -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
a94ddd4a58
core-os: correct typo in :env setting #449 2018-03-12 12:41:00 -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
54393534ff
Don't abort kbd macros on doom/escape #455 2018-03-07 01:58:13 -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
e6aad90db5
Don't display benchmark on doom//reload-load-path 2018-03-02 23:48:35 -05:00
Henrik Lissner
4b82c7b7db
Ensure doom is reinitialized properly after package management 2018-03-02 21:59:10 -05:00
Henrik Lissner
a22d5f0bb4
Fix error when package cache doesn't exist on reload-load-path 2018-03-02 20:52:30 -05:00
Henrik Lissner
57efa1b864
Update & fix unit tests 2018-03-02 20:46:45 -05:00
Henrik Lissner
d5c799a536
Rewrite require! macro 2018-03-02 20:45:43 -05:00
Henrik Lissner
738f39d21a
Change how shell env is injected #449
Changes the behavior of the :env setting to fetch the shell variables
immediately on call.
2018-03-02 19:55:05 -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
01f9ca9e67
Ensure (if|when)-let* are available to the byte-compiler
This fixes void function errors in earlier versions of Emacs while
byte-compiling Doom.
2018-03-02 19:14:45 -05:00
Henrik Lissner
5c9ef4ee38
Replace doom-hide-modeline-mode w/ hide-mode-line-mode #423 2018-03-02 19:14:44 -05:00
Henrik Lissner
7542f4a660
Fix doom-visible-windows including popup windows 2018-03-01 22:07:14 -05:00
Henrik Lissner
cde3a3ee78
Delete doom-packages-file on doom//reload-load-path
Fixes potentially malformed load-path after package management
operatins.
2018-03-01 04:47:14 -05:00
Henrik Lissner
70159d829f
Fix doom! not loading modules properly 2018-03-01 03:34:38 -05:00
Henrik Lissner
a9cbfc7f4e
New :env setting for pulling shell envvars into MacOS sessions
:env lets you specify what environment variables exec-path-from-shell
should pull in from your shell environment at startup. As such, these
need to be defined at startup. :env is useless post-init.

May address #433
2018-03-01 01:03:03 -05:00
Henrik Lissner
48e605a7ca
Delay exec-path-from-shell & don't omit it after byte-compile
Gives users an opportunity to customize what environment variables
exec-path-from-shell pulls in.

May address #433
2018-03-01 01:03:03 -05:00
Henrik Lissner
138ec2bf07
Remove manual loading of pkg-autoloads files
No longer necessary as of 0c80bb42
2018-02-28 17:57:30 -05:00
Henrik Lissner
0b2548f7b1
Fix module load order (delay config.el load) #441 2018-02-28 17:57:30 -05:00
Henrik Lissner
589108fdb2
Extend after! macro to support :any, :all & feature lists #442 2018-02-28 17:57:30 -05:00
Henrik Lissner
cacf13f226
Don't byte-compile exec-path on MacOS 2018-02-28 17:57:30 -05:00
Henrik Lissner
606b4695cc
Add NOSUFFIX flag to (load custom-file) 2018-02-28 17:57:30 -05:00