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.

92 lines
2.0 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
  38. - CoffeeScript
  39. - Common Lisp
  40. - CSS
  41. - Emacs-Lisp
  42. - Erlang
  43. - Elixir
  44. - Go
  45. - Haskell
  46. - JavaScript
  47. - LaTeX
  48. - Lisp Base (common foundation for Lisp modules)
  49. - Markdown
  50. - OCaml
  51. - Org Mode
  52. - Perl
  53. - [Python](python.md)
  54. - [Programming Base](programming.md) (common foundation for programming modules)
  55. - Ruby
  56. - Rust
  57. - Scala
  58. - Scheme
  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