Commit graph

520 commits

Author SHA1 Message Date
Henrik Lissner
019e6e530b
Add text-mode to so-long-target-modes 2019-12-09 18:14:29 -05:00
Henrik Lissner
f251eb5ba9
Remove recentf-exclude setting
We don't need to be so judicious about what files are included in the
MRU list. If you open a file, any file, it'll be considered a recently
opened file.
2019-12-08 20:14:11 -05:00
Henrik Lissner
bc89de4228
Move vc-follow-symlinks to core-editor
And remove vc-make-backup-files setting. nil is already its default
2019-12-08 16:10:31 -05:00
Henrik Lissner
41e2fb3f76
Replace doom-large-file-size w/ doom-large-file-size-alist
Now you can have major-mode-specific large-filesize thresholds, since
not all major modes are created equal.
2019-12-02 20:22:00 -05:00
Rudi Grinberg
c7420a4bd7 Speed up indent guessing
Guessing the indentation can be awfully slow because it scans the whole
buffer. This PR overrides the guessing mechanism to scan at most 10000
points.

Signed-off-by: Rudi Grinberg <me@rgrinberg.com>
2019-11-20 11:27:26 +07:00
Henrik Lissner
2bf74158fd
Minor refactors across the board 2019-11-04 03:37:54 -05:00
Henrik Lissner
2519d12ae3
Don't trigger so-long in noninteractive sessions 2019-11-03 13:06:44 -05:00
Henrik Lissner
9fbfc44f73
Fix doom-create-missing-directories-h
Hanging variable reference caused a void-variable error.
2019-11-02 14:01:19 -04:00
Henrik Lissner
e1d62f5d12
Don't trigger create-missing-directories on remotes
Also: minor refactor of the hook.
2019-11-02 13:25:43 -04:00
Henrik Lissner
af69cd0840
Fix auto-revert occasionally prompting for confirmation 2019-10-28 23:23:13 -04:00
Henrik Lissner
f34c33aa07
Fix clipboard in tty Emacs
xclip has support for a number of clipboard programs (xclip, xsel,
pb{copy,paste}, wl-copy, termux-clipboard and getclip).
2019-10-23 05:05:45 -04:00
Henrik Lissner
e1622142ed
Minor, general refactors 2019-10-23 03:57:48 -04:00
Henrik Lissner
6e6672b135
Disable read-only-mode in so-long-minor-mode 2019-10-22 12:36:43 -04:00
Henrik Lissner
5b9b029bbf
Comment & further optimize so-long-mode 2019-10-20 10:58:53 -04:00
Henrik Lissner
634b4b2bc7
Associate *.log files with text-mode 2019-10-20 10:58:53 -04:00
Henrik Lissner
70e6c17de5
Don't autorevert if minibuffer is active
Some ivy/helm commands allow you to preview buffers, which is not an
appropriate time to (invisibly) revert them. The message could be missed
and expensive machinary could be triggered (e.g. updating git-gutter),
which could appear slow. Best to defer reverting until the user has
deliberately landed on the target, and is more likely to notice a revert
notification in the minibuffer.

Suggested by @flatwhatson
2019-10-20 10:58:53 -04:00
Henrik Lissner
63c41fefcb
doom-guess-mode-h: affect interactively saved files
A half revert of 9b003e051.
2019-10-19 14:18:14 -04:00
Henrik Lissner
9b003e0516
Fix doom-guess-mode-h being too aggressive
It would trigger set-auto-mode whenever files are written to (e.g. when
persp-mode writes its workspace/session files, which have unsafe local
variables, so the user is inundated with prompts to accept them).

Now, doom-guess-mode-h will only work on files with shebang lines.
2019-10-19 13:50:42 -04:00
Henrik Lissner
ee5cdd13dd
Guess major-mode when saving a fundamental-mode file 2019-10-18 21:10:55 -04:00
Henrik Lissner
323e0adf45
Minor refactors & reformatting across the board 2019-10-17 01:47:58 -04:00
Henrik Lissner
88af741597
Stop auto-revert prompting for confirmation
I misunderstood revert-without-query.
2019-10-14 18:43:40 -04:00
Henrik Lissner
51973dca9b
Move auto-fill-mode to text-mode-hook 2019-10-14 18:25:02 -04:00
Andrew Whatson
94406c0f36 Set a jump point when using imenu 2019-10-10 13:43:47 +10:00
Henrik Lissner
dc24237800
Perform large-file checks after major-mode is decided
Fixes an issue where pdfs (in pdf-view-mode) weren't been converted
correctly because the file was declared large while it was being read in
fundamental-mode.
2019-10-08 21:10:42 -04:00
Henrik Lissner
cb495aabe6
Have so-long-minor-mode disable more expensive minor modes
And not disable font-lock-mode or display-line-numbers-mode, so we can
have basic highlighting.
2019-10-08 21:09:52 -04:00
Henrik Lissner
0426b9d514
Create a jump point before kill-current-buffer
So you can easily "undo" killing it.
2019-10-07 23:56:47 -04:00
Henrik Lissner
95258c55d6
Remove xclip-mode & osx-clipboard-mode
Due to the varied approaches to terminal environments, I leave it up to
the user to handle restoration of the clipboard.
2019-10-07 18:06:13 -04:00
Henrik Lissner
6ee96d15aa
Merge pull request #1842 from flatwhatson/undo-tree
Experimental fixes for undo-tree
2019-10-07 16:24:25 -04:00
Henrik Lissner
774ca43e32
dtrt-indent-max-lines = 2000
Reduced from default of 5000 for slightly faster analysis
2019-10-07 16:07:38 -04:00
Henrik Lissner
616dec5b93
Optimize opening large files #1834
Fixes an issue where dtrt-indent and/or nav-flash would hang Emacs when
opening large files, and disables all mode hooks for large
files (without using fundamental-mode so you can at least get syntax
highlighting).
2019-10-07 16:02:23 -04:00
Henrik Lissner
bb5ff21203
Remove redundant bookmark-save-flag setting
Its default value is `t`
2019-10-05 20:20:30 -04:00
Henrik Lissner
ed96d60e2c
Add comments for undo-tree advice
Describes why we try to compress undo-tree history data. I'm aware that
undo-tree-auto-save-history is disabled, but that may change in the near
future.
2019-10-03 12:04:54 -04:00
Andrew Whatson
aa087e3af2 Experimental fixes for undo-tree
Increase `undo-limit`, `undo-strong-limit` and `undo-outer-limit` by a
factor of ten, which should prevent emacs from prematurely truncating
the undo history and corrupting the tree.

