Commit Graph

5792 Commits

Author SHA1 Message Date
13f7f70242 lang/python: python-indent-guess-indent-offset-verbose = nil 2019-07-22 02:37:47 +02:00
77da28f06a lang/python: use correct executables for flycheck 2019-07-22 02:37:47 +02:00
a124c1b993 lang/org: org-enforce-todo-dependencies = t 2019-07-22 02:37:47 +02:00
74f7c58ef1 lang/org: org-highlight-sparse-tree-matches = nil
Helps sparse tree + org-indent-mode cooperate.
2019-07-22 02:37:46 +02:00
ecb43f1a2b lang/org: hide blocked tasks in agenda view 2019-07-22 02:37:46 +02:00
33c220902e editor/snippets: don't auto-enable yas-global-mode 2019-07-22 02:37:46 +02:00
567d0b6d16 Have smartparens back off of cc modes in 27+ 2019-07-22 02:37:46 +02:00
8a101a98b9 Add SPC o {t,T} keybinds for term/shell module 2019-07-22 02:37:46 +02:00
f898bbe9e1 Remove C-j/C-k from evil-collection blacklist
And fix ESC binding by evil-collection-vterm.
2019-07-22 02:37:46 +02:00
1b79aa1b4d term/eshell: remove redundant keys (with evil-collection)
And expand comments + use windmove-* instead of evil-window-* so as to
not exclude non-evil users from these keybinds.
2019-07-22 02:37:46 +02:00
448ec65997 ui/fill-column: move init code into autoload. 2019-07-22 02:37:46 +02:00
256284f5c0 ui/hl-todo: add HACK, REVIEW & DEPRECATED keywords
And include following colon, if any.
2019-07-22 02:37:46 +02:00
56e1dfe9bb lang/clojure: copy nrepl-server errors to repl
Makes them easier to notice!
2019-07-22 02:37:45 +02:00
952e9dd220 emacs/dired: auto-revert & reduce prompting 2019-07-22 02:37:45 +02:00
10c808466f lang/data: improve nxml-mode support 2019-07-22 02:37:45 +02:00
96bff1076f emacs/vc: bind gtc to git-timemachine-show-commit 2019-07-22 02:37:45 +02:00
82e882c630 lang/emacs-lisp: obey changes to lisp-indent-offset
In case the user has changed it.
2019-07-22 02:37:45 +02:00
060ede0e2e General, minor reformatting across the board
And an offering of blood to our great lord Byte Compiler-sama.
2019-07-22 02:37:45 +02:00
3595ff62ee lang/markdown: refactor & reformat autoloads file 2019-07-22 02:37:45 +02:00
3ef05d95ca lang/markdown: fix TAB/S-TAB keys for evil users
They were being masked by the default tab/shiftab keybinds in
config/default.
2019-07-22 02:37:44 +02:00
fc4ebb1b85 lang/markdown: don't misinterpret first line as front matter 2019-07-22 02:37:44 +02:00
e39a458be7 config/default: add smartparens fix for markdown asterixes 2019-07-22 02:37:44 +02:00
ff5769f117 Remove reference to removed cache library 2019-07-22 02:37:44 +02:00
cbafa6b749 tools/magit: add -r option to magit-pull 2019-07-22 02:37:44 +02:00
a55a71b8ce tools/magit: recognize ~/.config/git/credential 2019-07-22 02:37:44 +02:00
72f97be86f tools/magit: magit-save-repository-buffers = nil
Autosaving our buffers can trigger unwanted side-effects, like save
hooks and formatters, which is too magical. Instead, trust the user to
know what they're doing.
2019-07-22 02:30:41 +02:00
ce4b8940ca tools/magit: revise default window management for magit
The former default display function would strive to open windows below
the current magit window (splitting it), but this would stack and
quickly become cramped. The behavior is now to reuse the same
window *unless* you're opening the process buffer or from the commit
window.
2019-07-22 02:30:41 +02:00
ba26ce39fe tools/magit: lazily compile emacsql
Prevents the emacsql binary from being built just because you tried
literally anything remotely to do with magit.
2019-07-22 02:30:41 +02:00
832b7e9294 Remove witout-project-cache!, rename project-file-exists-p
To doom-project-file-exists-p, which is now a function.
2019-07-22 02:30:41 +02:00
7058facf9d ui/vc-gutter: disable git-gutter in some modes
Disabling git-gutter in fundamental-mode theoretically reduces the
number of times git-gutter is initialized (because it has to switch to
and from fundamental-mode once, sometimes twice, when changing major
modes).

git-gutter also has trouble with org-indent-mode, so we disable it
there.

And it isn't useful in image-mode.
2019-07-22 02:30:41 +02:00
b01606e99b ui/vc-gutter: fix gutter not updating after stage
When using git-gutter:stage-hunk, the gutter would be updated just
before its state is changed, creating a stale diff.
2019-07-22 02:30:41 +02:00
5005721039 lang/emacs-lisp: make company-elisp use helpful
Instead of describe-*
2019-07-22 02:30:40 +02:00
62f2f6af48 lang/emacs-lisp: revise macrostep evil keybinds
Most of these are upstream in evil-collection-macrostep.
2019-07-22 02:30:40 +02:00
18078dd160 Add special lisp indent logic for add-hook
So that inline defun forms are indented like other body forms.
2019-07-22 02:30:40 +02:00
be789caa04 Add elisp demos for Doom API in helpful buffer 2019-07-22 02:30:40 +02:00
b90dede1ab 💥 Replace package.el/quelpa with straight #374
There are a few kinks to iron out, but for the most part it's done. Doom
Emacs, powered by straight. Goodbye gnutls and elpa/quelpa issues.

This update doesn't come with rollback or lockfile support yet, but I
will eventually include one with Doom, and packages will be (by default,
anyway) updated in sync with Doom.

