Commit graph

23 commits

Author SHA1 Message Date
Henrik Lissner
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
Henrik Lissner
df748e6cee
tools/editorconfig: remove extra indent vars
They were merged upstream in editorconfig/editorconfig-emacs#196

Relevant to: #1283, #1289
2019-04-05 14:23:28 -04:00
Henrik Lissner
dfc21e1157
tools/editorconfig: fix syntax error
Typo introduced in 8cd0a31a
2019-04-05 03:14:13 -04:00
Henrik Lissner
8cd0a31aef
Register terra-indent-level with editorconfig 2019-04-05 02:18:16 -04:00
Henrik Lissner
a05b1877be
Rewrite switch-{buffer,window} hooks
+ Add doom-switch-frame-hook
+ Replace doom-{enter,exit}-{buffer,window}-hook with
  doom-switch-{buffer,window}-hook
+ New switch-buffer hooks run on buffer-list-update-hook rather than
  in select-window advice.
+ Blank our buffer-list-update-hook in some places to reduce how many
  times it gets triggered.
2019-03-08 02:37:33 -05:00
Henrik Lissner
12ddc3c360
ui/modeline: add indent segment 2019-03-04 04:57:06 -05:00
Henrik Lissner
99fd8b4e1b
O'byte-compiler
Who forbade the obsolete,
Hooks, functions; adieu.

(And an unused argument too)
2019-02-03 18:42:09 -05:00
Henrik Lissner
b674aef31b
tools/editorconfig: add binary check to doctor.el 2018-09-28 23:52:22 -04:00
Henrik Lissner
078e3028a6 Minor, general comment revision 2018-09-28 21:02:59 -04:00
Henrik Lissner
1b172e9f43
Better enh-ruby-mode suport in doom/describe-module & editorconfig
+ Associates enh-ruby-mode with :lang ruby for doom/describe-module
+ Enables editorconfig to detect extension-less or file-less ruby
  files (from shebang lines or file local variables).
2018-09-09 09:58:21 -04:00
Henrik Lissner
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
Henrik Lissner
0f901b560f
tools/editorconfig: add enh-ruby-mode support 2018-09-09 09:58:18 -04:00
Henrik Lissner
d72f485a97
tools/editorconfig: defer for 3 seconds
Give other plugins more room to load first.
2018-08-31 23:44:30 +02:00
Henrik Lissner
55d4cbd314
Fix vestigial refs to before-switch-buffer hook
doom-before-switch-buffer-hook was renamed to doom-enter-buffer-hook
2018-08-31 14:10:25 +02:00
Henrik Lissner
d80e79203a
Replace delete-trailing-whitespace with ws-butler
ws-butler only strips trailing spaces on lines that have been modified.

+ ws-butler is disabled if editorconfig enables
  trim_trailing_whitespace, which resorts to delete-trailing-whitespace
  instead.
+ Updates doom|(enable|disable)-delete-trailing-whitespace hooks to use
  ws-butler-mode.
2018-08-31 13:59:12 +02:00
Henrik Lissner
616c48bd62
Remove read-only monkey patch for magit/git-rebase
It was fixed upstream.
2018-07-10 14:22:53 +02:00
Henrik Lissner
6014a416b3
Fix read-only errors in magit rebase buffers
Magit would refuse to abort/commit rebases due to
delete-trailing-whitespace in write-file-functions, placed there by
editorconfig.
2018-06-30 13:21:24 +02:00
Henrik Lissner
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
Henrik Lissner
5b78cf7ed6
tools/editorconfig: conform to name conventions
Renamed doom-editorconfig-mode-alist to +editorconfig-mode-alist
2018-06-14 03:36:46 +02:00
Henrik Lissner
36171f5b33
Fix :after-call deferred packages not loading
If you open emacs with a file (emacs file.txt), the file is switched to
before the switch-buffer hooks are set up. However, many core packages
are hooked to those switch-buffer hooks (to load when they're first
triggered). They miss the boat and don't get loaded.

These packages are now hooked onto after-find-file as well (and
immediately), which will fire when a file is opened, before or after
initialization.

Fixes #680
2018-06-14 03:36:46 +02:00
Henrik Lissner
09cb4f6716
Major refactor & optimization of how modules load their packages
Now that we are loading package autoloads files (as part of the
generated doom-package-autoload-file when running make autoloads), many
:commands properties are redundant. In fact, many def-package! blocks
are redundant.

In some cases, we can do without a config.el file entirely, and can move
into the autoloads file or rely entirely on package autoloads.

Also, many settings have been moved in their module's autoloads files,
which makes them available ASAP; their use no longer depends on module
load order.

This gained me a modest ~10% boost in startup speed.
2018-05-25 00:46:16 +02:00
Henrik Lissner
3d0745c3ec
Add automatic indentation-detection (experimental)
Editorconfig is given precedence. If it successfully sets an
indent_style or indent_size for the current buffer, automatic
indentation detection will be disabled.
2018-05-18 01:28:41 +02:00
Henrik Lissner
8d936f2d0b
Move editorconfig out of core into tools/editorconfig 2018-05-08 19:59:08 +02:00