D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
usr
/
share
/
doc
/
python2-jinja2
/
ext
/
Filename :
jinja.el
back
Copy
;;; jinja.el --- Jinja mode highlighting ;; ;; Author: Georg Brandl ;; Copyright: (c) 2009 by the Jinja Team ;; Last modified: 2008-05-22 23:04 by gbr ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;;; Commentary: ;; ;; Mostly ripped off django-mode by Lennart Borgman. ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; 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 2, 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 this program; see the file COPYING. If not, write to ;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth ;; Floor, Boston, MA 02110-1301, USA. ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;;; Code: (defconst jinja-font-lock-keywords (list ; (cons (rx "{% comment %}" (submatch (0+ anything)) ; "{% endcomment %}") (list 1 font-lock-comment-face)) '("{# ?\\(.*?\\) ?#}" . (1 font-lock-comment-face)) '("{%-?\\|-?%}\\|{{\\|}}" . font-lock-preprocessor-face) '("{#\\|#}" . font-lock-comment-delimiter-face) ;; first word in a block is a command '("{%-?[ \t\n]*\\([a-zA-Z_]+\\)" . (1 font-lock-keyword-face)) ;; variables '("\\({{ ?\\)\\([^|]*?\\)\\(|.*?\\)? ?}}" . (1 font-lock-variable-name-face)) ;; keywords and builtins (cons (rx word-start (or "in" "as" "recursive" "not" "and" "or" "if" "else" "import" "with" "without" "context") word-end) font-lock-keyword-face) (cons (rx word-start (or "true" "false" "none" "loop" "self" "super") word-end) font-lock-builtin-face) ;; tests '("\\(is\\)[ \t]*\\(not\\)[ \t]*\\([a-zA-Z_]+\\)" (1 font-lock-keyword-face) (2 font-lock-keyword-face) (3 font-lock-function-name-face)) ;; builtin filters (cons (rx "|" (* space) (submatch (or "abs" "batch" "capitalize" "capture" "center" "count" "default" "dformat" "dictsort" "e" "escape" "filesizeformat" "first" "float" "format" "getattribute" "getitem" "groupby" "indent" "int" "join" "jsonencode" "last" "length" "lower" "markdown" "pprint" "random" "replace" "reverse" "round" "rst" "slice" "sort" "string" "striptags" "sum" "textile" "title" "trim" "truncate" "upper" "urlencode" "urlize" "wordcount" "wordwrap" "xmlattr"))) (list 1 font-lock-builtin-face)) ) "Minimal highlighting expressions for Jinja mode") (define-derived-mode jinja-mode nil "Jinja" "Simple Jinja mode for use with `mumamo-mode'. This mode only provides syntax highlighting." ;;(set (make-local-variable 'comment-start) "{#") ;;(set (make-local-variable 'comment-end) "#}") (setq font-lock-defaults '(jinja-font-lock-keywords))) ;; mumamo stuff (when (require 'mumamo nil t) (defun mumamo-chunk-jinja3 (pos max) "Find {# ... #}" (mumamo-quick-chunk-forward pos max "{#" "#}" 'borders 'jinja-mode)) (defun mumamo-chunk-jinja2 (pos max) "Find {{ ... }}" (mumamo-quick-chunk-forward pos max "{{" "}}" 'borders 'jinja-mode)) (defun mumamo-chunk-jinja (pos max) "Find {% ... %}" (mumamo-quick-chunk-forward pos max "{%" "%}" 'borders 'jinja-mode)) ;;;###autoload (define-mumamo-multi-major-mode jinja-html-mumamo "Turn on multiple major modes for Jinja with main mode `html-mode'. This also covers inlined style and javascript." ("Jinja HTML Family" html-mode (mumamo-chunk-jinja mumamo-chunk-jinja2 mumamo-chunk-jinja3 mumamo-chunk-inlined-style mumamo-chunk-inlined-script mumamo-chunk-style= mumamo-chunk-onjs= ))) ;;;###autoload (define-mumamo-multi-major-mode jinja-nxhtml-mumamo "Turn on multiple major modes for Jinja with main mode `nxhtml-mode'. This also covers inlined style and javascript." ("Jinja nXhtml Family" nxhtml-mode (mumamo-chunk-jinja mumamo-chunk-jinja2 mumamo-chunk-jinja3 mumamo-chunk-inlined-style mumamo-chunk-inlined-script mumamo-chunk-style= mumamo-chunk-onjs= ))) ) (provide 'jinja) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; jinja.el ends here
Name
Size
Last Modified
Owner
Permissions
Actions
Vim
Dir
May 29 2024 3:43:04
root
0755
django2jinja
Dir
May 29 2024 3:43:04
root
0755
djangojinja2.py
2.927
KB
January 06 2017 3:24:25
root
0644
inlinegettext.py
2.562
KB
January 06 2017 3:24:25
root
0644
jinja.el
4.622
KB
January 06 2017 3:24:25
root
0644
2017 © D7net | D704T team