Function: srecode-semantic-handle-:srt

srecode-semantic-handle-:srt is an autoloaded and byte-compiled function defined in srt.el.gz.

Signature

(srecode-semantic-handle-:srt DICT)

Documentation

Add macros into the dictionary DICT based on the current SRT file.

Adds the following: ESCAPE_START - This files value of escape_start ESCAPE_END - This files value of escape_end MODE - The mode of this buffer. If not declared yet, guess.

Source Code

;; Defined in /usr/src/emacs/lisp/cedet/srecode/srt.el.gz
;;;###autoload
(defun srecode-semantic-handle-:srt (dict)
  "Add macros into the dictionary DICT based on the current SRT file.
Adds the following:
ESCAPE_START - This files value of escape_start
ESCAPE_END - This files value of escape_end
MODE - The mode of this buffer.  If not declared yet, guess."
  (let* ((es (semantic-find-first-tag-by-name "escape_start" (current-buffer)))
	 (ee (semantic-find-first-tag-by-name "escape_end" (current-buffer)))
	 (mode-var (semantic-find-first-tag-by-name "mode" (current-buffer)))
	 (mode (if mode-var
		   (semantic-tag-variable-default mode-var)
		 nil))
	 )
    (srecode-dictionary-set-value dict "ESCAPE_START"
				  (if es
				      (car (semantic-tag-variable-default es))
				    "{{"))
    (srecode-dictionary-set-value dict "ESCAPE_END"
				  (if ee
				      (car (semantic-tag-variable-default ee))
				    "}}"))
    (when (not mode)
      (let* ((fname (file-name-nondirectory
		     (buffer-file-name (current-buffer))))
	     )
	(when (string-match "-\\(\\w+\\)\\.srt" fname)
	  (setq mode (concat (match-string 1 fname) "-mode")))))

    (when mode
      (srecode-dictionary-set-value dict "MAJORMODE" mode))

    ))