Commit Graph

647 Commits

Author SHA1 Message Date
f6dc6ac74e Refactor out map.el usage
After some profiling, it turns out map-put and map-delete are 5-7x
slower (more on Emacs 25) than delq, setf/alist-get and add-to-list for
small lists (under 250 items), which is exactly how I've been using
them.

The only caveat is alist-get's signature is different on Emacs 25, thus
a polyfill is necessary in core-lib.
2018-06-23 19:53:54 +02:00
61cdac230f ui/vc emacs/vc: unify hydra design
this design will also break less based on the fonts
2018-06-23 16:25:58 +02:00
0bea00c183 Fix with-popup-rules! macro
Mistreating its RULES argument, causing void-function errors.
2018-06-22 19:17:15 +02:00
16975d0dc3 Slightly smaller backtrace popups 2018-06-22 01:49:21 +02:00
5531d7115a Fix indentation for many autodef setters 2018-06-22 01:49:21 +02:00
8c5deef5fc Fix unintern calls (missing second argument) 2018-06-22 01:49:21 +02:00
60779c9aed feature/version-control => ui/vc-gutter, emacs/vc
Reorganize vcs functionality. Moves the custom fringe bitmaps into :ui
vc-gutter.
2018-06-22 01:49:20 +02:00
d01f39d658 Add unsetting capability to set-pretty-symbols!
+ Allows (set-pretty-symbols! 'some-mode nil)
+ Changes the semantics of +pretty-code-enabled-modes, which is now t by
  default (meaning enable all modes). It also supports '(not ...).
2018-06-22 01:49:19 +02:00
27ab47cd11 Improve *Backtrace* popup rule
+ High vslot = unlikely to be replaced by other popups.
+ Make it large; backtraces are important!
+ Don't allow ESC to close it. It must be done manually, with q or zx
2018-06-20 02:12:37 +02:00
205cc718d2 Fix dashboard not appearing in daemon frames
Because they start in the *server* buffer, instead of the *scratch*
buffer.
2018-06-19 17:44:24 +02:00
ca2c8b5a45 Minor refactor, across the board
Do you see the board? Now look at the other side. That's how far this
refactor extends.

Yes.
2018-06-18 15:02:24 +02:00
6808c46b58 💥 Change set-popup-rule! usage
Now accepts a flat plist of all its former parameters, including new
:parameters and :actions properties to increase your control over the
fate of your windows.

The old usage of set-popup-rule! is deprecated and may not work right!

The :ui popup module has also seen a major refactor to improve
efficiency and load times.

Sorry! This is the last "big" change before 2.1!
2018-06-18 02:34:16 +02:00
03022d09f9 Remove doom//x naming convention
This naming convention was meant to be for batch commands, but it grew
to include "commands that were helpful with managing Doom", but many of
these commands shouldn't be interactive in the first place!
2018-06-17 21:35:58 +02:00
01d4223f18 Fix prettify-symbols not unprettifying at point
defvar wasn't being set soon enough.
2018-06-17 18:25:13 +02:00
6b73f408aa Remove prettify-utils dependency 2018-06-17 18:25:08 +02:00
6490c4b922 Prevent unsafe file variable prompts on help links 2018-06-17 17:26:15 +02:00
d0e4e0801f Setup solaie mode for doom themes. 2018-06-17 14:22:29 +02:00
0fd8e1dd6b Restore +popup-ttl
Accidentally removed in a recent commit.

Fixes #692
2018-06-17 11:34:55 +02:00
d822560b34 Fix void-variable after-focus-change-function error
This variable is introduced in the latest Emacs and the condition around
it was inverted.
2018-06-17 02:54:14 +02:00
d31052d9db Reformat popup library: move polyfills down 2018-06-17 02:21:46 +02:00
1eae57a0b4 Rename +popup-display-buffer
To +popup-display-buffer-stacked-side-window, to make it more obvious
what it actually does.
2018-06-17 02:21:46 +02:00
c3988a8298 Give popups a small margin
To make up for lack of fringe.
2018-06-17 02:21:46 +02:00
9b5a219373 Improve robustness of popup predicates & checks 2018-06-17 02:21:46 +02:00
30c5f2fa26 set-pretty-symbols!: add :iosevka, :merge & :alist
MORE. POWER.
2018-06-17 02:21:46 +02:00
79413be1f0 Improve doom modeline focus hooks
More reliable deactivation when unfocusing or switching away from Emacs.
2018-06-16 21:41:39 +02:00
e50b485948 All hail, our glorious byte compiler
Hush. Stop your complaining.
2018-06-16 21:19:57 +02:00
486019d853 Remove leading space in dashboard buffer's name
The leading space indicates a temporary buffer. The dashboard is no such
thing!
2018-06-16 21:01:16 +02:00
08986d9101 Simplify dashboard initial buffer check
We only need to check if we're in the scratch buffer. doom-real-buffer-p
is overkill for that.

This also reduces file loads at startup for autoloaded functions added
to the doom-real-buffer-functions and doom-unreal-buffer-functions.
2018-06-16 21:00:37 +02:00
8c64644450 setq->defvar (prettify-symbols-unprettify-at-point) 2018-06-16 20:57:51 +02:00
ec8ae0bedc Add :ui pretty-code & set-pretty-symbols! autodef
Along with defaults for C/C++, elm, elisp, js, typescript, web-mode, and
org-mode. Thanks to @ar1a for inspiration.
2018-06-16 19:32:25 +02:00
635fbb4a97 Fix "selecting deleted buffer" errors in helm #665
By properly handling helm popups.
2018-06-16 14:42:47 +02:00
44363cae40 General, minor refactor & revision
Across the board. All the boards.
2018-06-16 12:26:58 +02:00
74d364776e Move no-other-window to +popup-default-parameters
Should be customizable.
2018-06-16 11:45:09 +02:00
02d532a09a Set ibuffer-use-other-window in ui/popup/+hacks.el
It was originally set to accommodate the popup system.
2018-06-16 10:22:59 +02:00
1cfc146e3a Fix indentation of set-popup-rule!'s arguments 2018-06-16 00:40:37 +02:00
fe6a9b0cd8 ui/popup: tie +defaults flag to +hacks 2018-06-15 22:13:44 +02:00
f81a0e6f41 Remove redundant def-setting! docstrings
def-setting! will now grab the autodef's docstring if it has an
:obsolete property defined.
2018-06-15 16:54:39 +02:00
eaca8c58fa Move unit tests from ert to buttercup
Easier to organize and write. Now I can hopefully strive for better
coverage!
2018-06-15 03:42:01 +02:00
2023aac314 Add +treemacs/toggle command 2018-06-15 03:42:01 +02:00
d8b1e469bc Introduce autodefs to replace some settings
+ :popup -> set-popup-rule!
+ :popups -> set-popup-rules!
+ :company-backend -> set-company-backend!
+ :evil-state -> set-evil-initial-state!

I am slowly phasing out the setting system (def-setting! and set!),
starting with these.

What are autodefs? These are functions that are always defined, whether
or not their respective modules are enabled. However, when their modules
are disabled, they are replaced with macros that no-op and don't
waste time evaluating their arguments.

The old set! function will still work, for a while.
2018-06-15 03:42:01 +02:00
6fe0017e24 Add popup hacks for pdf-tools' annot list windows
Annotations are displayed in stacked windows to the left of the pdf.

Thanks to @UndeadKernel for help figuring this out.
2018-06-14 19:55:36 +02:00
b2b6ff67f2 Prevent treemacs from creating ~/.emacs.d/.cache
Alexander-Miller/treemacs#212 introduced treemacs-persist-file, which we
now use instead of tools/treemacs' old treemacs-persistence hack (which
didn't work).

Relevant to #669
2018-06-14 14:03:10 +02:00
1f07b37c9c Fix elusive back-to-top-level error
These occurred because of disruptive kill-buffer-hooks running when the
backtrace buffer was auto-killed by the popup cleanup system. No more!
2018-06-14 00:45:57 +02:00
a77a967299 Fix elusive 'already at top-level' error
I have hunted this bug on and off for nearly a year now. It would kill
processes randomly, move the point suddenly, and quit the active
minibuffer without warning.

The only clue it'd leave behind is an announcement in the minibuffer:
"Already at top-level".

Thanks to @UndeadKernel for the last piece of the puzzle!

Fixes #436
2018-06-12 14:13:12 +02:00
c8783f3291 ESC -> close treemacs for evil users 2018-06-11 00:11:20 +02:00
8c6e403215 Hide mode-line in treemacs 2018-06-11 00:11:04 +02:00
40077c6c4b Merge pull request #669 from ar1a/treemacs
Add treemacs module
2018-06-10 23:19:43 +02:00
cf6b4f891e Add +everywhere flag to treemacs-evil 2018-06-10 23:17:12 +02:00
cb0ab2fcda Refactor ui/treemacs 2018-06-10 23:16:50 +02:00
7175c7dffb Add initial treemacs module 2018-06-09 12:16:29 +10:00