From 8472f03dbf70dc1037a068e06feb294cdd72b9ad Mon Sep 17 00:00:00 2001 From: TatriX Date: Wed, 25 Mar 2020 23:14:32 +0100 Subject: [PATCH] Use define-derived-mode from prog-mode and update auto-mode-alist --- el/sclang-mode.el | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/el/sclang-mode.el b/el/sclang-mode.el index 83ce830..ad7b626 100644 --- a/el/sclang-mode.el +++ b/el/sclang-mode.el @@ -671,15 +671,12 @@ Returns the column to indent to." :group 'sclang-mode :type 'hook) -(defun sclang-mode () +;;;###autoload +(define-derived-mode sclang-mode prog-mode "SCLang" "Major mode for editing SuperCollider language code. \\{sclang-mode-map}" - (interactive) - (kill-all-local-variables) - (set-syntax-table sclang-mode-syntax-table) - (use-local-map sclang-mode-map) - (setq mode-name "SCLang") - (setq major-mode 'sclang-mode) + :group 'sclang + :syntax-table sclang-mode-syntax-table (sclang-mode-set-local-variables) (sclang-set-font-lock-keywords) (sclang-init-document) @@ -689,15 +686,14 @@ Returns the column to indent to." (add-hook 'completion-at-point-functions #'sclang-completion-at-point nil 'local) (when (fboundp 'company-mode) - (add-to-list 'company-backends 'company-capf)) - - (run-hooks 'sclang-mode-hook)) + (add-to-list 'company-backends 'company-capf))) ;; ===================================================================== ;; module initialization ;; ===================================================================== -(add-to-list 'auto-mode-alist '("\\.\\(sc\\|scd\\)$" . sclang-mode)) +;;;###autoload +(add-to-list 'auto-mode-alist '("\\.scd?\\'" . sclang-mode)) (add-to-list 'interpreter-mode-alist '("sclang" . sclang-mode)) (add-hook 'sclang-library-startup-hook 'sclang-document-library-startup-hook-function) @@ -706,5 +702,4 @@ Returns the column to indent to." (add-hook 'change-major-mode-hook 'sclang-document-change-major-mode-hook-function) (provide 'sclang-mode) - -;; EOF +;;; sclang-mode ends here