;ELC ;;; Compiled ;;; in Emacs version 26.3 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\207" [require cl-lib js2-mode] 2) #@399 List of JavaScript class definition or extension styles. :framework is a valid value in `js2-imenu-enabled-frameworks'. :call-re is a regular expression that has no capturing groups. :recorder is a function name that will be called when the regular expression matches some text in the buffer. When it's called, point will be at the end of the match. The function must keep the point position. (defvar js2-imenu-extension-styles (byte-code "\301\302\303\304\305\306\307\310Q\311BBBB\312BBBB\207" [js2-mode-identifier-re (:framework jquery :call-re "\\_<\\(?:jQuery\\|\\$\\|_\\)\\.extend\\s-*(" :recorder js2-imenu-record-jquery-extend) (:framework jquery-ui :call-re "^\\s-*\\(?:jQuery\\|\\$\\)\\.widget\\s-*(" :recorder js2-imenu-record-string-declare) (:framework dojo :call-re "^\\s-*dojo.declare\\s-*(" :recorder js2-imenu-record-string-declare) :framework backbone :call-re "\\_<" "\\.extend\\s-*(" (:recorder js2-imenu-record-backbone-extend) ((:framework enyo :call-re "\\_\203B\262A\262\202\211\237\266\203\305\306\307#eb\210\310\302\311#\205h\312GS\311\302X\203cT\224\203X\3038\313\" \262\302\211\262\202Y\311\203cT\262\202;\266\202-\207" [js2-imenu-extension-styles js2-imenu-enabled-frameworks nil plist-get :framework mapconcat #[257 "\300\301\302\"\303Q\207" ["\\(" plist-get :call-re "\\)"] 5 "\n\n(fn STYLE)"] "\\|" js2-re-search-forward t 0 :recorder] 9]) (defalias 'js2-imenu-record-jquery-extend #[0 "\300\301`S\302#\207" [#[257 "\302!>\205P\302\211!>\204\303\304\305D\"\210\306H! >\204:\303\304\307\302!>\2044\303\304\305D\"\210\306HD\"\210\302!>\204I\303\304\305D\"\210\211\306H\310H\311\230\207" [cl-struct-js2-prop-get-node-tags cl-struct-js2-name-node-tags type-of signal wrong-type-argument js2-prop-get-node 8 js2-name-node 6 "prototype"] 8 "\n\n(fn SUBJECT)"] js2-imenu-record-extend-first-arg js2-compute-nested-prop-get] 5]) (defalias 'js2-imenu-record-string-declare #[0 "\300`S\301\302#\207" [js2-imenu-record-extend-first-arg js2-string-node-p #[257 "\203\302\303! >\204\304\305\306D\"\210\307H\310\311#\207\303! >\204*\304\305\306D\"\210\211\307HC\207" [js2-imenu-split-string-identifiers cl-struct-js2-string-node-tags split-string type-of signal wrong-type-argument js2-string-node 6 "\\." t] 6 "\n\n(fn NODE)"]] 4]) #@28 (fn POINT PRED QNAME-FN) (defalias 'js2-imenu-record-extend-first-arg #[771 "\302!\303!>\204\304\305\306D\"\210\211\307H\211@!\205FA\310:\203C@\262\303! >\203<\311!\312!#\210A\262\202 \310\266\202\207" [cl-struct-js2-call-node-tags cl-struct-js2-object-node-tags js2-node-at-point type-of signal wrong-type-argument js2-call-node 7 nil js2-record-object-literal js2-node-abs-pos] 13 (#$ . 5137)]) (defalias 'js2-imenu-record-backbone-or-react #[0 "\305`S!\306!>\204\307\310\311D\"\210\211\312H\211@\306! >\204'\307\310\313D\"\210\314H\306!\n>\205y\306! >\203O\306! >\204I\307\310\315D\"\210\211\316H\202i\306!\f>\205i\306!\f>\204f\307\310\317D\"\210\211\312H\211\205w\320\321!\322!#\262\207" [cl-struct-js2-call-node-tags cl-struct-js2-node-tags cl-struct-js2-object-node-tags cl-struct-js2-var-init-node-tags cl-struct-js2-assign-node-tags js2-node-at-point type-of signal wrong-type-argument js2-call-node 7 js2-node 5 js2-var-init-node 6 js2-assign-node js2-record-object-literal js2-compute-nested-prop-get js2-node-abs-pos] 10]) (byte-code "\300\301\302\"\210\300\303\302\"\207" [defalias js2-imenu-record-backbone-extend js2-imenu-record-backbone-or-react js2-imenu-record-react-class] 3) (defalias 'js2-imenu-record-enyo-kind #[0 "\306`S!\307!>\204\310\311\312D\"\210\211\313H\211@\307! >\205\347\307! >\204/\310\311\314D\"\210\211\315H\316\317\316:\203\314@\262\307!\n>\204M\310\311\320D\"\210\313H\307!\n>\204`\310\311\320D\"\210\321H\307! >\203\200\307! >\204z\310\311\322D\"\210\315H\202\232\307!\f>\205\232\307!\f>\204\227\310\311\323D\"\210\315H\324\232\205\271\307!\f>\205\271\307!\f>\204\266\310\311\323D\"\210\211\315H\266\202\211\262?\211\262\203\314A\262\2025\266\203\211\205\345\325 \203\337\326\327\"\202\341C\330!#\262\207" [cl-struct-js2-call-node-tags cl-struct-js2-object-node-tags cl-struct-js2-object-prop-node-tags cl-struct-js2-name-node-tags cl-struct-js2-string-node-tags js2-imenu-split-string-identifiers js2-node-at-point type-of signal wrong-type-argument js2-call-node 7 js2-object-node 6 nil t js2-object-prop-node 8 js2-name-node js2-string-node "name" js2-record-object-literal split-string "\\." js2-node-abs-pos] 13]) (defalias 'js2-imenu-record-sencha-class #[0 "\304`S!\305!>\204\306\307\310D\"\210\211\311H\211@A@\305! >\205S\305!\n>\205S\305! >\204:\306\307\312D\"\210\313H\314 \203K\315\316\317#\202MC\320!#\262\207" [cl-struct-js2-call-node-tags cl-struct-js2-string-node-tags cl-struct-js2-object-node-tags js2-imenu-split-string-identifiers js2-node-at-point type-of signal wrong-type-argument js2-call-node 7 js2-string-node 6 js2-record-object-literal split-string "\\." t js2-node-abs-pos] 11]) (defalias 'js2-imenu-walk-ast #[0 "\301\302\"\207" [js2-mode-ast js2-visit-ast #[514 "\211?\205M\203\306! >\203\307!\210\202L\306!\n>\203\260\203h\306\211!\n>\2044\310\311\312D\"\210\313H! >\203h\314\306!\n>\204M\310\311\312D\"\210\315H\306!\n>\204`\310\311\312D\"\210\313H\"\210\202L\f\203L\306\211!\n>\204|\310\311\312D\"\210\313H! >\203L\316\306!\n>\204\225\310\311\312D\"\210\315H\306!\n>\204\250\310\311\312D\"\210\313H\"\210\202L\306!>\203L\203\306\211!>\204\316\310\311\317D\"\210\315H! >\203\314\306!>\204\350\310\311\317D\"\210\320H\306!>\204\374\310\311\317D\"\210\315H\"\210\202L\f\203L\306\211!>\204\310\311\317D\"\210\315H! >\203L\316\306!>\2043\310\311\317D\"\210\320H\306!>\204G\310\311\317D\"\210\315H\"\210\321\207" [js2-imenu-show-other-functions cl-struct-js2-object-prop-node-tags cl-struct-js2-assign-node-tags cl-struct-js2-function-node-tags js2-imenu-show-module-pattern cl-struct-js2-call-node-tags type-of js2-imenu-record-orphan-prop-node-function signal wrong-type-argument js2-assign-node 8 js2-imenu-record-orphan-assign-node-function 7 js2-imenu-record-module-pattern js2-var-init-node 6 t cl-struct-js2-var-init-node-tags] 8 "\n\n(fn NODE END-P)"]] 3]) #@210 Get the list of parent key names of NODE. For example, for code {rules: {password: {required: function() {}}}} when NODE is the inner `js2-object-prop-mode', it returns `("rules" "password")'. (fn NODE) (defalias 'js2-imenu-parent-key-names #[257 "\301\302!\211\262\203&\303\304!>\204\305\306\307D\"\210\310H!B\262\202\207" [cl-struct-js2-object-prop-node-tags nil js2-imenu-parent-prop-node js2-prop-node-name type-of signal wrong-type-argument js2-object-prop-node 7] 8 (#$ . 9202)]) #@129 When the parent of NODE is `js2-object-node', and the grandparent is `js2-object-prop-node', return the grandparent. (fn NODE) (defalias 'js2-imenu-parent-prop-node #[257 "\303\211\304!>\204\305\306\307D\"\210\310H\262\205C\304! >\205C\304!>\2041\305\306\307D\"\210\310H\262\211\205C\304!\n>\205C\211\207" [cl-struct-js2-node-tags cl-struct-js2-object-node-tags cl-struct-js2-object-prop-node-tags nil type-of signal wrong-type-argument js2-node 5] 7 (#$ . 9716)]) #@101 Record orphan function when it's the value of NODE. NODE must be `js2-object-prop-node'. (fn NODE) (defalias 'js2-imenu-record-orphan-prop-node-function #[257 "\304\211!>\204\305\306\307D\"\210\310H! >\205d\304!>\204(\305\306\307D\"\210\211\310H\n\2053\311\n\"?\205b\304!>\204F\305\306\307D\"\210\312H\313\314!\315!C\244\262 B\262\316\317!#\266\202\262\207" [cl-struct-js2-object-prop-node-tags cl-struct-js2-function-node-tags js2-imenu-function-map js2-imenu-other-functions-ns type-of signal wrong-type-argument js2-object-prop-node 8 gethash 7 nil js2-imenu-parent-key-names js2-prop-node-name js2-record-imenu-entry js2-node-abs-pos] 9 (#$ . 10209)]) #@83 Record orphan function FN-NODE assigned to node TARGET. (fn TARGET-NODE FN-NODE) (defalias 'js2-imenu-record-orphan-assign-node-function #[514 "\203\302\303#\303=\205#\304!\211\205! B\262\305\306!#\262\207" [js2-imenu-function-map js2-imenu-other-functions-ns gethash skip js2-compute-nested-prop-get js2-record-imenu-entry js2-node-abs-pos] 8 (#$ . 10900)]) #@99 Recognize and record module pattern use instance. INIT must be `js2-call-node'. (fn TARGET INIT) (defalias 'js2-imenu-record-module-pattern #[514 "\306!>\204\307\310\311D\"\210\211\312H\306! >\205\267\306\211! >\204*\307\310\313D\"\210\312H!\n>\205\267\306! >\204B\307\310\313D\"\210\211\312H\306!\n>\204T\307\310\314D\"\210\211\315H\316\306! >\204g\307\310\317D\"\210\312H!@\306!\f>\205\265\306\211!\f>\204\204\307\310\320D\"\210\312H! >\205\265\306!\f>\204\234\307\310\320D\"\210\211\312H\321!\322\323!#\210\324\323 !#\266\202\266\203\207" [cl-struct-js2-call-node-tags cl-struct-js2-paren-node-tags cl-struct-js2-function-node-tags cl-struct-js2-block-node-tags cl-struct-js2-return-node-tags cl-struct-js2-object-node-tags type-of signal wrong-type-argument js2-call-node 6 js2-paren-node js2-function-node 22 last js2-block-node js2-return-node js2-compute-nested-prop-get js2-record-object-literal js2-node-abs-pos js2-record-imenu-entry] 13 (#$ . 11280)]) #@111 Non-nil if Js2-Imenu-Extras mode is enabled. Use the command `js2-imenu-extras-mode' to change this variable. (defvar js2-imenu-extras-mode nil (#$ . 12291)) (make-variable-buffer-local 'js2-imenu-extras-mode) #@82 Toggle Imenu support for frameworks and structural patterns. (fn &optional ARG) (defalias 'js2-imenu-extras-mode #[256 "\301 \302=\203 ?\202\303!\304V\211\203\305 \210\202 \306 \210\307\310\203*\311\202+\312\"\210\313\314!\203O\301 \203?\211\301 \232\203O\315\316\317\203J\320\202K\321#\266\210\322 \210\207" [js2-imenu-extras-mode current-message toggle prefix-numeric-value 0 js2-imenu-extras-setup js2-imenu-extras-remove run-hooks js2-imenu-extras-mode-hook js2-imenu-extras-mode-on-hook js2-imenu-extras-mode-off-hook called-interactively-p any " in current buffer" message "Js2-Imenu-Extras mode %sabled%s" "en" "dis" force-mode-line-update] 8 (#$ . 12507) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)]) (defvar js2-imenu-extras-mode-hook nil) (byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\311\211%\210\312\313!\207" [js2-imenu-extras-mode-map js2-imenu-extras-mode-hook variable-documentation put "Hook run after entering or leaving `js2-imenu-extras-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" add-minor-mode js2-imenu-extras-mode "" boundp nil provide js2-imenu-extras] 6)