Commit Graph

122 Commits

Author SHA1 Message Date
a4f9eb6f6c Enable read-only-mode for built-in snippets
Because they shouldn't be edited out of ~/.emacs.d/.local -- if a
snippet in ~/.doom.d/snippets has the same name, built-in snippets will
be ignored.
2019-04-24 18:16:05 -04:00
a4c5396558 Add better-jumper
Replaces evil's jumplist; makes its functionality available for non evil
users.
2019-04-24 18:16:04 -04:00
77e4cc4d58 💥 Remove :feature category
:feature was a "catch-all" category. Many of its modules fit better in
other categories, so they've been moved:

- feature/debugger -> tools/debugger
- feature/evil -> editor/evil
- feature/eval -> tools/eval
- feature/lookup -> tools/lookup
- feature/snippets -> editor/snippets
- feature/file-templates -> editor/file-templates
- feature/workspaces -> ui/workspaces

More potential changes in the future:

- A new :term category for terminal emulation modules (eshell, term and
  vterm).
- A new :os category for modules dedicated to os-specific functionality.
  The :tools macos module would fit here, but so would modules for nixos
  and arch.
- A new :services category for web-service integration, like wakatime,
  twitter, elfeed, gist and pastebin services.
2019-04-24 18:16:04 -04:00
5c3188afd5 editor/format: fix +format/region-or-buffer
The `r` interactive spec barfs an error if no mark is active, preventing
this function from ever calling `+format/buffer`.

Reported by @amosbird
2019-04-02 00:52:10 -04:00
b89f7e1127 Disable evil-mc bar cursor on Mac OS and Windows 2019-03-16 14:15:19 +08:00
99a5ff2025 Fix loading of multiple-cursors configuration
The package is split in a way that `multiple-cursors.el` is normally not
required when autoloading from commands; `multiple-cursors-core.el` is
always loaded.

Unfortunately the `mc/list-file` location is still not being set
properly, a fix has been submitted: magnars/multiple-cursors.el#355
2019-03-13 14:24:20 +10:00
b9a036a96c editor/fold: check outline-mode folds before hs
b/c hideshow fold checks produce more false positives.
2019-03-08 04:25:45 -05:00
f6cc2644b0 New doom-log macro for debug-time logging
doom-log won't interfere with the minibuffer if it's in use, and will
report the originating module.

Addresses #1215
2019-03-04 18:38:25 -05:00
6956525f79 I silenced the byte compiler, what happened next will blow your mind
Top 10 incredible ways to silence the byte compiler

The byte compiler just wouldn't shut up. You wouldn't believe what
happened next.

40 hot singles in your area are waiting for the byte compiler to shut
up.

20 INSANE life hacks to put an end to the byte compiler's tyranny.

(DEFINITELY NOT CLICKBAIT)
2019-02-18 01:05:26 -05:00
7d0caf3efd New editor/fold module
Extracted from feature/evil and emacs/hideshow.
2019-02-18 00:47:46 -05:00
99fd8b4e1b O'byte-compiler
Who forbade the obsolete,
Hooks, functions; adieu.

