Merge branch 'master' of github.com:bbatsov/prelude
Conflicts: README.md
This commit is contained in:
commit
cc2b8ee7d8
6 changed files with 91 additions and 40 deletions
31
README.md
31
README.md
|
@ -1,13 +1,11 @@
|
|||
```
|
||||
_____ ____ _ _
|
||||
| ____|_ __ ___ __ _ ___ ___ | _ \ _ __ ___| |_ _ __| | ___
|
||||
| _| | '_ ` _ \ / _` |/ __/ __| | |_) | '__/ _ \ | | | |/ _` |/ _ \
|
||||
| |___| | | | | | (_| | (__\__ \ | __/| | | __/ | |_| | (_| | __/
|
||||
|_____|_| |_| |_|\__,_|\___|___/ |_| |_| \___|_|\__,_|\__,_|\___|
|
||||
____ _ _
|
||||
| _ \ _ __ ___| |_ _ __| | ___
|
||||
| |_) | '__/ _ \ | | | |/ _` |/ _ \
|
||||
| __/| | | __/ | |_| | (_| | __/
|
||||
|_| |_| \___|_|\__,_|\__,_|\___|
|
||||
```
|
||||
|
||||
## Prelude
|
||||
|
||||
Emacs is probably the best text editor in the world. However, the
|
||||
process of coming up with a useful Emacs configuration is long and
|
||||
difficult. It's this process that separates you from truly taking
|
||||
|
@ -38,7 +36,18 @@ You can now power up your Emacs, sit back and enjoy Prelude.
|
|||
|
||||
## Would you like to know more?
|
||||
|
||||
Check out the [Prelude's project page](http://batsov.com/prelude).
|
||||
Check out the [Prelude's project page](http://batsov.com/prelude) for
|
||||
all the gory details.
|
||||
|
||||
If you're looking for more info on Emacs in general - consult
|
||||
[WikEmacs](http://wikemacs.org).
|
||||
|
||||
## More goodies
|
||||
|
||||
The [Prelude Modules](https://github.com/bbatsov/prelude-modules)
|
||||
project contains a lot of additional packages for Prelude
|
||||
(install-able via the `package-list-packages` command) - enhanced programming
|
||||
mode configs, latex config, erc config, etc.
|
||||
|
||||
## Known issues
|
||||
|
||||
|
@ -55,11 +64,7 @@ development of Emacs Prelude.
|
|||
## Bugs & Improvements
|
||||
|
||||
Bug reports and suggestions for improvements are always
|
||||
welcome. github pull requests are even better! :-)
|
||||
|
||||
I'd like to include a nice variety of Emacs 24 themes into Prelude -
|
||||
so if you've developed (or simply found) one - give me a shout and
|
||||
I'll take a look at it.
|
||||
welcome. GitHub pull requests are even better! :-)
|
||||
|
||||
Cheers,<br>
|
||||
Bozhidar
|
||||
|
|
20
init.el
20
init.el
|
@ -1,9 +1,9 @@
|
|||
;;; init.el --- Emacs Prelude: configuration entry point.
|
||||
;;; init.el --- Prelude's configuration entry point.
|
||||
;;
|
||||
;; Copyright (c) 2011 Bozhidar Batsov
|
||||
;;
|
||||
;; Author: Bozhidar Batsov <bozhidar.batsov@gmail.com>
|
||||
;; URL: http://batsov.com/emacs-prelude
|
||||
;; Author: Bozhidar Batsov <bozhidar@batsov.com>
|
||||
;; URL: http://batsov.com/prelude
|
||||
;; Version: 1.0.0
|
||||
;; Keywords: convenience
|
||||
|
||||
|
@ -32,8 +32,8 @@
|
|||
;; Boston, MA 02110-1301, USA.
|
||||
|
||||
;;; Code:
|
||||
(message "Emacs Prelude is powering up... Be patient, Master %s!"
|
||||
(getenv "USER"))
|
||||
|
||||
(message "Prelude is powering up... Be patient, Master %s!" (getenv "USER"))
|
||||
|
||||
(defvar prelude-dir (file-name-directory load-file-name)
|
||||
"The root dir of the Emacs Prelude distribution.")
|
||||
|
@ -44,9 +44,15 @@ avoid modifying the configuration there.")
|
|||
"Users of Emacs Prelude are encouraged to keep their personal configuration
|
||||
changes in this directory. All Emacs Lisp files there are loaded automatically
|
||||
by Prelude.")
|
||||
(defvar prelude-vendor-dir (concat prelude-dir "vendor/")
|
||||
"This directory house Emacs Lisp packages that are not yet available in
|
||||
ELPA (or MELPA).")
|
||||
(defvar prelude-snippets-dir (concat prelude-dir "snippets/")
|
||||
"This folder houses addition yasnippet bundles distributed with Prelude.")
|
||||
|
||||
;; add Prelude's directories to Emacs's `load-path'
|
||||
(add-to-list 'load-path prelude-modules-dir)
|
||||
(add-to-list 'load-path prelude-vendor-dir)
|
||||
|
||||
;; the core stuff
|
||||
(require 'prelude-packages)
|
||||
|
@ -56,6 +62,7 @@ by Prelude.")
|
|||
(require 'prelude-editor)
|
||||
(require 'prelude-global-keybindings)
|
||||
|
||||
;; OSX specific settings
|
||||
(when (eq system-type 'darwin)
|
||||
(require 'prelude-osx))
|
||||
|
||||
|
@ -66,7 +73,6 @@ by Prelude.")
|
|||
(when (file-exists-p prelude-personal-dir)
|
||||
(mapc 'load (directory-files prelude-personal-dir 't "^[^#].*el$")))
|
||||
|
||||
(message "Emacs Prelude is ready to do thy bidding, Master %s!"
|
||||
(getenv "USER"))
|
||||
(message "Prelude is ready to do thy bidding, Master %s!" (getenv "USER"))
|
||||
|
||||
;;; init.el ends here
|
||||
|
|
|
@ -74,10 +74,8 @@
|
|||
try-complete-lisp-symbol-partially
|
||||
try-complete-lisp-symbol))
|
||||
|
||||
;; smart indenting and pairing for all
|
||||
;; smart pairing for all
|
||||
(electric-pair-mode t)
|
||||
(electric-indent-mode t)
|
||||
(electric-layout-mode t)
|
||||
|
||||
;; meaningful names for buffers with the same name
|
||||
(require 'uniquify)
|
||||
|
@ -118,7 +116,7 @@
|
|||
|
||||
;; use shift + arrow keys to switch between visible buffers
|
||||
(require 'windmove)
|
||||
(windmove-default-keybindings 'super)
|
||||
(windmove-default-keybindings)
|
||||
|
||||
;; automatically save buffers associated with files on buffer switch
|
||||
;; and on windows switch
|
||||
|
@ -135,8 +133,8 @@
|
|||
(defadvice windmove-right (before other-window-now activate)
|
||||
(when buffer-file-name (save-buffer)))
|
||||
|
||||
;; show-paren-mode: subtle highlighting of matching parens
|
||||
(show-paren-mode t)
|
||||
;; show-paren-mode: subtle highlighting of matching parens (global-mode)
|
||||
(show-paren-mode +1)
|
||||
(setq show-paren-style 'parenthesis)
|
||||
|
||||
;; highlight the current line
|
||||
|
@ -197,6 +195,7 @@
|
|||
|
||||
;; load yasnippet
|
||||
(require 'yasnippet)
|
||||
(add-to-list 'yas/snippet-dirs prelude-snippets-dir)
|
||||
(yas/global-mode 1)
|
||||
|
||||
;; projectile is a project management mode
|
||||
|
@ -220,6 +219,11 @@
|
|||
;; otherwise fallback to helm-mini
|
||||
(helm-mini)))
|
||||
|
||||
;; shorter aliases for ack-and-a-half commands
|
||||
(defalias 'ack 'ack-and-a-half)
|
||||
(defalias 'ack-same 'ack-and-a-half-same)
|
||||
(defalias 'ack-find-file 'ack-and-a-half-find-file)
|
||||
(defalias 'ack-find-file-same 'ack-and-a-half-find-file-same)
|
||||
|
||||
;; dired - reuse current buffer by pressing 'a'
|
||||
(put 'dired-find-alternate-file 'disabled nil)
|
||||
|
|
|
@ -42,7 +42,6 @@
|
|||
(define-key map [(control shift down)] 'prelude-move-line-down)
|
||||
(define-key map (kbd "C-c n") 'prelude-cleanup-buffer)
|
||||
(define-key map (kbd "C-c f") 'prelude-recentf-ido-find-file)
|
||||
(define-key map (kbd "C-c i") 'prelude-ido-goto-symbol)
|
||||
(define-key map (kbd "C-M-\\") 'prelude-indent-region-or-buffer)
|
||||
(define-key map (kbd "C-c u") 'prelude-view-url)
|
||||
(define-key map (kbd "C-c e") 'prelude-eval-and-replace)
|
||||
|
@ -82,7 +81,6 @@
|
|||
|
||||
("Navigation"
|
||||
["Enable arrow keys" prelude-restore-arrow-keys]
|
||||
["Go to symbol" prelude-ido-goto-symbol]
|
||||
["Helm" helm-prelude])
|
||||
|
||||
("Windows"
|
||||
|
@ -104,7 +102,7 @@
|
|||
|
||||
(define-minor-mode prelude-mode
|
||||
"Minor mode to consolidate Emacs Prelude extensions."
|
||||
:lighter "Prelude"
|
||||
:lighter " Prelude"
|
||||
:keymap prelude-mode-map
|
||||
(if prelude-mode
|
||||
;; on start
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;; On OS X Emacs doesn't use the shell PATH if it's not started from
|
||||
;; the shell. If you're using homebrew modifying the PATH is essential.
|
||||
(push "/usr/local/bin" exec-path)
|
||||
(setenv "PATH" (concat "/usr/local/bin:" (getenv "PATH")))
|
||||
|
||||
;; Emacs users obviously have little need for Command and Option keys,
|
||||
;; but they do need Meta and Super
|
||||
|
|
|
@ -41,8 +41,8 @@
|
|||
(setq url-http-attempt-keepalives nil)
|
||||
|
||||
(defvar prelude-packages
|
||||
'(melpa expand-region gist helm helm-projectile magit magithub
|
||||
rainbow-mode volatile-highlights yasnippet zenburn-theme)
|
||||
'(ack-and-a-half expand-region gist helm helm-projectile magit magithub melpa
|
||||
rainbow-mode volatile-highlights yasnippet zenburn-theme)
|
||||
"A list of packages to ensure are installed at launch.")
|
||||
|
||||
(defun prelude-packages-installed-p ()
|
||||
|
@ -50,15 +50,52 @@
|
|||
when (not (package-installed-p p)) do (return nil)
|
||||
finally (return t)))
|
||||
|
||||
(unless (prelude-packages-installed-p)
|
||||
;; check for new packages (package versions)
|
||||
(message "%s" "Emacs Prelude is now refreshing its package database...")
|
||||
(package-refresh-contents)
|
||||
(message "%s" " done.")
|
||||
;; install the missing packages
|
||||
(dolist (p prelude-packages)
|
||||
(when (not (package-installed-p p))
|
||||
(package-install p))))
|
||||
(defun prelude-install-packages ()
|
||||
(unless (prelude-packages-installed-p)
|
||||
;; check for new packages (package versions)
|
||||
(message "%s" "Emacs Prelude is now refreshing its package database...")
|
||||
(package-refresh-contents)
|
||||
(message "%s" " done.")
|
||||
;; install the missing packages
|
||||
(dolist (p prelude-packages)
|
||||
(unless (package-installed-p p)
|
||||
(package-install p)))))
|
||||
|
||||
(prelude-install-packages)
|
||||
|
||||
(defmacro prelude-auto-install (ext mode)
|
||||
`(add-to-list 'auto-mode-alist
|
||||
`(,ext . (lambda ()
|
||||
(package-install ',mode)
|
||||
(,mode)))))
|
||||
|
||||
(defvar prelude-auto-install-alist
|
||||
'(("\\.markdown\\'" . markdown-mode)
|
||||
("\\.md\\'" . markdown-mode)
|
||||
("\\.haml\\'" . haml-mode)
|
||||
("\\.scss\\'" . scss-mode)
|
||||
("\\.sass\\'" . sass-mode)
|
||||
("\\.groovy\\'" . groovy-mode)
|
||||
("\\.yml\\'" . yaml-mode)
|
||||
("\\.php\\'" . php-mode)
|
||||
("\\.hs\\'" . haskell-mode)
|
||||
("\\.less\\'" . less-css-mode)
|
||||
("\\.lua\\'" . lua-mode)
|
||||
("\\.coffee\\'" . coffee-mode)
|
||||
("\\.erl\\'" . erlang-mode)
|
||||
("\\.feature\\'" . feature-mode)))
|
||||
|
||||
;; markdown-mode doesn't have autoloads for the auto-mode-alist
|
||||
;; so we add them manually if it's already installed
|
||||
(when (package-installed-p 'markdown-mode)
|
||||
(add-to-list 'auto-mode-alist '("\\.markdown\\'" . markdown-mode))
|
||||
(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode)))
|
||||
|
||||
(dolist (entry prelude-auto-install-alist)
|
||||
(let ((ext (car entry))
|
||||
(mode (cdr entry)))
|
||||
(unless (package-installed-p mode)
|
||||
(prelude-auto-install ext mode))))
|
||||
|
||||
(provide 'prelude-packages)
|
||||
;;; prelude-packages.el ends here
|
||||
|
|
Loading…
Reference in a new issue