Relevant threads: #1577 #1566 #1473
2019-07-22 02:30:40 +02:00
0a84d2f0a9 core-lib: add auto-minor-mode, revise def-project-mode!
- Adds the auto-minor-mode package to replace our in-house
  implementation.
- Merges associate! into the def-project-mode! macro because associate!
  on its own is less useful than auto-minor-mode-alist,
  auto-minor-mode-magic-alist or hooks.
- Changes the semantics of :modes and :add-hooks properties of
  def-project-mode!. Its arguments are evaluated as is; lists will need
  to be quoted.

squash! core-lib: remove associate! macro
2019-07-22 02:30:39 +02:00
ee10b3b0d9 core-lib: add doom-{glob,path,dir}, replace {file,dir}!
- file! replaces FILE!
- dir! replaces DIR!
- doom-{glob,path,dir} have the power to construct paths out of the
  segment pieces provided to it.
- Move doom-files-in to core-lib and refactor to use the above.
2019-07-22 02:30:39 +02:00
99e23adec1 ui/doom: simplify solaire init 2019-07-22 02:30:38 +02:00
8c41093fae ui/doom: update doom-themes config for treemacs/neotree 2019-07-22 02:30:38 +02:00
fdcb259bcd Major refactor of Doom core files
- Remove core-os and move many of its settings out to other core
  libraries, where they belong
- Significantly improve commenting & compartmentalization of many
  settings
- Correct some mis-named public hooks (that were named as if they were
  private)
- Move the vast majority of optimizations to "Optimizations" section in
  core.el
- Don't activate xclip-mode or osx-clipboard-mode if we're accessing
  Emacs through an SSH connection (does more bad than good there)
- Add fast-but-imprecise-scrolling = t
- Set bidi-display-reordering = 'left-to-right, at the recommendation of
  an Emacs dev. Apparently setting it to nil is undefined, as Emacs is
  designed to always assume it's set; setting it explicitly to
  left-to-right will still do what was originally intended by turning it
  off: to reduce line/text scans for bidirectional text, which gives us
  a moderate boost in general runtime snappiness
- Set inhibit-compacting-fon-caches = t on windows (where it struggles
  especially with icon fonts)
- Disables "literal" mode for very large files (because I will be
  backporting so-long.el from Emacs 27 in the next commit)
2019-07-22 02:30:38 +02:00
81ab3dbc5d Simplify and decouple init files
The two doom-gc-* variables in init.el couples the rest of the config to
these two files. The bulk of GC/file-handler optimization was moved into
core.el and simplified (all that idle-timer voodoo was overkill).

Also adds (setq frame-inhibit-implied-reize t) to early-init, which
speeds up startup a fair bit in some edge cases with larger fonts.

squash! Simplify and decouple init files
2019-07-22 02:30:38 +02:00
8147bc1aee 💥 lang/org: conform to new name conventions 2019-07-22 02:30:38 +02:00
149b2617b0 💥 revise hook/var fns naming convention (2/2)
This is second of three big naming convention changes. In this commit,
we change the naming conventions for hook functions and variable
functions:

1. Replace the bar | to indicate a hook function with a -h suffix, e.g.

     doom|init-ui -> doom-init-ui-h
     doom|run-local-var-hooks -> doom-run-local-var-hooks-h

2. And add a -fn suffix for functions meant to be set on variables,
   e.g.

     (setq magit-display-buffer-function #'+magit-display-buffer-fn)

See ccf327f8 for the reasoning behind these changes.
2019-07-22 02:30:38 +02:00
51d3b1b424 💥 revise advice naming convention (1/2)
This is first of three big naming convention updates that have been a
long time coming. With 2.1 on the horizon, all the breaking updates will
batched together in preparation for the long haul.

In this commit, we do away with the asterix to communicate that a
function is an advice function, and we replace it with the '-a' suffix.
e.g.

  doom*shut-up -> doom-shut-up-a
  doom*recenter -> doom-recenter-a
  +evil*static-reindent -> +evil--static-reindent-a

The rationale behind this change is:

1. Elisp's own formatting/indenting tools would occasionally struggle
   with | and * (particularly pp and cl-prettyprint). They have no
   problem with / and :, fortunately.
2. External syntax highlighters (like pygmentize, discord markdown or
   github markdown) struggle with it, sometimes refusing to highlight
   code beyond these symbols.
3. * and | are less expressive than - and -- in communicating the
   intended visibility, versatility and stability of a function.
4. It complicated the regexps we must use to search for them.
5. They were arbitrary and over-complicated to begin with, decided
   on haphazardly way back when Doom was simply "my private config".

Anyhow, like how predicate functions have the -p suffix, we'll adopt the
-a suffix for advice functions, -h for hook functions and -fn for
variable functions.

Other noteable changes:
- Replaces advice-{add,remove}! macro with new def-advice!
  macro. The old pair weren't as useful. The new def-advice! saves on a
  lot of space.
- Removed "stage" assertions to make sure you were using the right
  macros in the right place. Turned out to not be necessary, we'll
  employ better checks later.
2019-07-22 02:27:45 +02:00
50dd1e63ac Remove flycheck-rust since it is no longer used. 2019-07-21 09:16:13 -04:00
c0530202a5 lang/org: restore attach entry in org-link-abbrev-alist 2019-07-20 11:40:03 +02:00
a01f1e436c Add NixOS example 2019-07-19 13:24:25 -05:00
ba71d95066 emacs/vc: add git-timemachine-show-commit fix
See https://gitlab.com/pidu/git-timemachine/issues/77
2019-07-18 13:13:31 +02:00
345d09d393 lang/emacs-lisp: don't fontify function in quoted list 2019-07-18 13:13:31 +02:00