(And an unused argument too)
2019-02-03 18:42:09 -05:00
b085dd8180 Refactor out redundant hook 2019-01-28 19:55:36 -05:00
5baaf08246 Move evil-mc library to editor/multiple-cursors 2019-01-28 19:54:55 -05:00
ddc0463457 Merge pull request #1011 from ar1a/parinfer-readme
Add rudimentary readme to parinfer
2019-01-20 15:28:28 -05:00
b56639e31b Remove deprecated set! & def-setting! macros 2019-01-05 17:48:46 -05:00
3f195614d9 Normalize :leader/:localleader keybinds
Evil states no longer apply to them. Also removes x-alt-keysym.
2018-12-23 23:54:27 -05:00
9936532ea3 Move auth-sources & mc/list-files
...to move appropriate locations.
2018-12-23 23:16:03 -05:00
f822796443 Add rudimentary readme to parinfer 2018-11-14 07:22:39 +11:00
6b2b5c225f Close the ending quote in lispy-mode
With this setting lispy closes the ending quote which is in alignment
with how Doom treats quotes in other modes.
2018-11-03 10:29:20 +01:00
faf5eea115 editor/lispyville: Add lispy
smartparens being disabled in lispyville-mode, typing ( in
insert state would not pair the paren
2018-11-01 12:03:36 +01:00
00d91661e2 editor/lispyville: minor reformatting
+ Ensure lispyville is properly lazyloaded by deferring the call to lispyville-set-key-theme
+ Fix indentation on :hook entries
2018-10-31 15:38:13 -04:00
6dc3cddf19 added :editor lispyville 2018-10-27 16:44:12 -05:00
09603c5444 +format-region-p = nil
Should be a boolean in the first place; this fixes custom formatters
that use it like a boolean.
2018-10-19 11:48:47 -04:00
e5ff6c8418 fix +format--set error path
In +format--set:
../modules/editor/format/autoload/settings.el:81:26:Warning: ‘error’ called
    with 0 args to fill 1 format field(s)

Signed-off-by: Edwin Török <edwin@etorok.net>
2018-10-04 00:38:05 +01:00
6859f77e1d format.el: fix Wrong type argument: listp, t
The intention here was to build a list of two elements.

Signed-off-by: Edwin Török <edwin@etorok.net>
2018-10-03 23:03:11 +01:00
eb9fa90adf editor/parinfer: fix void-function evil-define-key errors
Parinfer uses `evil-define-key' without loading evil. This means that if
evil is installed *after* parinfer, parinfer will throw up void-function
errors, because evil-define-key (a macro) wasn't expanded at
compile-time.

So we make extra sure evil is installed before parinfer (or at least,
make sure evil-define-key is autoloaded at install time, in case evil
was installed in another session).
2018-09-26 10:45:05 -04:00
c2c7def192 editor/multiple-cursors: better command whitelist
+ Fixes explicit usage of evil-escape from evil-mc cursors (e.g. M-x
  evil-escape or C-g, not the escape sequences jk/fd)
+ Fixes delete-char (DEL key) from cursors
+ Fixes all custom commands when used with a COUNT
2018-09-23 10:26:41 -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
bd39ff3526 Minor reformatting 2018-09-13 19:15:16 -04:00
c52d2a5a14 editor/format: add +format-type letvar
In case we need a conditional to test against in our formatters. e.g. in
go-mode, goimports is incompatible with partial formatting, so we force
it to use gofmt in that case.
2018-09-10 08:25:48 -04:00
e0f8325f45 editor/format: fix wrong-number-of-args error
+format|buffer takes no arguments
2018-09-10 08:25:48 -04:00
e38e79e6d7 editor/format: fix not-a-function error
Because unquoted lists were being evaluated, it was treated as a
function call.
2018-09-10 08:25:48 -04:00
a963bcfe2c editor/format: add (some) unit tests & stubs 2018-09-09 09:58:23 -04:00
f6234e463a editor/format: rewrite set-formatter!
+ First argument is no longer a major mode or list thereof, it is NAME.
  Use :modes instead.
+ Updated docstring & examples.
+ Added formatting unsetting: (set-formatter! 'some-formatter nil)
2018-09-09 09:58:23 -04:00
e3d590784c editor/format: defer test for formatter
By deferring formatter predicates until formatting actually happens,
users won't have to reset the major mode to get formatting to work.
2018-09-09 09:58:22 -04:00
3c34ff003b editor/format: override format-all-buffer w/ +format/buffer 2018-09-09 09:58:22 -04:00
8480f52081 editor/format: add +format-with option
+ A formatter can now be specified explicitly buffer-locally by setting
  +format-with to a symbol representing the name of the
  formatter (accepts any key of format-all-format-table)
+ Passing C-u to any of +format/buffer, +format/region or
  +format/region-or-buffer will now prompt you to select a formatter.
+ Revise docstring for +format-on-save-enabled-modes
2018-09-09 09:58:22 -04:00
46083ed398 editor/format: preserve indent in +format-buffer 2018-09-09 09:58:22 -04:00
c58077810d General refactor of modules
General code and comment improvements.

Also, removed the :desc's for csv-mode because map! is currently unable
to set which-key descriptions mode-locally, and should be avoided for
anything but global keybinds. This will be fixed when General is
introduced into Doom.
2018-09-09 09:58:20 -04:00
7d3ffdff06 Remove third line in section headers
This is truly important stuff. We've saved many lives with this update.
2018-09-09 09:58:19 -04:00
df42d8ce89 editor/format: rewrite & fix set-formatter!
+ Updated docstring (and added two more examples)
+ Can now be used with shell command strings or string lists. String
  sublists can have more than 2 elements. Non-string items will be
  interpolated into the string before it. If any non-string item is nil,
  its sublist is omitted entirely.
+ Can now be used to redefine formatters predefined by the format-all
  package, by passing the formatter's name (as a symbol) as the first
  argument.
+ Added :modes property for cases when first argument isn't a major mode
  or list of them (when redefining a formatter).
2018-09-03 03:58:44 +02:00
81ee563c4c +format|buffer: use pcase-let & return boolean
So it can be used in other functions.
2018-09-03 03:58:43 +02:00
75b39a9396 editor/format: preserve indentation for regions 2018-09-03 03:58:43 +02:00
c885cd2b9d editor/format: refactor & reformat +format-buffer
Also switches cl-destructuring-bind to pcase-let to avoid breaking
errors being thrown.
2018-09-03 03:58:43 +02:00
a33165d47a editor/format: disable in sql-mode by default
sqlformat appears to be broken. It either throws an IndexError or
formats SQL incorrectly and/or poorly.
2018-08-31 12:44:24 +02:00
349fb49c7b editor/format: refactor +format-buffer & users 2018-08-30 15:00:33 +02:00
1b4040229e editor/format: update documentation 2018-08-30 14:56:50 +02:00
1ae3523f75 editor/format: autoload format-all-probe #834 2018-08-30 14:44:37 +02:00
7616316634 editor/format: improve message feedback
Announce failures, noops and successes clearly, and log errors.
2018-08-30 13:29:49 +02:00
fd9a3c36ee editor/format: refactor (again) 2018-08-29 17:02:49 +02:00