Restore `undo-tree-auto-save-history` which was disabled to avoid
exacerbating the undo history truncation.

Change the `undo-tree` recipe to grab the latest version from the
maintainer's repostiory instead of the outdated ELPA version.

Restore `undo-tree-enable-undo-in-region` which should be fixed in the
latest version of `undo-tree`.
2019-10-01 22:37:18 +10:00
Henrik Lissner
c080ae8c9f
Only disable smartparens in replace mode if it is enabled
Prevents an issue where smartparens would re-enable itself, even when it
has been disabled by the user.
2019-09-30 14:58:34 -04:00
Henrik Lissner
67617254bc
Optimize save-place caching
By reducing its limit from 200 to 100 (its default is 400) and by *not*
prettifying its cache file (pp is much more expensive than prin1).
2019-09-28 12:47:20 -04:00
Henrik Lissner
1aaf229473
Silence byte-compiler warning from better-jumper
At least until gilbertw1/better-jumper#2 is merged.
2019-09-20 17:18:16 -04:00
Henrik Lissner
3b7711420f
General comment revision & cleanup 2019-09-06 00:25:35 -04:00
Henrik Lissner
c0d2ab331e
Remove command-log-mode
This isn't vital enough a package to be included in core. Emacs already
provides view-lossage, and there are other, better packages for
displaying your keybinds as you type.

Even one that I've been working on (with special evil support):
https://github.com/hlissner/doom-emacs-private/blob/master/lisp/keycast.el
2019-09-06 00:13:40 -04:00
Henrik Lissner
4b736bef68
Introduce doom-interactive-mode
As soft inverse alias for noninteractive; this makes it easier to unit
test functionality that depends on the session type.
2019-09-03 00:37:30 -04:00
Henrik Lissner
4d73f659f5
Refactor out nested hook defuns & refactor core.el
Moves file-handling config to core-editor.el.
2019-07-27 02:46:49 +02:00
Henrik Lissner
82ae3a73f3
def-advice!->defadvice! & conform to new advice conventions
This commit does two things:

- Renames def-advice! to defadvice!, in the spirit of naming convenience
  macros after the function/macro they enhance or replace.
- Correct the names of advice functions to indicate visibility and
  intent. A public advice function like doom-set-jump-a is meant to be
  used elsewhere. A private one like +dired--cleanup-header-line-a
  shouldn't -- it likely won't work anywhere but the function(s) it was
  made to advise.
2019-07-23 17:24:56 +02:00
Henrik Lissner
76cacb5bfe
💥 Rename def-package! -> use-package!
Calling this pivotal macro "def-package!" has frequently been a source
of confusion. It is a thin wrapper around use-package, and it should be
obvious that it is so. For this reason, and to match the naming
convention used with other convenience macros/wrappers, it is now
use-package!.

Also changes def-package-hook! -> use-package-hook!

The old macros are now marked obsolete and will be removed when straight
integration is merged.
2019-07-23 12:50:45 +02:00
Henrik Lissner
c795a988e6
Conform many modules to new conventions 2019-07-23 12:30:47 +02:00
Henrik Lissner
7ac155f68d
Fix company help replacing the current buffer
Instead of displaying in a popup.
2019-07-23 02:04:44 +02:00
Henrik Lissner
b465500a27
Improve smartparens config and comments 2019-07-22 02:38:20 +02:00
Henrik Lissner
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
Henrik Lissner
5005721039
lang/emacs-lisp: make company-elisp use helpful
Instead of describe-*
2019-07-22 02:30:40 +02:00
Henrik Lissner
2df56b93a9
Add so-long package
This package kicks in if you open a file whose lines are too long.

It is built into Emacs 27+, but I've backported it for earlier users.
2019-07-22 02:30:38 +02:00
Henrik Lissner
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
Henrik Lissner
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