From ea15423f0ac639255fe01e799020b2cb1518cd33 Mon Sep 17 00:00:00 2001 From: Bozhidar Batsov Date: Mon, 10 Oct 2011 00:34:08 +0300 Subject: [PATCH] added nxml-mode and coffee-mode configs --- init.el | 2 ++ prelude-coffee.el | 71 +++++++++++++++++++++++++++++++++++++++++++++++ prelude-xml.el | 48 ++++++++++++++++++++++++++++++++ 3 files changed, 121 insertions(+) create mode 100644 prelude-coffee.el create mode 100644 prelude-xml.el diff --git a/init.el b/init.el index bfcc4d8..19fc653 100644 --- a/init.el +++ b/init.el @@ -54,11 +54,13 @@ ;; programming & markup languages support (require 'prelude-c) (require 'prelude-clojure) +(require 'prelude-coffee) (require 'prelude-common-lisp) (require 'prelude-emacs-lisp) (require 'prelude-haskell) (require 'prelude-markdown) (require 'prelude-perl) (require 'prelude-ruby) +(require 'prelude-xml) ;;; init.el ends here diff --git a/prelude-coffee.el b/prelude-coffee.el new file mode 100644 index 0000000..a3e06e5 --- /dev/null +++ b/prelude-coffee.el @@ -0,0 +1,71 @@ +;;; prelude-coffee.el --- Emacs Prelude: CoffeeScript programming support. +;; +;; Copyright (c) 2011 Bozhidar Batsov +;; +;; Author: Bozhidar Batsov +;; URL: http://www.emacswiki.org/cgi-bin/wiki/Prelude +;; Version: 1.0.0 +;; Keywords: convenience + +;; This file is not part of GNU Emacs. + +;;; Commentary: + +;; CoffeeScript is a nice little language that comples to JavaScript. + +;;; License: + +;; This program is free software; you can redistribute it and/or +;; modify it under the terms of the GNU General Public License +;; as published by the Free Software Foundation; either version 3 +;; of the License, or (at your option) any later version. +;; +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. + +;;; Code: + +(require 'coffee-mode) + +(defun prelude-coffee-mode-hook () + "coffee-mode-hook" + + ;; CoffeeScript uses two spaces. + (set (make-local-variable 'tab-width) 2) + + ;; If you don't have js2-mode + (setq coffee-js-mode 'javascript-mode) + + ;; If you don't want your compiled files to be wrapped + (setq coffee-args-compile '("-c" "--bare")) + + ;; *Messages* spam + (setq coffee-debug-mode t) + + ;; electric-indent doesn't play nice with coffee-mode's "smart" + ;; indent + (electric-indent-mode -1) + + ;; Emacs key binding + (define-key coffee-mode-map [(meta r)] 'coffee-compile-buffer) + + ;; Riding edge. + (setq coffee-command "~/dev/coffee") + + ;; Compile '.coffee' files on every save + (and (file-exists-p (buffer-file-name)) + (file-exists-p (coffee-compiled-file-name)) + (coffee-cos-mode t))) + +(add-hook 'coffee-mode-hook 'prelude-coffee-mode-hook) + +(provide 'prelude-coffee) + +;;; prelude-coffee.el ends here diff --git a/prelude-xml.el b/prelude-xml.el new file mode 100644 index 0000000..8c22fa0 --- /dev/null +++ b/prelude-xml.el @@ -0,0 +1,48 @@ +;;; prelude-xml.el --- Emacs Prelude: XML editing configuration. +;; +;; Copyright (c) 2011 Bozhidar Batsov +;; +;; Author: Bozhidar Batsov +;; URL: http://www.emacswiki.org/cgi-bin/wiki/Prelude +;; Version: 1.0.0 +;; Keywords: convenience + +;; This file is not part of GNU Emacs. + +;;; Commentary: + +;; Some basic nxml-mode configuration. + +;;; License: + +;; This program is free software; you can redistribute it and/or +;; modify it under the terms of the GNU General Public License +;; as published by the Free Software Foundation; either version 3 +;; of the License, or (at your option) any later version. +;; +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. + +;;; Code: + +(push '("<\\?xml" . nxml-mode) magic-mode-alist) + +;; pom files should be treated as xml files +(add-to-list 'auto-mode-alist '("\\.pom$" . nxml-mode)) + +(setq nxml-child-indent 4) +(setq nxml-attribute-indent 4) +(setq nxml-auto-insert-xml-declaration-flag nil) +(setq nxml-bind-meta-tab-to-complete-flag t) +(setq nxml-slash-auto-complete-flag t) + +(provide 'prelude-xml) + +;;; prelude-xml.el ends here