From 58198acf18a4147def726f7a693aa8ed0266eb61 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 20 Sep 2017 01:34:47 +0200 Subject: [PATCH] Refactor magic-mode-alist entries for rjsx-mode, c++-mode & objc-mode --- modules/lang/cc/config.el | 16 ++++++++-------- modules/lang/javascript/config.el | 21 ++++++++++----------- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/modules/lang/cc/config.el b/modules/lang/cc/config.el index f95bbce42..6412fb863 100644 --- a/modules/lang/cc/config.el +++ b/modules/lang/cc/config.el @@ -28,10 +28,8 @@ compilation database is present in the project.") (def-package! cc-mode :commands (c-mode c++-mode objc-mode java-mode) :mode ("\\.mm" . objc-mode) - :init - (setq-default c-basic-offset tab-width) - - (defun +cc--c++-header-file-p () + :preface + (defun +cc-c++-header-file-p () (and buffer-file-name (equal (file-name-extension buffer-file-name) "h") (or (file-exists-p (expand-file-name @@ -42,14 +40,16 @@ compilation database is present in the project.") (projectile-current-project-files)))) (equal (file-name-extension file) "cpp"))))) - (defun +cc--objc-header-file-p () + (defun +cc-objc-header-file-p () (and buffer-file-name (equal (file-name-extension buffer-file-name) "h") (re-search-forward "@\\" magic-mode-regexp-match-limit t))) - ;; Auto-detect C++/Obj-C header files - (push (cons #'+cc--c++-header-file-p 'c++-mode) magic-mode-alist) - (push (cons #'+cc--objc-header-file-p 'objc-mode) magic-mode-alist) + (push (cons #'+cc-c++-header-file-p 'c++-mode) magic-mode-alist) + (push (cons #'+cc-objc-header-file-p 'objc-mode) magic-mode-alist) + + :init + (setq-default c-basic-offset tab-width) :config (set! :electric '(c-mode c++-mode objc-mode java-mode) diff --git a/modules/lang/javascript/config.el b/modules/lang/javascript/config.el index 731c97ed8..1fd89d322 100644 --- a/modules/lang/javascript/config.el +++ b/modules/lang/javascript/config.el @@ -103,17 +103,16 @@ :mode "\\.jsx$" :mode "components/.+\\.js$" :init - ;; auto-detect JSX file - (push (cons (lambda () - (and buffer-file-name - (equal (file-name-extension buffer-file-name) "js") - (re-search-forward "\\(^\\s-*import React\\|\\( from \\|require(\\)[\"']react\\)" - magic-mode-regexp-match-limit t) - (progn - (goto-char (match-beginning 1)) - (not (sp-point-in-string-or-comment))))) - 'rjsx-mode) - magic-mode-alist) + (defun +javascript-jsx-file-p () + (and buffer-file-name + (equal (file-name-extension buffer-file-name) "js") + (re-search-forward "\\(^\\s-*import React\\|\\( from \\|require(\\)[\"']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) :config (set! :electric 'rjsx-mode :chars '(?\} ?\) ?. ?>))