Describe modules

This commit is contained in:
Bozhidar Batsov 2019-01-16 15:30:23 +02:00
parent 242a7e429d
commit a48c55294f

View file

@ -10,6 +10,45 @@ require extra steps to enable all functionality. These steps and the
functionality provided by these modules are documented on the
following links.
## What's a module?
Prelude modules are plain old Elisp libraries - there's absolutely nothing magical about them.
Most of them simply install a few package and provide some sensible baseline configuration for them.
Here's a real example.
``` emacs-lisp
;;; prelude-ruby.el --- Emacs Prelude: A nice setup for Ruby (and Rails) devs.
;;
;;; Code:
(require 'prelude-programming)
(prelude-require-packages '(inf-ruby yari))
;; We never want to edit Rubinius bytecode
(add-to-list 'completion-ignored-extensions ".rbc")
(define-key 'help-command (kbd "R") 'yari)
(with-eval-after-load 'ruby-mode
(defun prelude-ruby-mode-defaults ()
(inf-ruby-minor-mode +1)
;; CamelCase aware editing operations
(subword-mode +1))
(setq prelude-ruby-mode-hook 'prelude-ruby-mode-defaults)
(add-hook 'ruby-mode-hook (lambda ()
(run-hooks 'prelude-ruby-mode-hook))))
(provide 'prelude-ruby)
;;; prelude-ruby.el ends here
```
To use a module you simple have to require it. No new concepts. No magic.
## List of Modules
- C/C++
- Clojure
- CoffeeScript