123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- (require 'semantic/java)
- (require 'semantic/wisent)
- (require 'semantic/wisent/js-wy)
- (defun wisent-javascript-jv-expand-tag (tag)
- "Expand TAG into a list of equivalent tags, or nil.
- Expand multiple variable declarations in the same statement, that is
- tags of class `variable' whose name is equal to a list of elements of
- the form (NAME VALUE START . END). NAME is a variable name. VALUE is
- an initializer START and END are the bounds in the declaration, related
- to this variable NAME."
- (let (elts elt value clone start end xpand)
- (when (and (eq 'variable (semantic-tag-class tag))
- (consp (setq elts (semantic-tag-name tag))))
-
- (while elts
-
-
- (setq elt (car elts)
- elts (cdr elts)
- clone (semantic-tag-clone tag (car elt))
- value (car (cdr elt))
- start (if elts (car (cddr elt)) (semantic-tag-start tag))
- end (if xpand (cdr (cddr elt)) (semantic-tag-end tag))
- xpand (cons clone xpand))
-
- (semantic-tag-put-attribute clone :default-value value)
-
-
- (semantic-tag-set-bounds clone start end))
- xpand)))
- (define-mode-local-override semantic-get-local-variables
- javascript-mode ()
- "Get local values from a specific context.
- This function overrides `get-local-variables'."
-
- nil)
- (define-child-mode js-mode javascript-mode)
- (defvar semantic-imenu-summary-function)
- (defun wisent-javascript-setup-parser ()
- "Setup buffer for parse."
- (wisent-javascript-jv-wy--install-parser)
- (setq
-
- semantic-lex-analyzer 'javascript-lexer-jv
- semantic-lex-number-expression semantic-java-number-regexp
-
-
- semantic-tag-expand-function 'wisent-javascript-jv-expand-tag
-
- semantic-imenu-summary-function 'semantic-format-tag-name
- imenu-create-index-function 'semantic-create-imenu-index
- semantic-command-separation-character ";"
- ))
- (provide 'semantic/wisent/javascript-jv)
|