Commit graph

7669 commits

Author SHA1 Message Date
Henrik Lissner
1e710e94e3
Minor refactors
+ cl-flet* -> cl-flet
+ refactor display-line-numbers-mode
2018-09-19 19:43:32 -04:00
Henrik Lissner
9970fdac2c
Enable highlight-numbers-mode in conf-modes 2018-09-19 19:42:21 -04:00
Henrik Lissner
ba16dd8954
Resolve symlinks in doom-emacs-dir (and inline it) 2018-09-19 19:41:46 -04:00
Henrik Lissner
cc28aacecb
Don't inline DOOMDIR in doom-private-dir
Breaks DOOMDIR when config is byte-compiled, as mentioned in #900
2018-09-19 19:27:49 -04:00
Henrik Lissner
fd7f498858
tools/pdf: hide cursor in pdf-view-mode #892 2018-09-19 19:27:46 -04:00
Henrik Lissner
b4f36c8967
Merge pull request #898 from edwintorok/popup
Fix race condition in popup load
2018-09-19 18:25:55 -04:00
Henrik Lissner
6e2ee7052d
Merge pull request #899 from edwintorok/emacs27
Emacs27+: reduce number of GCs on startup from 4 to 1
2018-09-19 18:14:40 -04:00
Henrik Lissner
a9b4fe2960
Hard code gc-cons-threshold in early-init.el
In the interest of DRY-ness, I avoid redefining `doom-gc-cons-upper-limit`. This value is likely to diverge from the default value of `doom-gc-cons-upper-limit` in the future anyway.
2018-09-19 18:14:01 -04:00
Edwin Török
fae47fc448 Emacs27+: reduce number of GCs on startup from 4 to 1
Signed-off-by: Edwin Török <edwin@etorok.net>
2018-09-19 21:51:43 +01:00
Edwin Török
27e17ace67 Fix race condition in popup load
When compiling everything I got this on Emacs startup:
```
Debugger entered--Lisp error: (void-variable +popup--display-buffer-alist)
  (setq +popup--old-display-buffer-alist display-buffer-alist display-buffer-alist +popup--display-buffer-alist window--sides-inhibit-check t)
  (cond (+popup-mode (add-hook 'doom-escape-hook (function +popup|close-on-escape) t) (add-hook 'doom-cleanup-hook (function +popup|cleanup-rules)) (setq +popup--old-display-buffer-alist display-buffer-alist display-buffer-alist +popup--display-buffer-alist window--sides-inhibit-check t) (let ((--dolist-tail-- +popup-window-parameters)) (while --dolist-tail-- (let ((prop (car --dolist-tail--))) (setq window-persistent-parameters (cons (cons prop 'writable) window-persistent-parameters)) (setq --dolist-tail-- (cdr --dolist-tail--)))))) (t (remove-hook 'doom-escape-hook (function +popup|close-on-escape)) (remove-hook 'doom-cleanup-hook (function +popup|cleanup-rules)) (setq display-buffer-alist +popup--old-display-buffer-alist window--sides-inhibit-check nil) (+popup|cleanup-rules) (let ((--dolist-tail-- +popup-window-parameters)) (while --dolist-tail-- (let ((prop (car --dolist-tail--))) (delq (assq prop window-persistent-parameters) window-persistent-parameters) (setq --dolist-tail-- (cdr --dolist-tail--)))))))
  (let ((last-message (current-message))) (setq-default +popup-mode (if (eq arg 'toggle) (not (default-value '+popup-mode)) (> (prefix-numeric-value arg) 0))) (cond (+popup-mode (add-hook 'doom-escape-hook (function +popup|close-on-escape) t) (add-hook 'doom-cleanup-hook (function +popup|cleanup-rules)) (setq +popup--old-display-buffer-alist display-buffer-alist display-buffer-alist +popup--display-buffer-alist window--sides-inhibit-check t) (let ((--dolist-tail-- +popup-window-parameters)) (while --dolist-tail-- (let ((prop (car --dolist-tail--))) (setq window-persistent-parameters (cons (cons prop 'writable) window-persistent-parameters)) (setq --dolist-tail-- (cdr --dolist-tail--)))))) (t (remove-hook 'doom-escape-hook (function +popup|close-on-escape)) (remove-hook 'doom-cleanup-hook (function +popup|cleanup-rules)) (setq display-buffer-alist +popup--old-display-buffer-alist window--sides-inhibit-check nil) (+popup|cleanup-rules) (let ((--dolist-tail-- +popup-window-parameters)) (while --dolist-tail-- (let ((prop (car --dolist-tail--))) (delq (assq prop window-persistent-parameters) window-persistent-parameters) (setq --dolist-tail-- (cdr --dolist-tail--))))))) (run-hooks '+popup-mode-hook (if (default-value '+popup-mode) '+popup-mode-on-hook '+popup-mode-off-hook)) (if (called-interactively-p 'any) (progn (customize-mark-as-set '+popup-mode) (if (and (current-message) (not (equal last-message (current-message)))) nil (let ((local "")) (message "+Popup mode %sabled%s" (if (default-value '+popup-mode) "en" "dis") local))))))
  +popup-mode()
  doom-try-run-hook(+popup-mode)
  run-hook-wrapped(doom-try-run-hook +popup-mode)
  doom|init-ui()
  run-hooks(emacs-startup-hook term-setup-hook)
  #f(compiled-function () #<bytecode 0x46c615>)()
  normal-top-level()
```

