add develock-py.el
[emacs-init.git] / lib / develock-py.el
1 ;;
2 ;; develock-py.el
3 ;;
4 ;; Made by Daniel Farina
5 ;; Login   <drfarina@acm.org>
6 ;;
7 ;; Started on  Sun Feb 14 09:21:21 2010 Daniel Farina
8 ;; Last update Sun Feb 14 09:27:12 2010 Daniel Farina
9 ;;
10
11 (require 'develock)
12
13 (defcustom develock-python-font-lock-keywords
14  '(;; a long line
15  (develock-find-long-lines
16  (1 'develock-long-line-1 t)
17  (2 'develock-long-line-2 t))
18  ;; long spaces
19  (develock-find-tab-or-long-space
20  (1 'develock-whitespace-2)
21  (2 'develock-whitespace-3 nil t))
22  ;; trailing whitespace
23  ("[^\t\n ]\\([\t ]+\\)$"
24  (1 'develock-whitespace-1 t))
25  ;; spaces before tabs
26  ("\\( +\\)\\(\t+\\)"
27  (1 'develock-whitespace-1 t)
28  (2 'develock-whitespace-2 t))
29  ;; tab space tab
30  ("\\(\t\\) \t"
31  (1 'develock-whitespace-2 append))
32  ;; only tabs or spaces in the line
33  ("^[\t ]+$"
34  (0 'develock-whitespace-2 append))
35  ;; reachable E-mail addresses
36  ("<?[-+.0-9A-Z_a-z]+@[-0-9A-Z_a-z]+\\(\\.[-0-9A-Z_a-z]+\\)+>?"
37  (0 'develock-reachable-mail-address t))
38  ;; things to be paid attention
39  ("\\<\\(?:[Ff][Ii][Xx][Mm][Ee]\\|[Tt][Oo][Dd][Oo]\\)\\(?::\\|\\>\\)"
40  (0 'develock-upper-case-tag-face t)))
41  "Extraordinary level highlighting for the Python mode."
42  :type develock-keywords-custom-type
43  :set 'develock-keywords-custom-set
44  :group 'develock
45  :group 'font-lock)
46
47 (defvar python-font-lock-keywords-x nil
48  "Extraordinary level font-lock keywords for the Python mode.")
49
50 (setq develock-keywords-alist
51  (cons '(python-mode
52  python-font-lock-keywords-x
53  develock-python-font-lock-keywords)
54  develock-keywords-alist))
55
56 (plist-put develock-max-column-plist 'python-mode 100)
57
58 (provide 'develock-py)