Commit Graph

7655 Commits

Author SHA1 Message Date
5ef94de541 Minor refactor, reformat & comment revision 2018-09-18 21:39:54 -04:00
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
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
80e8ccec1c Alias +org-default-notes-file to org-default-notes-file 2018-09-18 15:19:50 -04:00
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
d332f00ca7 ui/doom-modeline: fix evil visual block indicator #895 2018-09-18 15:19:50 -04:00
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
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
b96d50b3de history-length = 500 2018-09-18 15:19:50 -04:00
e71b26b1e8 core-ui: minor reformatting/refactor 2018-09-18 15:19:50 -04:00
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
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
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
ed0857b988 Fix invalid-function error on snippet prompt 2018-09-17 08:53:13 -04:00
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
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
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
9684b34389 lang/markdown: fix next/previous link keybinds
They were the other way around.
2018-09-14 09:41:06 -04:00
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
c37e3a1b80 tools/magit: fix hijacked leader key in magit-diff-mode 2018-09-13 19:15:16 -04:00
1718770b0e Rebind q -> kill-this-buffer in Man-mode + evil 2018-09-13 19:15:16 -04:00
bd39ff3526 Minor reformatting 2018-09-13 19:15:16 -04:00
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
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
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
142d3646ef Add doom-private-dir to load-path
Makes private autoload paths simpler
2018-09-13 19:15:15 -04:00
0a3334a1f6 ui/modeline: refactor +modeline-encoding segment 2018-09-13 19:15:15 -04:00
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
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
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
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
8575ddc136 Merge pull request #881 from rynffoll/feature/ansible
Add tools/ansible
2018-09-13 19:14:46 -04:00
2abb452e83 Merge pull request #885 from dywedir/patch-1
lang/rust: add `cargo check` localleader keybind
2018-09-13 19:11:36 -04:00
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
d9a9243a62 Remove unnecessary let block 2018-09-12 23:03:23 +01:00
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
b077b2f6a6 Use -y flag instead of piping yes to doom compile 2018-09-12 23:03:23 +01:00
b9c966ec54 Backport to Emacs 25: avoid (setf (alist-get ... 'equal))
We would need to use `'equal` for comparison, but Emacs 25 only allows `'eq`.
Using `advice-add` to override `alist-get` does not work, because `setf`
has special handling for `alist-get`.

`repl.el`: Switch to a hash table which already supports multiple comparison
functions, and changing of elements even in Emacs 25.
`eshell/autoload/settings.el`: use conditional set-or-push.
Drop `doom*alist-get`, it is unused now.

Thanks to @hlissner for the reimplementation.
2018-09-12 23:03:02 +01:00
9d445c8a1f make compile: fix error in emacs-lisp
```
In toplevel form:
../modules/lang/emacs-lisp/autoload.el:71:21:Error: Wrong type argument: listp, "~/.emacs.d/modules/lang/emacs-lisp/autoload"
✕ Failed to compile modules/lang/emacs-lisp/autoload.el
```

This apparently attempts to get compiled multiple times, avoid that by
attempting to compile only if it is not compiled already.
2018-09-12 22:55:13 +01:00
6eb95c98ea Fix bin/doom -d compile: org-attach-directory not defined 2018-09-12 22:55:13 +01:00
575c3cccd9 make compile: exit with non-zero code on error
This would allow the CI to fail to compilation errors.
2018-09-12 22:55:13 +01:00
cd22434df0 lang/rust: add cargo check localleader keybind 2018-09-12 23:32:17 +03:00
62212a4b94 Add tools/ansible 2018-09-11 22:42:05 +03:00
856e4f27e5 feature/eval: autoload +eval-{repls,runners}
Fix void-variable error when, under certain conditions, these variables
are referred to before their containing files are loaded.
2018-09-10 22:57:26 -04:00
ed702bab16 lang/ess: minor reformatting
Make hooks stand out a little more.
2018-09-10 22:39:11 -04:00
ae6d106dce lang/ess: update to reflect changes upstream #880 2018-09-10 22:36:37 -04:00
f54c36e721 lang/common-lisp: revise sly popup rules
Fixes issues with the compilation, inspector, debug or trace buffers
replacing the repl popup.
2018-09-10 12:50:45 -04:00
5b807a1c72 Fix alist-get polyfill's use of assoc in Emacs 25
assoc has only two arguments in Emacs 25, but the polyfill was using its
third argument.

This was discussed in #875
2018-09-10 12:48:19 -04:00
75036cefb0 Revert max-{specpdl-size,lisp-eval-depth} changes
They were unnecessary and could cause crashing in some cases.
2018-09-10 09:04:27 -04:00
08d9c02218 lang/go: fix formatter
`use-region-p` is not a reliable mechanism for detecting region-type
formatting, so +format-type was added to the editor/format module.
2018-09-10 08:25:48 -04:00