Emacs config utilizing prelude as a base
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

93 lines
2.1 KiB

  1. # Modules
  2. !!! Note
  3. Most modules are not currently documented. Helping out with their
  4. documentation is a great way to contribute to the project!
  5. Prelude provides extra functionality through modules. Some modules may
  6. require extra steps to enable all functionality. These steps and the
  7. functionality provided by these modules are documented on the
  8. following links.
  9. ## What's a module?
  10. Prelude modules are plain old Elisp libraries - there's absolutely nothing magical about them.
  11. Most of them simply install a few package and provide some sensible baseline configuration for them.
  12. Here's a real example.
  13. ``` emacs-lisp
  14. ;;; prelude-ruby.el --- Emacs Prelude: A nice setup for Ruby (and Rails) devs.
  15. ;;
  16. ;;; Code:
  17. (require 'prelude-programming)
  18. (prelude-require-packages '(inf-ruby yari))
  19. ;; We never want to edit Rubinius bytecode
  20. (add-to-list 'completion-ignored-extensions ".rbc")
  21. (define-key 'help-command (kbd "R") 'yari)
  22. (with-eval-after-load 'ruby-mode
  23. (defun prelude-ruby-mode-defaults ()
  24. (inf-ruby-minor-mode +1)
  25. ;; CamelCase aware editing operations
  26. (subword-mode +1))
  27. (setq prelude-ruby-mode-hook 'prelude-ruby-mode-defaults)
  28. (add-hook 'ruby-mode-hook (lambda ()
  29. (run-hooks 'prelude-ruby-mode-hook))))
  30. (provide 'prelude-ruby)
  31. ;;; prelude-ruby.el ends here
  32. ```
  33. To use a module you simple have to require it. No new concepts. No magic.
  34. ## Programming Language Modules
  35. The following programming languages have enhanced support in Prelude:
  36. - C/C++
  37. - [Clojure](clojure.md)
  38. - CoffeeScript
  39. - [Common Lisp](common_lisp.md)
  40. - CSS
  41. - [Dart](dart.md)
  42. - [Emacs Lisp](emacs_lisp.md)
  43. - Erlang
  44. - Elixir
  45. - Go
  46. - Haskell
  47. - JavaScript
  48. - LaTeX
  49. - [Lisp Base](lisp.md) (common foundation for Lisp modules)
  50. - Markdown
  51. - OCaml
  52. - Perl
  53. - [Python](python.md)
  54. - [Programming Base](programming.md) (common foundation for programming modules)
  55. - [Ruby](ruby.md)
  56. - Rust
  57. - Scala
  58. - [Scheme](scheme.md)
  59. - SCSS
  60. - Shell
  61. - TypeScript
  62. - Web
  63. - XML
  64. - YAML
  65. ## Other Modules
  66. - [Company](company.md)
  67. - [ERC](erc.md)
  68. - evil
  69. - helm
  70. - ido
  71. - ivy
  72. - key-chord
  73. - Org Mode