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.

94 lines
2.1 KiB

5 years ago
  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 Emacs packages 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. - LSP (common foundation for all modules relying on `lsp-mode`)
  51. - Markdown
  52. - OCaml
  53. - Perl
  54. - [Python](python.md)
  55. - [Programming Base](programming.md) (common foundation for programming modules)
  56. - [Ruby](ruby.md)
  57. - Rust
  58. - Scala
  59. - [Scheme](scheme.md)
  60. - SCSS
  61. - Shell
  62. - TypeScript
  63. - Web
  64. - XML
  65. - YAML
  66. ## Other Modules
  67. - [Company](company.md)
  68. - [ERC](erc.md)
  69. - evil
  70. - helm
  71. - ido
  72. - ivy
  73. - key-chord
  74. - Org Mode