(setq mode-name "Linux C")
(run-hooks 'linux-c-mode-hook))
- ;; --- Make C indentation nice ---
+ ;; Make C indentation nice.
-(eval-after-load "cc-mode"
- '(progn
- (define-key c-mode-map "*" nil)
- (define-key c-mode-map "/" nil)))
-
(defun mdw-c-lineup-arglist (langelem)
"Hack for DWIMmery in c-lineup-arglist."
(if (save-excursion
(if (re-search-forward "\\(tests\\s-*=>\\s-*\\)\\w*" nil t)
(replace-match (format "\\1%d" i))))))
- ;;;----- Python programming style -------------------------------------------
+ ;;;--------------------------------------------------------------------------
+ ;;; Python programming style.
-;; Define Python fontification style.
-
-(defun mdw-fontify-python ()
+(defun mdw-fontify-pythonic (keywords)
- ;; --- Miscellaneous fiddling ---
-
+ ;; Miscellaneous fiddling.
(mdw-standard-fill-prefix "\\([ \t]*#+[ \t]*\\)")
- ;; --- Now define fontification things ---
-
+ ;; Now define fontification things.
(make-local-variable 'font-lock-keywords)
- (let ((python-keywords
- (mdw-regexps "and" "as" "assert" "break" "class" "continue" "def"
- "del" "elif" "else" "except" "exec" "finally" "for"
- "from" "global" "if" "import" "in" "is" "lambda"
- "not" "or" "pass" "print" "raise" "return" "try"
- "while" "with" "yield")))
- (setq font-lock-keywords
- (list
+ (setq font-lock-keywords
+ (list
- ;; --- Set up the keywords defined above ---
-
- (list (concat "\\<\\(" keywords "\\)\\>")
- ;; Set up the keywords defined above.
- (list (concat "\\<\\(" python-keywords "\\)\\>")
- '(0 font-lock-keyword-face))
++ ;; Set up the keywords defined above.
++ (list (concat "\\<\\(" python-keywords "\\)\\>")
+ '(0 font-lock-keyword-face))
- ;; --- At least numbers are simpler than C ---
-
- ;; At least numbers are simpler than C.
- (list (concat "\\<0\\([xX][0-9a-fA-F_]+\\|[0-7_]+\\)\\|"
- "\\<[0-9][0-9_]*\\(\\.[0-9_]*\\|\\)"
- "\\([eE]\\([-+]\\|\\)[0-9_]+\\|[lL]\\|\\)")
- '(0 mdw-number-face))
++ ;; At least numbers are simpler than C.
+ (list (concat "\\<0\\([xX][0-9a-fA-F_]+\\|[0-7_]+\\)\\|"
+ "\\<[0-9][0-9_]*\\(\\.[0-9_]*\\|\\)"
+ "\\([eE]\\([-+]\\|\\)[0-9_]+\\|[lL]\\|\\)")
+ '(0 mdw-number-face))
- ;; --- And anything else is punctuation ---
-
- ;; And anything else is punctuation.
- (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
- '(0 mdw-punct-face))))))
++ ;; And anything else is punctuation.
+ (list "\\(\\s.\\|\\s(\\|\\s)\\|\\s\\\\|\\s/\\)"
+ '(0 mdw-punct-face)))))
+
- ;; --- Define Python fontification style ---
++;; Define Python fontification styles.
+
+(defun mdw-fontify-python ()
+ (mdw-fontify-pythonic
+ (mdw-regexps "and" "as" "assert" "break" "class" "continue" "def"
+ "del" "elif" "else" "except" "exec" "finally" "for"
+ "from" "global" "if" "import" "in" "is" "lambda"
+ "not" "or" "pass" "print" "raise" "return" "try"
+ "while" "with" "yield")))
+
+(defun mdw-fontify-pyrex ()
+ (mdw-fontify-pythonic
+ (mdw-regexps "and" "as" "assert" "break" "cdef" "class" "continue"
+ "ctypedef" "def" "del" "elif" "else" "except" "exec"
+ "extern" "finally" "for" "from" "global" "if"
+ "import" "in" "is" "lambda" "not" "or" "pass" "print"
+ "raise" "return" "struct" "try" "while" "with"
+ "yield")))
- ;;;----- Icon programming style ---------------------------------------------
+ ;;;--------------------------------------------------------------------------
+ ;;; Icon programming style.
- ;; --- Icon indentation style ---
+ ;; Icon indentation style.
(setq icon-brace-offset 0
icon-continued-brace-offset 0