From 37b2563dd1385ec1e80d86a72d0cd6763411da71 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 26 Apr 2018 17:56:58 -0400 Subject: [PATCH] lang/javascript: detect preact import (for rjsx-mode) --- modules/lang/javascript/config.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/lang/javascript/config.el b/modules/lang/javascript/config.el index 4c303d848..1dfaa4215 100644 --- a/modules/lang/javascript/config.el +++ b/modules/lang/javascript/config.el @@ -47,14 +47,15 @@ :mode "components/.+\\.js$" :init (defun +javascript-jsx-file-p () + "Detect React or preact imports early in the file." (and buffer-file-name (string= (file-name-extension buffer-file-name) "js") - (re-search-forward "\\(^\\s-*import React\\|\\( from \\|require(\\)[\"']react\\)" + (re-search-forward "\\(^\\s-*import +\\(?:pr\\|R\\)eact\\|\\( from \\|require(\\)[\"']p?react\\)" magic-mode-regexp-match-limit t) (progn (goto-char (match-beginning 1)) (not (sp-point-in-string-or-comment))))) - (push (cons #'+javascript-jsx-file-p 'rjsx-mode) magic-mode-alist) + (push '(+javascript-jsx-file-p . rjsx-mode) magic-mode-alist) :config (set! :electric 'rjsx-mode :chars '(?\} ?\) ?. ?>)) (add-hook! 'rjsx-mode-hook