Rust has an unfortunate syntax for setting attributes on a module file:
```rust
#![...]
```
Since this is typically put at the top of the file, that makes the
shebang the first two characters, which makes the `after-save-hook`
function `executable-make-buffer-file-executable-if-script-p` function
change any such rust files executable.
`with-eval-after-load` was introduced in Emacs 24.4 and its
usage results in a cleaner code.
`eval-after-load` is considered ill-behaved because it is a function,
not a macro, and thus requires the code inside it to be quoted, which
means that it cannot be byte-compiled. It also accepts only one form,
so if you have more than one, you need to use `progn`.
More details - https://stackoverflow.com/questions/21880139/what-is-with-eval-after-load-in-emacs-lisp
So that it's more printer-friendly.
Resolves issue: #1162
Other changes:
- README: Cheatsheet: Document how to generate PNGs
- README: Improve "LaTeX" typography
- prelude-cheatsheet.pdf: Repl. file copy w/ symlink
Group customized keybindings to each package
Add modules to cheatsheet
Define free form text
Add more documentation to packages
Add projectile commands and descripts in text format
Add commands for modules
Add all keybinds of each module
Better line separation
Fix wrong location of avy and anzu keybindings
Include cheatsheet in readme
Add doc to generate pdf
Add cheatsheet in TOC
The module uses the following packages:
* rust-mode (general utilities for rust development)
* flycheck-rust (syntax checking)
* cargo (keybinding as minor-mode for using cargo package manager)
* racer (wrapper for the race code completion tool using company-mode)
* Remove TAB remap
This will fix the warning for each TAB:
> "‘slime-indent-and-complete-symbol’ is an obsolete command
(as of 2015-10-18);
* Add slime-cl-indent to slime-contribs
This will ensure that lisp-indent-function will be used correctly
for Common Lisp (not Emacs Lisp).
1. Introduces the `my-fav-irc` list for custom autojoining
your favorite channels
2. Introduces the `bye-erc-message` variable for customizing
the Last Quit Message
3. Adds documentation so that users can take advantage of these features
* `turn-on-haskell-indentation` has been marked obsolete in favour of
`haskell-indentation-mode`
* `turn-on-haskell-doc-mode` has been marked obsolete in favour of
`haskell-doc-mode`
With a default installation of Prelude and the `prelude-latex` package
enabled, when the user types `"` on a LaTeX document the following shows
up:
```
``|'
```
where the `|` is the point.
Note that the parenthesis are unbalanced, there's a missing single quote
`'` in the end.
The reason seems to be that both AUCTeX and SmartParens try to
autocomplete and they interact bad.
The solution is to disable AUCTeX autocompletion feature just for the
quotes and let SmartParens take over. It does the right thing by putting
the point on the right place and removing the closing quotes if the user
hits backspace.
This enables the slime-fancy contribs for slime, and no longer enables
rainbow-delimiters for the slime repl.
rainbow-delimiters doesn't seem to work with the slime-repl anyway, and
messes up all of the other colors.
Newer versions of opam don't do argument parsing of the first argument
after `opam config exec` so everything needs to be passed as separate
arguments in the shell (i.e. unquoted).
It is not needed anymore since helm-candidate-number-limit is
small (less than several thousands). If this is the case, then there's
no difference between quick update and no quick update execution time.
Enabling helm-quick-update makes helm buffer flashing for every entered
character to retrieve new candidate list, which would annoy user.
Since `helm-command-prefix-key' must be loaded before `helm-config', we
don't know if other Helm packages include `helm-config' and invalidate
custom prefix key. This change makes prefix binding independent from any
Helm package.
Conflicts:
modules/prelude-helm.el