spacemacs/layers/+lang/major-modes/packages.el
syl20bnr ebe4c60264 Revert "Defer packages by default using use-package-always-defer"
This reverts commit 29c78ce841 and all other fixes
that have been made afterwards.

The motivation is that use-package is seen by many as a replacement for
`require`. Is use-package always defer the loading of packages then is breaks
this use case, this does not respect POLA so even if it was making Spacemacs
loading faster (up to 3s faster on some startup on my machine) we just cannot
use it, it would be irresponsible. Spacemacs should be easy to use, loading
performance will come with time but it is not a priority.
2018-03-03 23:40:10 -05:00

95 lines
2.7 KiB
EmacsLisp

(setq major-modes-packages
'(
arduino-mode
(ebuild-mode :location (recipe :fetcher github :repo "emacsmirror/ebuild-mode"))
(hoon-mode :location (recipe :fetcher github :repo "urbit/hoon-mode.el"))
julia-mode
kivy-mode
(logcat :location (recipe :fetcher github :repo "dcolascione/logcat-mode"))
matlab-mode
pkgbuild-mode
qml-mode
scad-mode
stan-mode
thrift
vala-mode
(vala-snippets :requires yasnippet)
;; removed from MELPA (https://github.com/syl20bnr/spacemacs/issues/9795)
;; TODO re-enable this mode when it is added back to MELPA
;; wolfram-mode
))
(defun major-modes/init-arduino-mode ())
(defun major-modes/init-ebuild-mode ()
(use-package ebuild-mode
:mode ("\\.\\(ebuild\\|eclass\\)" . ebuild-mode)
:init
(progn
(spacemacs/set-leader-keys-for-major-mode 'ebuild-mode
"n" 'ebuild-mode-insert-skeleton
"k" 'ebuild-mode-keyword
"e" 'ebuild-run-command
"a" 'ebuild-run-echangelog))))
(defun major-modes/init-hoon-mode ())
(defun major-modes/init-julia-mode ())
(defun major-modes/init-logcat ()
(use-package logcat
:commands (logcat logcat-mode)))
(defun major-modes/init-kivy-mode ())
(defun major-modes/init-matlab-mode ()
(use-package matlab-mode
:defer t
:init
;; Explicitly run prog-mode hooks since matlab-mode does not derive from
;; prog-mode major-mode
(add-hook 'matlab-mode-hook 'spacemacs/run-prog-mode-hooks)))
(defun major-modes/init-pkgbuild-mode ()
(use-package pkgbuild-mode
:mode ("\\`PKGBUILD\\'" . pkgbuild-mode)
:defer t
:init
(progn
(spacemacs/set-leader-keys-for-major-mode 'pkgbuild-mode
"r" 'pkgbuild-increase-release-tag
"b" 'pkgbuild-makepkg
"a" 'pkgbuild-tar
"u" 'pkgbuild-browse-url
"m" 'pkgbuild-update-sums-line
"e" 'pkgbuild-etags))))
(defun major-modes/init-qml-mode ()
(use-package qml-mode
:defer t
:mode "\\.qml\\'"))
(defun major-modes/init-scad-mode ())
(defun major-modes/init-stan-mode ())
(defun major-modes/init-thrift ())
(defun major-modes/init-vala-mode ()
(use-package vala
:defer t
:init
;; Explicitly run prog-mode hooks since vala-mode does not derive from
;; prog-mode major-mode
(add-hook 'vala-mode-hook 'spacemacs/run-prog-mode-hooks)))
(defun major-modes/init-vala-snippets ())
;; .m files are not associated because conflict with more common Objective-C and
;; MATLAB/Octave, manually invoke for .m files.
(defun major-modes/init-wolfram-mode ()
(use-package wolfram-mode
:defer t
:interpreter "\\(Wolfram\\|Mathematica\\)Script\\( -script\\)?"
:mode "\\.wl\\'"))