[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
feature/use-package 141fe8b8273: use-package: Improve :mode keyword docu
From: |
Stefan Kangas |
Subject: |
feature/use-package 141fe8b8273: use-package: Improve :mode keyword documentation |
Date: |
Wed, 7 Dec 2022 23:28:25 -0500 (EST) |
branch: feature/use-package
commit 141fe8b827399057e2f854cd5e6b0c148c5fe12b
Author: Stefan Kangas <stefankangas@gmail.com>
Commit: Stefan Kangas <stefankangas@gmail.com>
use-package: Improve :mode keyword documentation
* doc/misc/use-package.texi (Modes and interpreters): Improve
section and document the use of a list of regexps.
Resolves https://github.com/jwiegley/use-package/issues/996
---
doc/misc/use-package.texi | 26 +++++++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/doc/misc/use-package.texi b/doc/misc/use-package.texi
index 7819cb250d0..c1cc22808e6 100644
--- a/doc/misc/use-package.texi
+++ b/doc/misc/use-package.texi
@@ -1064,19 +1064,43 @@ Similar to @code{:bind}, you can use @code{:mode} and
@code{:interpreter} to establish a deferred binding within the
@code{auto-mode-alist} and @code{interpreter-mode-alist} variables.
The specifier to either keyword can be a cons cell, a list of cons
-cells, or a string or regexp:
+cells, or a string or regexp.
+
+The following example reproduces the default @code{ruby-mode}
+configuration, exactly as it is in Emacs out-of-the-box. That mode is
+enabled automatically when a file whose name matches the regexp
+@code{"\\.rb\\'"} (a file with the @samp{.rb} extension), or when the
+first line of the file (known as the ``shebang'') matches the string
+@code{"ruby"}:
@lisp
(use-package ruby-mode
:mode "\\.rb\\'"
:interpreter "ruby")
+@end lisp
+
+The default @code{python-mode} configuration can be reproduced using
+the below declaration. Note that the package that should be loaded
+differs from the mode name in this case, so we must use a cons:
+@lisp
;; The package is "python" but the mode is "python-mode":
(use-package python
:mode ("\\.py\\'" . python-mode)
:interpreter ("python" . python-mode))
@end lisp
+Both the @code{:mode} and @code{:interpreter} keywords also accept a
+list of regexps:
+
+@lisp
+(use-package foo
+ ;; Equivalent to "\\(ba[rz]\\)\\'":
+ :mode ("\\.bar\\'" "\\.baz\\'")
+ ;; Equivalent to "\\(foo[ab]\\)":
+ :interpreter ("fooa" "foob"))
+@end lisp
+
@node Magic handlers
@section Magic handlers
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- feature/use-package 141fe8b8273: use-package: Improve :mode keyword documentation,
Stefan Kangas <=