Add some modules documentation

This commit is contained in:
Bozhidar Batsov 2020-10-09 10:19:29 +03:00
parent e97f4fada9
commit fb359520dd
7 changed files with 121 additions and 7 deletions

28
doc/modules/clojure.md Normal file
View file

@ -0,0 +1,28 @@
# Prelude Clojure
!!! Note
This module builds on top of the shared [Lisp Base](lisp.md) module.
## Clojure Mode
This module bundles `clojure-mode`, a major mode for programming in Clojure,
and some sensible defaults for it.
## CIDER
This module also bundles [CIDER](https://docs.cider.mx), a popular interactive
programming environment for Clojure.
Intentionally, Prelude doesn't install by default popular CIDER plugins like
`clj-refactor`, `sayid`, etc, as those can be overwhelming to newcomers and
are easy to setup if you need them.
## CIDER Alternatives
Depending on your preferences you might want to use `inf-clojure` or `clojure-lsp`
alongside/instead of CIDER, but you'll have to set them up yourselves.
## Fun trivia
I'm the author of CIDER and `inf-clojure` and the primary maintainer of `clojure-mode`. I'm also a co-maintainer of `clj-refactor`. I guess I love Clojure! :-)

View file

@ -0,0 +1,20 @@
# Prelude Common Lisp
!!! Note
This module builds on top of the shared [Lisp Base](lisp.md) module.
## lisp-mode
Not much to say here, as `lisp-mode` is configured in the "Lisp Base" module.
## SLIME
This module bundles [SLIME](https://docs.cider.mx), a popular interactive
programming environment for SLIME, and enables many of its essential features.
The default config assumes the usage of [Clozure CL](https://github.com/Clozure/ccl) on macOS and
of [SBCL](http://www.sbcl.org/) everywhere else. That's something you can easily
tweak via `slime-default-lisp`.
You can fire SLIME with `M-x slime`.

33
doc/modules/emacs_lisp.md Normal file
View file

@ -0,0 +1,33 @@
# Prelude Emacs Lisp
!!! Note
This module builds on top of the shared [Lisp Base](lisp.md) module.
## Elisp-mode
The module establishes some sensible defaults for `elisp-mode` and
shortens its modeline name to "EL".
It establishes a few extra keybidings (inspired by SLIME):
* `C-c C-z` (`prelude-visit-ielm`)
* `C-c C-c` (`eval-defun`)
* `C-c C-b` (`eval-buffer`)
The module also enables auto-recompilation of Elisp files on save.
## IELM
IELM is an Elisp REPL bundled with Emacs. Prelude tweaks a bit it's default
configuration to align it with the `elisp-mode` configuration.
## elisp-slime-nav
The module bundles [elisp-slime-nav](https://github.com/purcell/elisp-slime-nav),
which allows you to jump to definitions with `C-.` (use `C-,` to jump back) and describe a symbol with
`C-c C-d (C-)d`.
## Minibuffer evaluation
`smartparens-mode` is conditionally enabled for `eval-expression` (`M-:`) command.

View file

@ -52,26 +52,25 @@ To use a module you simple have to require it. No new concepts. No magic.
The following programming languages have enhanced support in Prelude: The following programming languages have enhanced support in Prelude:
- C/C++ - C/C++
- Clojure - [Clojure](clojure.md)
- CoffeeScript - CoffeeScript
- Common Lisp - [Common Lisp](common_lisp.md)
- CSS - CSS
- [Dart](dart.md) - [Dart](dart.md)
- Emacs Lisp - [Emacs Lisp](emacs_lisp.md)
- Erlang - Erlang
- Elixir - Elixir
- Go - Go
- Haskell - Haskell
- JavaScript - JavaScript
- LaTeX - LaTeX
- Lisp Base (common foundation for Lisp modules) - [Lisp Base](lisp.md) (common foundation for Lisp modules)
- Markdown - Markdown
- OCaml - OCaml
- Org Mode
- Perl - Perl
- [Python](python.md) - [Python](python.md)
- [Programming Base](programming.md) (common foundation for programming modules) - [Programming Base](programming.md) (common foundation for programming modules)
- Ruby - [Ruby](ruby.md)
- Rust - Rust
- Scala - Scala
- Scheme - Scheme
@ -91,3 +90,4 @@ The following programming languages have enhanced support in Prelude:
- ido - ido
- ivy - ivy
- key-chord - key-chord
- Org Mode

7
doc/modules/lisp.md Normal file
View file

@ -0,0 +1,7 @@
# Prelude Lisp
Basic shared configuration for Lisp-like programming languages. Currently
it does only two things:
* Enables `smartparens-strict-mode` in Lisp major modes and REPL buffers
* Enables `rainbow-delimiters` in Lisp major modes and REPL buffers

25
doc/modules/ruby.md Normal file
View file

@ -0,0 +1,25 @@
# Prelude Ruby
!!! Note
This module builds on top of the shared [Programming](programming.md) module.
## Ruby Mode
Emacs comes with Ruby programming support through the built-in
`ruby-mode`. Whenever you are editing Ruby code run `C-h m` to
look at the Python mode key bindings. Alternatively look at the
menu bar entries under Ruby. To toggle the menu bar press `F12`.
Prelude enables `CamelCase` aware editing in Ruby code (via `subword-mode`).
## inf-ruby
The module bundles the [inf-ruby](https://github.com/nonsequitur/inf-ruby) package which allows you to run a Ruby
REPL (e.g. `irb` or `pry`) in an Emacs buffer and interact with it from
Ruby source buffers.
## yari
The module bundles the [yari](https://github.com/hron/yari.el) package which allows you to search in Ruby's RI
documentation. Use `C-h R` to invoke it.

View file

@ -9,7 +9,8 @@
;;; Commentary: ;;; Commentary:
;; Some basic configuration for clojure-mode. ;; A basic setup for Clojure programming based on clojure-mode
;; and CIDER.
;;; License: ;;; License: