))
#+END_SRC
+** Markdown mode
+#+BEGIN_SRC emacs-lisp
+ (use-package markdown-mode
+ :ensure t
+ :mode (("\\.md\\'" . markdown-mode)
+ ("\\.mdwn\\'" . markdown-mode)
+ ("README\\.md\\'" . gfm-mode)
+ )
+ :config
+ (setq markdown-enable-math t)
+ (setq markdown-follow-wiki-link-on-enter nil)
+ (bind-key "M-." #'markdown-jump markdown-mode-map)
+ (add-hook 'markdown-mode-hook #'flyspell-mode)
+ (add-hook 'markdown-mode-hook #'outline-minor-mode)
+ (bind-key "C-<tab>" #'outline-cycle markdown-mode-map)
+ )
+
+#+END_SRC
+** SQL mode
+#+BEGIN_SRC emacs-lisp
+ ; load sql-indent when sql is loaded
+(use-package sql
+ :mode (("\\.sql\\'" . sql-mode))
+ :config
+ (require sql-indent))
+#+END_SRC
+** Ediff
+#+BEGIN_SRC emacs-lisp
+ (use-package ediff
+ :commands ediff ediff3
+ :ensure f
+ :config
+ ;; ediff configuration
+ ;; don't use the multi-window configuration
+ (setq ediff-window-setup-function 'ediff-setup-windows-plain)
+ )
+#+END_SRC
+** VCL --editing varnish configuration files
+#+BEGIN_SRC emacs-lisp
+ (use-package vcl-mode
+ :ensure t
+ :mode "\\.vcl\\'"
+ )
+
+#+END_SRC
** Helm
#+BEGIN_SRC emacs-lisp
(defun malb/helm-omni (&rest arg)
#+BEGIN_SRC emacs-lisp
(use-package message
:ensure f
- :diminish "β"
- :mode "muttng-[a-z0-9]+-[0-9]+-"
- :mode "mutt-[a-z0-9]+-[0-9]+-"
+ :diminish (message "β")
+ :mode ("muttng-[a-z0-9]+-[0-9]+-" . message-mode)
+ :mode ("mutt-[a-z0-9]+-[0-9]+-" . message-mode)
:hook 'my/message-mode-settings
:hook 'turn-on-flyspell
:bind (:map message-mode-map
- ("C-c C-a" . my/post-attach-file))
- :config
+ ("C-c C-a" . my/post-attach-file))
+ :delight (message-mode "β")
+ :config
(defun my/message-mode-settings ()
(font-lock-add-keywords nil
- '(("^[ \t]*>[ \t]*>[ \t]*>.*$"
- (0 'message-multiply-quoted-text-face))
- ("^[ \t]*>[ \t]*>.*$"
- (0 'message-double-quoted-text-face))))
+ '(("^[ \t]*>[ \t]*>[ \t]*>.*$"
+ (0 'message-multiply-quoted-text-face))
+ ("^[ \t]*>[ \t]*>.*$"
+ (0 'message-double-quoted-text-face))))
)
(defun my/post-attach-file ()
"Prompt for an attachment."
(interactive)
- (let ((file (read-file-name "Attach file: " nil nil t nil))
- (description (string-read "Description: ")))
- (my/header-attach-file file description)))
+ (let ((file (read-file-name "Attach file: " nil nil t nil)))
+ (my/header-attach-file file "")))
(defun my/header-attach-file (file description)
"Attach a FILE to the current message (works with Mutt).
Argument DESCRIPTION MIME description."
(interactive "fAttach file: \nsDescription: ")
(when (> (length file) 0)
- (save-excursion
- (save-match-data
- (save-restriction
- (widen)
- (goto-char (point-min))
- (search-forward-regexp "^$")
- (insert (concat "Attach: " (replace-regexp-in-string "\\([[:space:]\\]\\)" "\\\\\\1" (file-truename file)) " "
- description "\n"))
- (message (concat "Attached '" file "'."))
- (setq post-has-attachment t))))))
+ (save-excursion
+ (save-match-data
+ (save-restriction
+ (widen)
+ (goto-char (point-min))
+ (search-forward-regexp "^$")
+ (insert (concat "Attach: " (replace-regexp-in-string "\\([[:space:]\\]\\)" "\\\\\\1" (file-truename file)) " "
+ description "\n"))
+ (message (concat "Attached '" file "'."))
+ (setq post-has-attachment t))))))
(setq mail-yank-prefix "> ")
)
#+BEGIN_SRC emacs-lisp
(use-package org
+ :delight (org-mode "ΓΈ")
:config
#+END_SRC
(fset 'perl-mode 'cperl-mode)
;;(load-file "cperl-mode.el")
- (require 'vcl-mode)
-
- (global-set-key "\C-xp" 'server-edit)
-
- (setq-default auto-mode-alist (cons '("\.wml$" .
- (lambda () (html-mode) (auto-fill-mode)))
- auto-mode-alist))
-
-
- ; use markdown mode for mdwn files
- (add-to-list 'auto-mode-alist '("\\.mdwn$" . markdown-mode))
- (add-to-list 'auto-mode-alist '("\\.md$" . markdown-mode))
-
-
;; tramp configuration
(setq tramp-use-ssh-controlmaster-options nil)
(column-number-mode t)
- (desktop-save-mode)
- (desktop-read)
+#+END_SRC
+** Desktop-save-mode
+If the envvar EMACS_SERVER_NAME is set, consider this a separate
+emacs, and use a different desktop file to restore history
+#+BEGIN_SRC emacs-lisp
+ (use-package desktop-save
+ :defer f
+ :config
+ (setq desktop-base-file-name
+ (convert-standard-filename
+ (concat ".emacs"
+ (or (getenv "EMACS_SERVER_NAME")
+ "")
+ ".desktop")
+ ))
+ (setq desktop-base-lock-name
+ (convert-standard-filename
+ (concat desktop-base-file-name
+ ".lock")))
+ (desktop-save-mode 1)
+ (setq desktop-auto-save-timeout 60)
+ (desktop-read)
+ )
+#+END_SRC
+** Misc (Uncharacterized)
+#+BEGIN_SRC emacs-lisp
'(icomplete-mode on)
(custom-set-faces
;; custom-set-faces was added by Custom.
(define-key cm-map "f" 'outline-forward-same-level) ; Forward - same level
(define-key cm-map "b" 'outline-backward-same-level) ; Backward - same level
(global-set-key "\M-o" cm-map)
-
- ; ediff configuration
- ; don't use the multi-window configuration
- (setq ediff-window-setup-function 'ediff-setup-windows-plain)
-
- ; fix up css mode to not be silly
- ; from http://www.stokebloke.com/wordpress/2008/03/21/css-mode-indent-buffer-fix/
- (setq cssm-indent-level 4)
- (setq cssm-newline-before-closing-bracket t)
- (setq cssm-indent-function #'cssm-c-style-indenter)
- (setq cssm-mirror-mode nil)
-
- (require 'multi-web-mode)
- (setq mweb-default-major-mode 'html-mode)
- (setq mweb-tags '((php-mode "<\\?php\\|<\\? \\|<\\?=" "\\?>")
- (js-mode "<script +\\(type=\"text/javascript\"\\|language=\"javascript\"\\)[^>]*>" "</script>")
- (css-mode "<style +type=\"text/css\"[^>]*>" "</style>")))
- (setq mweb-filename-extensions '("php" "htm" "html" "ctp" "phtml" "php4" "php5"))
- (multi-web-global-mode 1)
-
- ; load sql-indent when sql is loaded
- (eval-after-load "sql"
- '(load-library "sql-indent"))
-
; fix up tmux xterm keys
; stolen from http://unix.stackexchange.com/questions/24414/shift-arrow-not-working-in-emacs-within-tmux
(defun fix-up-tmux-keys ()
(ad-activate 'ask-user-about-supersession-threat)
#+END_SRC
-* Server
+* Start Server
#+BEGIN_SRC emacs-lisp
- (unless (server-running-p)
- (server-start))
+ (use-package server
+ :config
+ (setq server-name
+ (or (getenv "EMACS_SERVER_NAME")
+ "emacs"))
+ (unless (server-running-p)
+ (global-set-key "\C-xp" 'server-edit)
+ (server-start)))
#+END_SRC