Signed-off-by: Edwin Török <edwin@etorok.net>
2018-09-19 21:43:56 +01:00
Henrik Lissner
f25a5942e8
lang/scala: fix void-variable dtrt-indent-hook-mapping-list 2018-09-19 00:01:33 -04:00
Henrik Lissner
54e8577bf6
Simplify doom|init-fonts: add xft font support
custom-set-faces is somewhat overkill for this. It overwrites any user
customizations for the default & variable-pitch faces, and saves them to
custom-file, which may cause those settings to persist even when we
don't want them to.

This new solution is a little faster, is more respective of
customizations, and adds XFT font string support.

XFT font strings are a little more powerful. For example, the :antialias
font-spec property was unreliable, but now you can use:

  (setq doom-font "Fira Mono:pixelsize=12:antialias=off")
2018-09-18 22:48:21 -04:00
Henrik Lissner
b76a09539c Fix helm TAB completion from org-insert-link #897 #829
This is a tricky issue and a tricky fix. See the comments in the commit
for an explanation.
2018-09-18 21:44:59 -04:00
Henrik Lissner
316aa428fb lang/evil: refactor +everywhere
Removed unnecessary blocks and reduced the amount of code to maintain.
2018-09-18 21:39:54 -04:00
Henrik Lissner
5ef94de541 Minor refactor, reformat & comment revision 2018-09-18 21:39:54 -04:00
Henrik Lissner
0c39e73a1e Refactor/reformat core-ui
+ Move minibuffer fringe disabler to ui/doom
+ Disable blink-cursor-mode (too distracting, causes other issues e.g.
  #892)
2018-09-18 15:19:50 -04:00
Henrik Lissner
895df84f8b Add key-to-key binding support to map!
Experimental, and will eventually be replaced by general-simulate-key.
2018-09-18 15:19:50 -04:00
Henrik Lissner
80e8ccec1c Alias +org-default-notes-file to org-default-notes-file 2018-09-18 15:19:50 -04:00
Henrik Lissner
9e79ea8c9c Bind C-w O => doom/window-zoom #890
+ C-w o enlargens the current window
+ C-w O deletes all other windows

Both keys undo the change on second use (unless you have changed the
frame too much since).
2018-09-18 15:19:50 -04:00
Henrik Lissner
d332f00ca7 ui/doom-modeline: fix evil visual block indicator #895 2018-09-18 15:19:50 -04:00
Henrik Lissner
6a44cf0124 editor/reformat: refactor & fixes
+ Change +format-type to +format-region-p (now a boolean)
+ Add PRESERVE-INDENT-P boolean argument to +format-buffer
+ Add +format-preserve-indentation variable (only controls indent
  preservation during +format/buffer, not +format/region, where it's
  always enabled).
+ Fix error arising from +format|buffer hook when no formatter is
  defined for the current mode #893
+ Change +format|buffer to alias for +format/buffer.
2018-09-18 15:19:50 -04:00
Henrik Lissner
f4e119a642 Couple core-packages to package.el sooner
This way, if the user loads package.el themselves, doom's package.el
settings will take effect immediately.
2018-09-18 15:19:50 -04:00
Henrik Lissner
b96d50b3de history-length = 500 2018-09-18 15:19:50 -04:00
Henrik Lissner
e71b26b1e8 core-ui: minor reformatting/refactor 2018-09-18 15:19:50 -04:00
Henrik Lissner
4067c8937e Remove doom-major-mode-names & doom|set-mode-name
And replace it with buffer-local mode-name setters. This is more
explicit and less magical, which is easier for users to discover and
change, if they'd like.
2018-09-18 15:19:50 -04:00
Henrik Lissner
e80f5e4c85
Remove unnecessary optimization in doom-try-run-hook
Hooks run with this should already be run in a gc-deferred state (at
startup), so deferring garbage collection _again_ may just cause
unnecessary consing.
2018-09-18 11:45:13 -04:00
Henrik Lissner
b7be38b2a9
New incremental lazy-loading at startup
This is for loading large packages (like org and magit) quietly in the
background during idle time. It is already set up to incrementally load
org and magit.

This is still experimental, however. the idle timers may need to be
tweaked.
2018-09-18 11:42:35 -04:00
Henrik Lissner
ed0857b988
Fix invalid-function error on snippet prompt 2018-09-17 08:53:13 -04:00
Henrik Lissner
daccdc3e53
completion/company: fix lsp icons
Fixes a wrong-type-argument error from company-box-frontend.

Also reformats elisp company-box-icons-elisp icon list.
2018-09-16 18:19:34 -04:00
Henrik Lissner
1b7ae37447
feature/evil: refactor evil-collection integration
+ Move disabled modules into +evil-collection-disabled-list to make it
  easier to maintain our copy of evil-collection-list
+ Update evil-collection-list to reflect changes upstream
+ Fixes errors wrt missing evil-collection-* modules
2018-09-16 12:58:51 -04:00
Henrik Lissner
a9c925c50b
Rename doom*newline-and-indent
To doom*newline-indent-and-continue-comments; to better describe what it
does.
2018-09-14 10:42:09 -04:00
Henrik Lissner
9684b34389
lang/markdown: fix next/previous link keybinds
They were the other way around.
2018-09-14 09:41:06 -04:00
Henrik Lissner
a9fdeefe15
Revert 142d364
Only add doom-private-dir to load-path during autoload generation,
otherwise a $DOOMDIR/autoload.el will shadow the built-in autoload.el
Emacs package.

Note: with `doom-private-dir' in `load-path', Doom autoloads files will
be unable to declare autoloads for the built-in autoload.el Emacs
package, should $DOOMDIR/autoload.el exist. Not sure why they'd want to
though, so it's an acceptable compromise for simpler autoload
declarations.
2018-09-14 09:39:40 -04:00
Henrik Lissner
c37e3a1b80
tools/magit: fix hijacked leader key in magit-diff-mode 2018-09-13 19:15:16 -04:00
Henrik Lissner
1718770b0e
Rebind q -> kill-this-buffer in Man-mode + evil 2018-09-13 19:15:16 -04:00
Henrik Lissner
bd39ff3526
Minor reformatting 2018-09-13 19:15:16 -04:00
Henrik Lissner
54a088230f
config/default: remove C-{h,j,k,l} keybinds
These keybinds (particularly C-h) are a tad too imposing to be defaults.
Without C-h, the help commands in certain special modes (like magit or
org-agenda) become inaccessible.
2018-09-13 19:15:16 -04:00
Henrik Lissner
162b8dc81f
Add doom/set-frame-opacity command
I use this to play videos behind Emacs while I work.
2018-09-13 19:15:16 -04:00
Henrik Lissner
a1440f8d66
Fix meta keybinds in popup in tty Emacs #869
Meta keys map to ESC in tty Emacs.
2018-09-13 19:15:16 -04:00
Henrik Lissner
142d3646ef
Add doom-private-dir to load-path
Makes private autoload paths simpler
2018-09-13 19:15:15 -04:00
Henrik Lissner
0a3334a1f6
ui/modeline: refactor +modeline-encoding segment 2018-09-13 19:15:15 -04:00
Henrik Lissner
2b5738194e
feature/lookup: reduce coupling w/ lookup backends
You can now control exactly what lookup backends are used for the
various lookup commands (definition, references, online and file).

This allows you to disable (or add) backends by manipulating the default
value for these lists with add-hook or remove-hook:

* +lookup-definition-functions
* +lookup-references-functions
* +lookup-documentation-functions
* +lookup-file-functions
2018-09-13 19:15:15 -04:00
Henrik Lissner
5145e7e822
lang/python: tab-width = python-indent-offset #882
This fixes evil-shift-width too (which is set to tab-width by
evil-collection-python).
2018-09-13 19:15:15 -04:00
Henrik Lissner
03ce3db322
feature/evil: update for evil-collection changes
Now, evil-want-keybindings must be set to nil instead of
evil-want-integration.
2018-09-13 19:15:15 -04:00
Henrik Lissner
82651be909
Remove sharp-quote on make-hash-table :test
The function isn't really expecting a function, but the 'eq, 'eql or
'equal symbols. User supplied test/hash functions must be defined with
define-hash-table-test.
2018-09-13 19:15:12 -04:00
Henrik Lissner
8575ddc136
Merge pull request #881 from rynffoll/feature/ansible
Add tools/ansible
2018-09-13 19:14:46 -04:00
Henrik Lissner
2abb452e83
Merge pull request #885 from dywedir/patch-1
lang/rust: add `cargo check` localleader keybind
2018-09-13 19:11:36 -04:00
Henrik Lissner
1e2682484a
Merge pull request #875 from edwintorok/develop
Fix wrong number of arguments in repl.el and other compile errors/warnings
2018-09-12 18:57:53 -04:00
Henrik Lissner
d9a9243a62 Remove unnecessary let block 2018-09-12 23:03:23 +01:00
Edwin Török
8f5d822363 make compile-core: fix warnings
It is easier to spot real problems if the code is warning-free.

Replacing `gensym` with `make-symbol` is an idea taken from here:
b44c08dd45

In defer-until!:
core-lib.el:150:19:Warning: function ‘gensym’ from cl package called at
    runtime

In add-transient-hook!:
core-lib.el:216:16:Warning: function ‘gensym’ from cl package called at
    runtime

In toplevel form:
autoload/message.el:35:1:Warning: Unused lexical variable ‘spec’

In toplevel form:
autoload/line-numbers.el:31:1:Warning: defcustom for
    ‘display-line-numbers-type’ fails to specify containing group
autoload/line-numbers.el:31:1:Warning: defcustom for
    ‘display-line-numbers-type’ fails to specify containing group
autoload/line-numbers.el:39:1:Warning: defcustom for
    ‘display-line-numbers-grow-only’ fails to specify containing group
autoload/line-numbers.el:39:1:Warning: defcustom for
    ‘display-line-numbers-grow-only’ fails to specify containing group
autoload/line-numbers.el:44:1:Warning: defcustom for
    ‘display-line-numbers-width-start’ fails to specify containing group
autoload/line-numbers.el:44:1:Warning: defcustom for
    ‘display-line-numbers-width-start’ fails to specify containing group

In toplevel form:
cli/autoloads.el:137:1:Warning: Unused lexical variable ‘type’

Preserve name of unused lexical var _type

Makes it obvious what is stored there.
2018-09-12 23:03:23 +01:00