X-Git-Url: https://git.distorted.org.uk/~mdw/profile/blobdiff_plain/be2cc788c85f818214bbcd3089eb2f481dd8b831..f36cdb77c550b846c20e12919d662d1fa5f76576:/el/dot-emacs.el?ds=inline diff --git a/el/dot-emacs.el b/el/dot-emacs.el index 41e15d3..dc5529d 100644 --- a/el/dot-emacs.el +++ b/el/dot-emacs.el @@ -229,6 +229,21 @@ Evil key bindings are defined in `mdw-evil-keymap-keys'." (dolist (key replacements) (define-key keymap key binding)))))) +(eval-after-load "org" + '(progn + (push '("strayman" + "\\documentclass{strayman} +\\usepackage[utf8]{inputenc} +\\usepackage[palatino, helvetica, courier, maths=cmr]{mdwfonts} +\\usepackage[T1]{fontenc} +\\usepackage{graphicx, tikz, mdwtab, mdwmath, crypto, longtable}" + ("\\section{%s}" . "\\section*{%s}") + ("\\subsection{%s}" . "\\subsection*{%s}") + ("\\subsubsection{%s}" . "\\subsubsection*{%s}") + ("\\paragraph{%s}" . "\\paragraph*{%s}") + ("\\subparagraph{%s}" . "\\subparagraph*{%s}")) + org-export-latex-classes))) + ;;;-------------------------------------------------------------------------- ;;; Mail and news hacking. @@ -486,6 +501,42 @@ CHECK is fboundp, and returning the correponding FUNC." (setq answer func))) answer)) +(eval-after-load "w3m-search" + '(progn + (dolist + (item + '(("g" "Google" "http://www.google.co.uk/search?q=%s") + ("gd" "Google Directory" + "http://www.google.com/search?cat=gwd/Top&q=%s") + ("gg" "Google Groups" "http://groups.google.com/groups?q=%s") + ("ward" "Ward's wiki" "http://c2.com/cgi/wiki?%s") + ("gi" "Images" "http://images.google.com/images?q=%s") + ("rfc" "RFC" + "http://metalzone.distorted.org.uk/ftp/pub/mirrors/rfc/rfc%s.txt.gz") + ("wp" "Wikipedia" + "http://en.wikipedia.org/wiki/Special:Search?go=Go&search=%s") + ("imdb" "IMDb" "http://www.imdb.com/Find?%s") + ("nc-wiki" "nCipher wiki" + "http://wiki.ncipher.com/wiki/bin/view/Devel/?topic=%s") + ("map" "Google maps" "http://maps.google.co.uk/maps?q=%s&hl=en") + ("lp" "Launchpad bug by number" + "https://bugs.launchpad.net/bugs/%s") + ("lppkg" "Launchpad bugs by package" + "https://bugs.launchpad.net/%s") + ("msdn" "MSDN" + "http://social.msdn.microsoft.com/Search/en-GB/?query=%s&ac=8") + ("debbug" "Debian bug by number" + "http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=%s") + ("debbugpkg" "Debian bugs by package" + "http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=%s") + ("ljlogin" "LJ login" "http://www.livejournal.com/login.bml"))) + (add-to-list 'w3m-search-engine-alist + (list (cadr item) (caddr item) nil)) + (add-to-list 'w3m-uri-replace-alist + (list (concat "\\`" (car item) ":") + 'w3m-search-uri-replace + (cadr item)))))) + ;;;-------------------------------------------------------------------------- ;;; Paragraph filling. @@ -630,6 +681,7 @@ case." (and (fboundp 'gtags-mode) (gtags-mode)) (outline-minor-mode t) + (hs-minor-mode t) (mdw-set-font)) (eval-after-load 'gtags @@ -845,6 +897,15 @@ doesn't match any of the regular expressions in (statement-case-intro . +))) t)) +(defvar mdw-c-comment-fill-prefix + `((,(concat "\\([ \t]*/?\\)" + "\\(\*\\|//]\\)" + "\\([ \t]*\\)" + "\\([A-Za-z]+:[ \t]*\\)?" + mdw-hanging-indents) + (pad . 1) (match . 2) (pad . 3) (pad . 4) (pad . 5))) + "Fill prefix matching C comments (both kinds).") + (defun mdw-fontify-c-and-c++ () ;; Fiddle with some syntax codes. @@ -857,12 +918,7 @@ doesn't match any of the regular expressions in (setq c-hanging-comment-ender-p nil) (setq c-backslash-column 72) (setq c-label-minimum-indentation 0) - (setq mdw-fill-prefix - `((,(concat "\\([ \t]*/?\\)" - "\\([\*/][ \t]*\\)" - "\\([A-Za-z]+:[ \t]*\\)?" - mdw-hanging-indents) - (pad . 1) (match . 2) (pad . 3) (pad . 4)))) + (setq mdw-fill-prefix mdw-c-comment-fill-prefix) ;; Now define things to be fontified. (make-local-variable 'font-lock-keywords) @@ -1031,12 +1087,7 @@ doesn't match any of the regular expressions in (setq c-backslash-column 72) (setq comment-start "/* ") (setq comment-end " */") - (setq mdw-fill-prefix - `((,(concat "\\([ \t]*/?\\)" - "\\([\*/][ \t]*\\)" - "\\([A-Za-z]+:[ \t]*\\)?" - mdw-hanging-indents) - (pad . 1) (match . 2) (pad . 3) (pad . 4)))) + (setq mdw-fill-prefix mdw-c-comment-fill-prefix) ;; Now define things to be fontified. (make-local-variable 'font-lock-keywords) @@ -1090,14 +1141,7 @@ doesn't match any of the regular expressions in (mdw-java-style) (setq c-hanging-comment-ender-p nil) (setq c-backslash-column 72) - (setq comment-start "/* ") - (setq comment-end " */") - (setq mdw-fill-prefix - `((,(concat "\\([ \t]*/?\\)" - "\\([\*/][ \t]*\\)" - "\\([A-Za-z]+:[ \t]*\\)?" - mdw-hanging-indents) - (pad . 1) (match . 2) (pad . 3) (pad . 4)))) + (setq mdw-fill-prefix mdw-c-comment-fill-prefix) ;; Now define things to be fontified. (make-local-variable 'font-lock-keywords) @@ -1159,14 +1203,7 @@ doesn't match any of the regular expressions in (mdw-csharp-style) (setq c-hanging-comment-ender-p nil) (setq c-backslash-column 72) - (setq comment-start "/* ") - (setq comment-end " */") - (setq mdw-fill-prefix - `((,(concat "\\([ \t]*/?\\)" - "\\([\*/][ \t]*\\)" - "\\([A-Za-z]+:[ \t]*\\)?" - mdw-hanging-indents) - (pad . 1) (match . 2) (pad . 3) (pad . 4)))) + (setq mdw-fill-prefix mdw-c-comment-fill-prefix) ;; Now define things to be fontified. (make-local-variable 'font-lock-keywords) @@ -1209,13 +1246,8 @@ doesn't match any of the regular expressions in (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)" '(0 mdw-punct-face)))))) -(defun csharp-mode () - (interactive) - (java-mode) - (setq major-mode 'csharp-mode) - (setq mode-name "C#") - (mdw-fontify-csharp) - (run-hooks 'csharp-mode-hook)) +(define-derived-mode csharp-mode java-mode "C#" + "Major mode for editing C# code.") ;;;-------------------------------------------------------------------------- ;;; Awk programming configuration. @@ -1351,7 +1383,7 @@ strip numbers instead." (list ;; Set up the keywords defined above. - (list (concat "\\<\\(" python-keywords "\\)\\>") + (list (concat "\\<\\(" keywords "\\)\\>") '(0 font-lock-keyword-face)) ;; At least numbers are simpler than C. @@ -2152,7 +2184,7 @@ strip numbers instead." (auto-fill-mode 1)) ;;;-------------------------------------------------------------------------- -;;; Outline mode. +;;; Outline and hide/show modes. (defun mdw-outline-collapse-all () "Completely collapse everything in the entire buffer." @@ -2163,6 +2195,8 @@ strip numbers instead." (hide-subtree) (forward-line)))) +(setq hs-hide-comments-when-hiding-all nil) + ;;;-------------------------------------------------------------------------- ;;; Shell mode.