Commit Graph

74 Commits

Author SHA1 Message Date
1a452b6842 💥 Change first arg of load! macro
load!'s first argument is no longer a symbol (that will cause
void-variable errors now) to save on unnecessary interning and simplify
compile-time logic. It accepts any valid form that evaluates to a string
now.

If you use load!, you need to change its argument to a string!

e.g. (load! +my-module) => (load! "+my-module")
2018-05-27 12:52:28 +02:00
68c0d228bc support handlebars templates 2018-05-25 18:13:28 +01:00
9a8b6a82e2 lang/web: add doctor.el 2018-05-25 01:01:25 +02:00
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
80adb9c1f6 General refactor for consistency & idempotency
Also updated comments
2018-05-18 01:26:41 +02:00
bed5a2f305 lang/web: add *.jinja to web-mode 2018-05-17 12:26:42 +02:00
803511c771 lang/web: disable company-css in Emacs 26+
css-mode's built-in completion is superior in Emacs 26+. The
company-capf backend will take advantage of it.
2018-05-17 12:22:27 +02:00
9ac15aa0c1 Add [slim-mode] to :lang web +html
[slim-mode]: https://github.com/slim-template/emacs-slim
2018-05-14 20:30:28 -05:00
8cab2f19fd Remove redundant config & auto-mode-alist entries
Much of this config is done in package autoloads, and now that
auto-mode-alist is cached in doom-package-alist (after reading autoload
files), we can save some space by removing redundant config.
2018-05-14 20:48:14 +02:00
fbb2a710b5 lang/web: add css library tests 2018-05-08 15:19:27 +02:00
399f3538ce lang/web: fix +css/toggle-inline-or-block 2018-05-08 15:19:09 +02:00
168cb74794 Replace add-hook! with setq-hook! where possible 2018-05-07 22:37:19 +02:00
6b573bc66b Refactor :lang auto-mode-alist entries 2018-05-07 19:26:31 +02:00
45bc6e49d3 lang/web: web-mode-enable-auto-quoting = nil 2018-04-28 15:54:39 -04:00
33ad8ba4a4 lang/web: reformat whitespace in keybinds 2018-04-05 02:26:19 -04:00
7699c3d2ce lang/web: restore smartparens-mode in web-mode 2018-04-04 06:58:18 -04:00
b701303909 lang/web: emmet-expand-jsx-className = t in rjsx-mode 2018-04-02 22:02:32 -04:00
9ebab55a3f lang/web: add local leader bindings for web-mode
Web mode has a bunch of helpful commands under `C-c`, this replicates the same
bindings, but in leader-key style. E.g.: `C-c C-a k` becomes `SPC m a k`
2018-03-29 04:45:28 -07:00
20dd751792 Add twig files
Twig files already work nice with web-mode. So detecting them here.
2018-03-19 10:47:06 +00:00
8bd68064ef lang/web: register docsets for css, scss & sass 2018-03-14 18:50:10 -04:00
45096c2ab6 lang/web: change counsel-css source (now on MELPA) 2018-03-02 19:14:45 -05:00
0fb72805ab lang/web: new comment-indent-function for css/scss-mode
Adds +css/comment-indent-new-line, since the built-in default performs
poorly in CSS buffers. This is experimental.
2018-02-14 20:58:38 -05:00
5bee5c95ee lang/web: refactor +css/toggle-inline-or-block
Remove evil dependency + make more robust.
2018-02-14 20:55:43 -05:00
da84850ced lang/web: remove company-yasnippet from css modes 2018-02-10 15:13:08 -05:00
741612a965 lang/web: fix wrong-number-of-args error in +css/toggle-inline-org-block 2018-02-09 23:24:34 -05:00
45a490882f lang/web: open templates/.+\.php$ in web-mode 2018-01-28 20:38:14 -05:00
acb77c8407 lang/web: conditionally define js sub-modes 2018-01-28 04:28:15 -05:00
32c3dd847e Add Vue file to web mode
Support `.vue` Vue.js files in web-mode.
2018-01-09 11:27:48 +00:00
f9de4fd7b7 lang/web/+css: wrap sp config in after! block 2017-12-08 23:14:13 -05:00
9d81bc5a8b Major refactor: use-package-always-defer = nil & use :hook
Possibly breaking change: packages are no longer deferred by default.

Addresses #286
2017-12-08 23:14:11 -05:00
bac286e8e2 Remove blank autoload files 2017-11-05 01:16:35 +01:00
6b9849fd57 Add conditional autoload/compile cookies #229 2017-11-05 01:16:35 +01:00
07867c478d lang/web: add & entity to +web-entities-list 2017-10-18 00:02:14 +02:00
cd7ab060e0 General refactor & docstring updates 2017-10-05 17:02:59 +02:00
b825b0cd0c lang/web: refactor +web-jekyll-mode 2017-10-04 18:02:14 +02:00
ed76cfda99 General lang refactor; new refactor, help, build & test menus 2017-10-03 02:58:09 +02:00
d0fcb23314 Replace feature/eval build system with def-menu! 2017-10-03 02:58:09 +02:00
30567ea0f7 Install company-web only if company is active 2017-09-23 13:48:08 +02:00
c4888749b1 Remove pug-mode keybindings 2017-09-23 13:48:08 +02:00
91783e0695 General refactor & cleanup 2017-09-15 14:37:20 +02:00
6a5bd216e5 Appease byte-compiler senpai 2017-07-14 18:19:08 +02:00
59c5a78940 Refactor lang/web/autoload/html 2017-07-04 13:10:36 +02:00
7477546892 Fix lang/web's html entity encode/decode functions
Also, add unit tests and don't encode spaces.
2017-07-03 03:39:18 +02:00
822c78554f destructuring-bind => cl-destructuring-bind 2017-06-25 02:04:50 +02:00
392c58ea47 General refactor & cleanup 2017-06-19 00:32:45 +02:00
c7254e7bdc Major optimization refactor, across the board
+ enable lexical-scope everywhere (lexical-binding = t): ~5-10% faster
  startup; ~5-20% general boost
+ reduce consing, function calls & garbage collection by preferring
  cl-loop & dolist over lambda closures (for mapc[ar], add-hook, and
  various cl-lib filter/map/reduce functions) -- where possible
+ prefer functions with dedicated opcodes, like assq (see byte-defop's
  in bytecomp.el for more)
+ prefer pcase & cond (faster) over cl-case
+ general refactor for code readability
+ ensure naming & style conventions are adhered to
+ appease byte-compiler by marking unused variables with underscore
+ defer minor mode activation to after-init, emacs-startup or
  window-setup hooks; a customization opportunity for users + ensures
  custom functionality won't interfere with startup.
2017-06-09 00:47:45 +02:00
ce49f94bbe Remove doom-bootstrap system (will be replaced) 2017-05-20 18:40:13 +02:00
5491fd552e Replace nlinum with linum 2017-05-13 22:40:52 +02:00
62a69bee3d lang/web: fix {en,de}code-html-entities commands 2017-04-22 21:45:14 -04:00
e204df3c05 Replace obsolete functions/commands 2017-04-17 02:19:20 -04:00