From 56ecd43753af7ae48e4ddd608c6334eb412fd4d5 Mon Sep 17 00:00:00 2001 From: Eivind Fonn Date: Fri, 28 Aug 2015 13:02:20 +0200 Subject: [PATCH] Add variables to opt-in to flycheck/flyspell --- layers/+config-files/puppet/packages.el | 2 +- layers/+frameworks/react/packages.el | 2 +- layers/+irc/rcirc/packages.el | 4 ++-- layers/+lang/c-c++/packages.el | 3 ++- layers/+lang/d/packages.el | 2 +- layers/+lang/emacs-lisp/packages.el | 1 + layers/+lang/erlang/packages.el | 2 +- layers/+lang/go/packages.el | 2 +- layers/+lang/haskell/packages.el | 2 +- layers/+lang/html/packages.el | 9 ++------- layers/+lang/javascript/packages.el | 5 ++--- layers/+lang/latex/packages.el | 2 +- layers/+lang/lua/packages.el | 2 +- layers/+lang/nim/extensions.el | 2 +- layers/+lang/ocaml/packages.el | 2 +- layers/+lang/python/packages.el | 2 +- layers/+lang/ruby/packages.el | 2 +- layers/+lang/rust/packages.el | 2 +- layers/spell-checking/README.org | 14 ++++++++++---- layers/spell-checking/config.el | 3 +++ layers/spell-checking/funcs.el | 18 ++++++++++++++++++ layers/spell-checking/packages.el | 9 +++++---- layers/syntax-checking/README.org | 14 ++++++++++---- layers/syntax-checking/config.el | 3 +++ layers/syntax-checking/funcs.el | 18 ++++++++++++++++++ 25 files changed, 89 insertions(+), 38 deletions(-) create mode 100644 layers/spell-checking/funcs.el create mode 100644 layers/syntax-checking/funcs.el diff --git a/layers/+config-files/puppet/packages.el b/layers/+config-files/puppet/packages.el index 5f069b45d..4fe0f452f 100644 --- a/layers/+config-files/puppet/packages.el +++ b/layers/+config-files/puppet/packages.el @@ -39,7 +39,7 @@ (spacemacs|add-company-hook puppet-mode)) (defun puppet/post-init-flycheck () - (add-hook 'puppet-mode-hook 'flycheck-mode)) + (spacemacs/add-flycheck-hook 'puppet-mode)) (defun puppet/init-puppetfile-mode () (use-package puppetfile-mode diff --git a/layers/+frameworks/react/packages.el b/layers/+frameworks/react/packages.el index 7cc9cd119..eb5a2901d 100644 --- a/layers/+frameworks/react/packages.el +++ b/layers/+frameworks/react/packages.el @@ -44,7 +44,7 @@ '(json-jsonlist)))))) (defun react/post-init-flycheck () - (add-hook 'react-mode-hook 'flycheck-mode)) + (spacemacs/add-flycheck-hook 'react-mode)) (defun react/post-init-js-doc () (add-hook 'react-mode-hook 'spacemacs/js-doc-require) diff --git a/layers/+irc/rcirc/packages.el b/layers/+irc/rcirc/packages.el index c19ad8a6b..e9ff87702 100644 --- a/layers/+irc/rcirc/packages.el +++ b/layers/+irc/rcirc/packages.el @@ -24,8 +24,8 @@ :defer t :init (progn - (spacemacs/add-to-hook 'rcirc-mode-hook '(flyspell-mode - rcirc-omit-mode + (spacemacs/add-flyspell-hook 'rcirc-mode) + (spacemacs/add-to-hook 'rcirc-mode-hook '(rcirc-omit-mode rcirc-track-minor-mode)) (defun spacemacs//rcirc-with-authinfo (arg) diff --git a/layers/+lang/c-c++/packages.el b/layers/+lang/c-c++/packages.el index 69d6aaea1..191817e41 100644 --- a/layers/+lang/c-c++/packages.el +++ b/layers/+lang/c-c++/packages.el @@ -126,7 +126,8 @@ :init (push 'company-c-headers company-backends-c-mode-common)))) (defun c-c++/post-init-flycheck () - (spacemacs/add-to-hooks 'flycheck-mode '(c-mode-hook c++-mode-hook))) + (dolist (mode '(c-mode-hook c++-mode-hook)) + (spacemacs/add-flycheck-hook mode))) (defun c-c++/init-gdb-mi () (use-package gdb-mi diff --git a/layers/+lang/d/packages.el b/layers/+lang/d/packages.el index 8b3e7b4f4..5e700833a 100644 --- a/layers/+lang/d/packages.el +++ b/layers/+lang/d/packages.el @@ -26,7 +26,7 @@ (when (configuration-layer/layer-usedp 'syntax-checking) (defun d/post-init-flycheck () - (add-hook 'd-mode-hook 'flycheck-mode)) + (spacemacs/add-flycheck-hook 'd-mode)) (defun d/init-flycheck-dmd-dub () (use-package flycheck-dmd-dub :defer t :init (add-hook 'd-mode-hook 'flycheck-dmd-dub-set-include-path)))) diff --git a/layers/+lang/emacs-lisp/packages.el b/layers/+lang/emacs-lisp/packages.el index 6f2e57265..2cf7ed408 100644 --- a/layers/+lang/emacs-lisp/packages.el +++ b/layers/+lang/emacs-lisp/packages.el @@ -105,6 +105,7 @@ "")))) (defun emacs-lisp/post-init-flycheck () + (spacemacs/add-flycheck-hook 'emacs-lisp-mode) ;; Make flycheck recognize packages in loadpath ;; i.e (require 'company) will not give an error now (setq flycheck-emacs-lisp-load-path 'inherit)) diff --git a/layers/+lang/erlang/packages.el b/layers/+lang/erlang/packages.el index 1482d6d26..c4b3e16d2 100644 --- a/layers/+lang/erlang/packages.el +++ b/layers/+lang/erlang/packages.el @@ -42,4 +42,4 @@ (require 'erlang-start))) (defun erlang/post-init-flycheck () - (add-hook 'erlang-mode-hook 'flycheck-mode)) + (spacemacs/add-flycheck-hook 'erlang-mode)) diff --git a/layers/+lang/go/packages.el b/layers/+lang/go/packages.el index cc17b0821..5262aa339 100644 --- a/layers/+lang/go/packages.el +++ b/layers/+lang/go/packages.el @@ -8,7 +8,7 @@ )) (defun go/post-init-flycheck () - (add-hook 'go-mode-hook 'flycheck-mode)) + (spacemacs/add-flycheck-hook 'go-mode)) (defun go/init-go-mode() (when (memq window-system '(mac ns x)) diff --git a/layers/+lang/haskell/packages.el b/layers/+lang/haskell/packages.el index f2f482acc..c822c8dd4 100644 --- a/layers/+lang/haskell/packages.el +++ b/layers/+lang/haskell/packages.el @@ -30,7 +30,7 @@ :defer t)) (defun haskell/post-init-flycheck () - (add-hook 'haskell-mode-hook 'flycheck-mode)) + (spacemacs/add-flycheck-hook 'haskell-mode)) (when (configuration-layer/layer-usedp 'syntax-checking) (defun haskell/init-flycheck-haskell () diff --git a/layers/+lang/html/packages.el b/layers/+lang/html/packages.el index f1155a21e..5e568095b 100644 --- a/layers/+lang/html/packages.el +++ b/layers/+lang/html/packages.el @@ -97,13 +97,8 @@ (add-hook 'web-mode-hook 'evil-matchit-mode)) (defun html/post-init-flycheck () - (spacemacs/add-to-hooks 'flycheck-mode '(haml-mode-hook - jade-mode-hook - less-mode-hook - sass-mode-hook - scss-mode-hook - slim-mode-hook - web-mode-hook))) + (dolist (mode '(haml-mode jade-mode less-mode sass-mode scss-mode slim-mode web-mode)) + (spacemacs/add-flycheck-hook mode))) (defun html/init-haml-mode () (use-package haml-mode diff --git a/layers/+lang/javascript/packages.el b/layers/+lang/javascript/packages.el index 525456b65..06a11fcc8 100644 --- a/layers/+lang/javascript/packages.el +++ b/layers/+lang/javascript/packages.el @@ -55,9 +55,8 @@ (push 'company-tern company-backends-js2-mode)))) (defun javascript/post-init-flycheck () - (add-hook 'coffee-mode-hook 'flycheck-mode) - (add-hook 'js2-mode-hook 'flycheck-mode) - (add-hook 'json-mode-hook 'flycheck-mode)) + (dolist (mode '(coffee-mode js2-mode json-mode)) + (spacemacs/add-flycheck-hook mode))) (defun javascript/init-js-doc () (use-package js-doc diff --git a/layers/+lang/latex/packages.el b/layers/+lang/latex/packages.el index 7a18da505..b291a83d0 100644 --- a/layers/+lang/latex/packages.el +++ b/layers/+lang/latex/packages.el @@ -102,7 +102,7 @@ (add-hook 'LaTeX-mode-hook 'evil-matchit-mode)) (defun latex/post-init-flycheck () - (add-hook 'LaTeX-mode-hook 'flycheck-mode)) + (spacemacs/add-flycheck-hook 'LaTeX-mode)) (defun latex/post-init-flyspell () (add-hook 'LaTeX-mode-hook 'flyspell-mode)) diff --git a/layers/+lang/lua/packages.el b/layers/+lang/lua/packages.el index 7bc4ac6e8..cf7b7b849 100644 --- a/layers/+lang/lua/packages.el +++ b/layers/+lang/lua/packages.el @@ -6,7 +6,7 @@ )) (defun lua/post-init-flycheck () - (add-hook 'lua-mode-hook 'flycheck-mode)) + (spacemacs/add-flycheck-hook 'lua-mode)) (defun lua/init-lua-mode () (use-package lua-mode diff --git a/layers/+lang/nim/extensions.el b/layers/+lang/nim/extensions.el index 1b6c27210..4c62622a4 100644 --- a/layers/+lang/nim/extensions.el +++ b/layers/+lang/nim/extensions.el @@ -6,6 +6,6 @@ '(flycheck-nim)) (defun nim/init-flycheck-nim () - (add-hook 'nim-mode-hook 'flycheck-mode) + (spacemacs/add-flycheck-hook 'nim-mode) (use-package flycheck-nim :if (configuration-layer/layer-usedp 'syntax-checking))) diff --git a/layers/+lang/ocaml/packages.el b/layers/+lang/ocaml/packages.el index 11c4feae5..7c6cdc732 100644 --- a/layers/+lang/ocaml/packages.el +++ b/layers/+lang/ocaml/packages.el @@ -30,7 +30,7 @@ (when (configuration-layer/layer-usedp 'syntax-checking) (defun ocaml/post-init-flycheck () - (add-hook 'merlin-mode-hook 'flycheck-mode)) + (spacemacs/add-flycheck-hook 'merlin-mode)) (defun ocaml/init-flycheck-ocaml () (use-package flycheck-ocaml :if (configuration-layer/package-usedp 'flycheck) diff --git a/layers/+lang/python/packages.el b/layers/+lang/python/packages.el index 4329ddf5c..5dbc40f5e 100644 --- a/layers/+lang/python/packages.el +++ b/layers/+lang/python/packages.el @@ -262,7 +262,7 @@ (add-hook `python-mode-hook `turn-on-evil-matchit-mode)) (defun python/post-init-flycheck () - (add-hook 'python-mode-hook 'flycheck-mode)) + (spacemacs/add-flycheck-hook 'python-mode)) (defun python/init-hy-mode () (use-package hy-mode diff --git a/layers/+lang/ruby/packages.el b/layers/+lang/ruby/packages.el index f564f9c49..90a7b93f5 100644 --- a/layers/+lang/ruby/packages.el +++ b/layers/+lang/ruby/packages.el @@ -61,7 +61,7 @@ (defun ruby/post-init-flycheck () - (add-hook 'enh-ruby-mode-hook 'flycheck-mode)) + (spacemacs/add-flycheck-hook 'enh-ruby-mode)) (defun ruby/init-ruby-tools () (use-package ruby-tools diff --git a/layers/+lang/rust/packages.el b/layers/+lang/rust/packages.el index d58c43664..461b78c20 100644 --- a/layers/+lang/rust/packages.el +++ b/layers/+lang/rust/packages.el @@ -22,7 +22,7 @@ )) (defun rust/post-init-flycheck () - (add-hook 'rust-mode-hook 'flycheck-mode)) + (spacemacs/add-flycheck-hook 'rust-mode)) (when (configuration-layer/layer-usedp 'syntax-checking) (defun rust/init-flycheck-rust () diff --git a/layers/spell-checking/README.org b/layers/spell-checking/README.org index aa424b830..287dab6a0 100644 --- a/layers/spell-checking/README.org +++ b/layers/spell-checking/README.org @@ -5,16 +5,14 @@ - [[#install][Install]] - [[#layer][Layer]] - [[#spell-checker-configuration][Spell Checker Configuration]] + - [[#disabling-by-default][Disabling by default]] - [[#key-bindings][Key Bindings]] * Description - This layer provides spell checking using [[http://www-sop.inria.fr/members/Manuel.Serrano/flyspell/flyspell.html][Flyspell]]. * Install - ** Layer - To use this configuration layer add it to your =~/.spacemacs= #+BEGIN_SRC emacs-lisp @@ -22,7 +20,6 @@ To use this configuration layer add it to your =~/.spacemacs= #+END_SRC ** Spell Checker Configuration - The built-in Emacs variable that controls which external spell-checking program is used is =ispell-program-name=, which can be set in your =dotspacemacs/user-init= function if you do not like the default. It will give @@ -31,6 +28,15 @@ variable to be aware of is =ispell-dictionary= which will control the default dictionary used by =ispell-program-name= (instead of using this variable you can also use the key binding ~SPC S d~). +** Disabling by default +By default, spell-checking is enabled in all available major modes and may be +toggled off with ~SPC t S~. You can default this to off by setting the variable +=spell-checking-enable-by-default= to =nil=: + +#+BEGIN_SRC emacs-lisp +(setq-default dotspacemacs-configuration-layers + '((spell-checking :variables spell-checking-enable-by-default nil))) +#+END_SRC * Key Bindings diff --git a/layers/spell-checking/config.el b/layers/spell-checking/config.el index 96aa60a7f..0e1ba29c5 100644 --- a/layers/spell-checking/config.el +++ b/layers/spell-checking/config.el @@ -15,3 +15,6 @@ ;; Command Prefixes (spacemacs/declare-prefix "S" "spelling") + +(defvar spell-checking-enable-by-default t + "Enable spell checking by default.") diff --git a/layers/spell-checking/funcs.el b/layers/spell-checking/funcs.el new file mode 100644 index 000000000..1a08d6f08 --- /dev/null +++ b/layers/spell-checking/funcs.el @@ -0,0 +1,18 @@ +;;; funcs.el --- Spell Checking Layer functions File for Spacemacs +;; +;; Copyright (c) 2012-2014 Sylvain Benner +;; Copyright (c) 2014-2015 Sylvain Benner & Contributors +;; +;; Author: Sylvain Benner +;; URL: https://github.com/syl20bnr/spacemacs +;; +;; This file is not part of GNU Emacs. +;; +;;; License: GPLv3 + +(defun spacemacs/add-flyspell-hook (mode &optional target) + "Enable flyspell for the given MODE, if +`spell-checking-enable-by-default' is true." + (when spell-checking-enable-by-default + (let ((mode-hook (intern (format "%S-hook" mode)))) + (add-hook mode-hook 'flyspell-mode)))) diff --git a/layers/spell-checking/packages.el b/layers/spell-checking/packages.el index c7e63069c..1de23d3dc 100644 --- a/layers/spell-checking/packages.el +++ b/layers/spell-checking/packages.el @@ -21,9 +21,9 @@ :defer t :init (progn - (add-hook 'markdown-mode-hook 'flyspell-mode) - (add-hook 'org-mode-hook 'flyspell-mode) - (add-hook 'text-mode-hook 'flyspell-mode) + (spacemacs/add-flyspell-hook 'markdown-mode) + (spacemacs/add-flyspell-hook 'org-mode) + (spacemacs/add-flyspell-hook 'text-mode) (spacemacs|add-toggle spelling-checking :status flyspell-mode :on (flyspell-mode) @@ -36,7 +36,8 @@ "Sn" 'flyspell-goto-next-error)) :config (progn - (flyspell-prog-mode) + (when spell-checking-enable-by-default + (flyspell-prog-mode)) (spacemacs|diminish flyspell-mode " Ⓢ" " S")))) (defun spell-checking/init-helm-flyspell () diff --git a/layers/syntax-checking/README.org b/layers/syntax-checking/README.org index bd663e459..53cec486a 100644 --- a/layers/syntax-checking/README.org +++ b/layers/syntax-checking/README.org @@ -7,16 +7,14 @@ - [[#install][Install]] - [[#layer][Layer]] - [[#enablingdisabling-tooltips][Enabling/Disabling tooltips]] + - [[#disabling-by-default][Disabling by default]] - [[#key-bindings][Key Bindings]] * Description - This layer provides on the fly syntax checking using [[http://www.flycheck.org/][Flycheck]]. * Install - ** Layer - To use this configuration layer add it to your =~/.spacemacs= #+BEGIN_SRC emacs-lisp @@ -24,7 +22,6 @@ To use this configuration layer add it to your =~/.spacemacs= #+END_SRC ** Enabling/Disabling tooltips - By default tooltips are enabled and used whenever it is possible. You can disable them by setting the variable =syntax-checking-enable-tooltips= to =nil=: @@ -34,6 +31,15 @@ to =nil=: '((syntax-checking :variables syntax-checking-enable-tooltips nil))) #+END_SRC +** Disabling by default +By default, syntax-checking is enabled in all available major modes and may be +toggled off with ~SPC t s~. You can default this to off by setting the variable +=syntax-checking-enable-by-default= to =nil=: + +#+BEGIN_SRC emacs-lisp +(setq-default dotspacemacs-configuration-layers + '((syntax-checking :variables syntax-checking-enable-by-default nil))) +#+END_SRC * Key Bindings diff --git a/layers/syntax-checking/config.el b/layers/syntax-checking/config.el index a23f3bb2b..1521e68de 100644 --- a/layers/syntax-checking/config.el +++ b/layers/syntax-checking/config.el @@ -15,5 +15,8 @@ (defvar syntax-checking-enable-tooltips t "If non nil some feedback are displayed in tooltips.") +(defvar syntax-checking-enable-by-default t + "Enable syntax-checking by default.") + ;; Command Prefixes diff --git a/layers/syntax-checking/funcs.el b/layers/syntax-checking/funcs.el new file mode 100644 index 000000000..877640973 --- /dev/null +++ b/layers/syntax-checking/funcs.el @@ -0,0 +1,18 @@ +;;; funcs.el --- Syntax Checking Layer functions File for Spacemacs +;; +;; Copyright (c) 2012-2014 Sylvain Benner +;; Copyright (c) 2014-2015 Sylvain Benner & Contributors +;; +;; Author: Sylvain Benner +;; URL: https://github.com/syl20bnr/spacemacs +;; +;; This file is not part of GNU Emacs. +;; +;;; License: GPLv3 + +(defun spacemacs/add-flycheck-hook (mode &optional target) + "Enable flycheck for the given MODE, if +`syntax-checking-enable-by-default' is true." + (when syntax-checking-enable-by-default + (let ((mode-hook (intern (format "%S-hook" mode)))) + (add-hook mode-hook 'flycheck-mode))))