diff --git a/js2-mode.el b/js2-mode.el index 20123aba..d6ae0e40 100644 --- a/js2-mode.el +++ b/js2-mode.el @@ -9837,6 +9837,7 @@ js2-export-binding-node and consume all the tokens. If it does not match, it consumes no tokens." (let ((kind (when import-p (js2-parse-module-kind))) (extern-name (cond + ((js2-match-token js2-DEFAULT) "default") ((js2-match-token js2-TYPEOF) "typeof") ((js2-match-contextual-kwd "type") "type") ((js2-match-prop-name) (js2-current-token-string)) @@ -9879,6 +9880,10 @@ consumes no tokens." (if import-p (js2-set-face (js2-current-token-beg) (js2-current-token-end) 'font-lock-variable-name-face 'record)) + ;; export { A as B } + ;; ---------^ set font face to nil + (js2-set-face beg (+ beg extern-name-len) + 'nil 'record) node) (js2-unget-token) nil)) diff --git a/tests/flow.el b/tests/flow.el index 24c37117..b2c1a24c 100644 --- a/tests/flow.el +++ b/tests/flow.el @@ -1089,6 +1089,9 @@ case b: (js2-deftest-parse jsx-2 "() => { ;\n};") +(js2-deftest-parse export-default-as-named + "export {default as foo} from 'm';") + ;;; Babylon plugins and Stage-0 (js2-deftest-parse dynamic-import