Commit graph

74 commits

Author SHA1 Message Date
Henrik Lissner
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
Jeff Jewiss
68c0d228bc
support handlebars templates 2018-05-25 18:13:28 +01:00
Henrik Lissner
9a8b6a82e2
lang/web: add doctor.el 2018-05-25 01:01:25 +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
80adb9c1f6
General refactor for consistency & idempotency
Also updated comments
2018-05-18 01:26:41 +02:00
Henrik Lissner
bed5a2f305
lang/web: add *.jinja to web-mode 2018-05-17 12:26:42 +02:00
Henrik Lissner
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
Benjamin Reynolds
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
Henrik Lissner
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
Henrik Lissner
fbb2a710b5
lang/web: add css library tests 2018-05-08 15:19:27 +02:00
Henrik Lissner
399f3538ce
lang/web: fix +css/toggle-inline-or-block 2018-05-08 15:19:09 +02:00
Henrik Lissner
168cb74794
Replace add-hook! with setq-hook! where possible 2018-05-07 22:37:19 +02:00
Henrik Lissner
6b573bc66b
Refactor :lang auto-mode-alist entries 2018-05-07 19:26:31 +02:00
Henrik Lissner
45bc6e49d3
lang/web: web-mode-enable-auto-quoting = nil 2018-04-28 15:54:39 -04:00
Henrik Lissner
33ad8ba4a4
lang/web: reformat whitespace in keybinds 2018-04-05 02:26:19 -04:00
Henrik Lissner
7699c3d2ce
lang/web: restore smartparens-mode in web-mode 2018-04-04 06:58:18 -04:00
Henrik Lissner
b701303909
lang/web: emmet-expand-jsx-className = t in rjsx-mode 2018-04-02 22:02:32 -04:00
Ben Johnson
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
Dragnucs
20dd751792
Add twig files
Twig files already work nice with web-mode. So detecting them here.
2018-03-19 10:47:06 +00:00
Henrik Lissner
8bd68064ef
lang/web: register docsets for css, scss & sass 2018-03-14 18:50:10 -04:00
Henrik Lissner
45096c2ab6
lang/web: change counsel-css source (now on MELPA) 2018-03-02 19:14:45 -05:00
Henrik Lissner
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
Henrik Lissner
5bee5c95ee
lang/web: refactor +css/toggle-inline-or-block
Remove evil dependency + make more robust.
2018-02-14 20:55:43 -05:00
Henrik Lissner
da84850ced
lang/web: remove company-yasnippet from css modes 2018-02-10 15:13:08 -05:00
Henrik Lissner
741612a965
lang/web: fix wrong-number-of-args error in +css/toggle-inline-org-block 2018-02-09 23:24:34 -05:00
Henrik Lissner
45a490882f
lang/web: open templates/.+\.php$ in web-mode 2018-01-28 20:38:14 -05:00
Henrik Lissner
acb77c8407
lang/web: conditionally define js sub-modes 2018-01-28 04:28:15 -05:00
Dragnucs
32c3dd847e
Add Vue file to web mode
Support `.vue` Vue.js files in web-mode.
2018-01-09 11:27:48 +00:00
Henrik Lissner
f9de4fd7b7
lang/web/+css: wrap sp config in after! block 2017-12-08 23:14:13 -05:00
Henrik Lissner
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
Henrik Lissner
bac286e8e2
Remove blank autoload files 2017-11-05 01:16:35 +01:00
Henrik Lissner
6b9849fd57
Add conditional autoload/compile cookies #229 2017-11-05 01:16:35 +01:00
Henrik Lissner
07867c478d
lang/web: add & entity to +web-entities-list 2017-10-18 00:02:14 +02:00
Henrik Lissner
cd7ab060e0
General refactor & docstring updates 2017-10-05 17:02:59 +02:00
Henrik Lissner
b825b0cd0c
lang/web: refactor +web-jekyll-mode 2017-10-04 18:02:14 +02:00
Henrik Lissner
ed76cfda99
General lang refactor; new refactor, help, build & test menus 2017-10-03 02:58:09 +02:00
Henrik Lissner
d0fcb23314
Replace feature/eval build system with def-menu! 2017-10-03 02:58:09 +02:00
Henrik Lissner
30567ea0f7
Install company-web only if company is active 2017-09-23 13:48:08 +02:00
Henrik Lissner
c4888749b1
Remove pug-mode keybindings 2017-09-23 13:48:08 +02:00
Henrik Lissner
91783e0695
General refactor & cleanup 2017-09-15 14:37:20 +02:00
Henrik Lissner
6a5bd216e5
Appease byte-compiler senpai 2017-07-14 18:19:08 +02:00
Henrik Lissner
59c5a78940
Refactor lang/web/autoload/html 2017-07-04 13:10:36 +02:00
Henrik Lissner
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
Henrik Lissner
822c78554f
destructuring-bind => cl-destructuring-bind 2017-06-25 02:04:50 +02:00
Henrik Lissner
392c58ea47
General refactor & cleanup 2017-06-19 00:32:45 +02:00
Henrik Lissner
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
Henrik Lissner
ce49f94bbe Remove doom-bootstrap system (will be replaced) 2017-05-20 18:40:13 +02:00
Henrik Lissner
5491fd552e Replace nlinum with linum 2017-05-13 22:40:52 +02:00
Henrik Lissner
62a69bee3d lang/web: fix {en,de}code-html-entities commands 2017-04-22 21:45:14 -04:00
Henrik Lissner
e204df3c05 Replace obsolete functions/commands 2017-04-17 02:19:20 -04:00