2 ;;(load (concat vendor-path "/nxhtml/autostart.el"))
4 (defconst mumamo-actionscript-tag-start-regex
5 (rx "<mx:Script>" (0+ space) "<![CDATA["))
7 (defconst mumamo-actionscript-tag-end-regex
8 (rx "]]>" (0+ space) "</mx:Script>"))
10 ;; (defun mumamo-search-bw-exc-start-inlined-actionscript (pos min)
11 ;; (let ((exc-start (mumamo-chunk-start-bw-re pos min mumamo-actionscript-tag-start-regex)))
14 ;; (cons exc-start 'espresso-mode))))
16 ;; (defun mumamo-search-bw-exc-end-inlined-actionscript (pos min)
17 ;; (mumamo-chunk-end-bw-re pos min mumamo-actionscript-tag-end-regex))
19 ;; (defun mumamo-search-fw-exc-start-inlined-actionscript-old (pos max)
20 ;; (mumamo-chunk-start-fw-re pos max mumamo-actionscript-tag-start-regex))
22 (defun mumamo-search-fw-exc-start-inlined-actionscript (pos max)
23 (let ((where (mumamo-chunk-start-fw-re pos max mumamo-actionscript-tag-start-regex)))
25 (list where 'js-mode))))
27 (defun mumamo-search-fw-exc-end-inlined-actionscript (pos max)
28 (mumamo-chunk-end-fw-re pos max mumamo-actionscript-tag-end-regex))
30 (defun mumamo-chunk-inlined-actionscript (pos min max)
31 ;; (mumamo-find-possible-chunk pos min max
32 ;; 'mumamo-search-bw-exc-start-inlined-actionscript
33 ;; 'mumamo-search-bw-exc-end-inlined-actionscript
34 ;; 'mumamo-search-fw-exc-start-inlined-actionscript-old
35 ;; 'mumamo-search-fw-exc-end-inlined-actionscript)
36 (mumamo-possible-chunk-forward pos max
37 'mumamo-search-fw-exc-start-inlined-actionscript
38 'mumamo-search-fw-exc-end-inlined-actionscript))
40 (define-mumamo-multi-major-mode mxml-actionscript-mumamo-mode
41 "Turn on multiple major modes for MXML with main mode `nxml-mode'.
42 This covers inlined style and script for mxml."
43 ("nXml Family" nxml-mode (mumamo-chunk-inlined-actionscript)))
45 (add-to-list 'auto-mode-alist '("\\.mxml$" . mxml-actionscript-mumamo-mode))