update packages ; install org-super-agenda into org-mode profile

This commit is contained in:
KemoNine 2022-09-13 15:06:22 -04:00
parent d66bbc5052
commit c73ab93edc
410 changed files with 62096 additions and 5055 deletions

View File

@ -1,6 +1,6 @@
(define-package "all-the-icons" "20220801.1541" "A library for inserting Developer icons" (define-package "all-the-icons" "20220823.1719" "A library for inserting Developer icons"
'((emacs "24.3")) '((emacs "24.3"))
:commit "6f876fa11ef64af20d9b2a44fdabac6446de51ba" :authors :commit "4a4d6269b8b85b0b15954f063e6ce378630d80c0" :authors
'(("Dominic Charlesworth" . "dgc336@gmail.com")) '(("Dominic Charlesworth" . "dgc336@gmail.com"))
:maintainer :maintainer
'("Dominic Charlesworth" . "dgc336@gmail.com") '("Dominic Charlesworth" . "dgc336@gmail.com")

View File

@ -445,6 +445,8 @@ for performance sake.")
("^Makefile$" all-the-icons-fileicon "gnu" :face all-the-icons-dorange) ("^Makefile$" all-the-icons-fileicon "gnu" :face all-the-icons-dorange)
("^CMakeLists.txt$" all-the-icons-fileicon "cmake" :face all-the-icons-red) ("^CMakeLists.txt$" all-the-icons-fileicon "cmake" :face all-the-icons-red)
("^CMakeCache.txt$" all-the-icons-fileicon "cmake" :face all-the-icons-blue) ("^CMakeCache.txt$" all-the-icons-fileicon "cmake" :face all-the-icons-blue)
("^meson.build$" all-the-icons-fileicon "meson" :face all-the-icons-purple)
("^meson_options.txt$" all-the-icons-fileicon "meson" :face all-the-icons-purple)
;; Docker ;; Docker
("^\\.?Dockerfile" all-the-icons-fileicon "dockerfile" :face all-the-icons-blue) ("^\\.?Dockerfile" all-the-icons-fileicon "dockerfile" :face all-the-icons-blue)
@ -723,7 +725,8 @@ for performance sake.")
(elfeed-show-mode all-the-icons-faicon "rss" :face all-the-icons-orange) (elfeed-show-mode all-the-icons-faicon "rss" :face all-the-icons-orange)
(lilypond-mode all-the-icons-faicon "music" :face all-the-icons-green) (lilypond-mode all-the-icons-faicon "music" :face all-the-icons-green)
(magik-session-mode all-the-icons-alltheicon "terminal" :face all-the-icons-blue) (magik-session-mode all-the-icons-alltheicon "terminal" :face all-the-icons-blue)
(magik-cb-mode all-the-icons-faicon "book" :face all-the-icons-blue))) (magik-cb-mode all-the-icons-faicon "book" :face all-the-icons-blue)
(meson-mode all-the-icons-fileicon "meson" :face all-the-icons-purple)))
(defvar all-the-icons-url-alist (defvar all-the-icons-url-alist
'( '(

View File

@ -267,7 +267,7 @@
( "maya" . "\xe9f6" ) ( "maya" . "\xe9f6" )
( "mediawiki" . "\xe954" ) ( "mediawiki" . "\xe954" )
( "mercury" . "\xe994" ) ( "mercury" . "\xe994" )
( "meson" . "\xea54" ) ( "meson" . "\xeafe" )
( "metal" . "\x4d" ) ( "metal" . "\x4d" )
( "meteor" . "\xe6a5" ) ( "meteor" . "\xe6a5" )
( "microsoft-infopath" . "\xea35" ) ( "microsoft-infopath" . "\xea35" )

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
;;; async-bytecomp.el --- Compile elisp files asynchronously -*- lexical-binding: t -*- ;;; async-bytecomp.el --- Compile elisp files asynchronously -*- lexical-binding: t -*-
;; Copyright (C) 2014-2019 Free Software Foundation, Inc. ;; Copyright (C) 2014-2022 Free Software Foundation, Inc.
;; Authors: John Wiegley <jwiegley@gmail.com> ;; Authors: John Wiegley <jwiegley@gmail.com>
;; Thierry Volpiatto <thievol@posteo.net> ;; Thierry Volpiatto <thievol@posteo.net>

View File

@ -1,6 +1,6 @@
(define-package "async" "20220630.57" "Asynchronous processing in Emacs" (define-package "async" "20220820.530" "Asynchronous processing in Emacs"
'((emacs "24.4")) '((emacs "24.4"))
:commit "7f4ed1e8b44e0b88eadb2efeeaf97f32c38f14c4" :authors :commit "73f825fd739875e4b8e10d47d497df402bbb61e7" :authors
'(("John Wiegley" . "jwiegley@gmail.com")) '(("John Wiegley" . "jwiegley@gmail.com"))
:maintainer :maintainer
'("Thierry Volpiatto" . "thievol@posteo.net") '("Thierry Volpiatto" . "thievol@posteo.net")

View File

@ -1,12 +1,12 @@
;;; async.el --- Asynchronous processing in Emacs -*- lexical-binding: t -*- ;;; async.el --- Asynchronous processing in Emacs -*- lexical-binding: t -*-
;; Copyright (C) 2012-2019 Free Software Foundation, Inc. ;; Copyright (C) 2012-2022 Free Software Foundation, Inc.
;; Author: John Wiegley <jwiegley@gmail.com> ;; Author: John Wiegley <jwiegley@gmail.com>
;; Maintainer: Thierry Volpiatto <thievol@posteo.net> ;; Maintainer: Thierry Volpiatto <thievol@posteo.net>
;; Created: 18 Jun 2012 ;; Created: 18 Jun 2012
;; Version: 1.9.5 ;; Version: 1.9.6
;; Package-Requires: ((emacs "24.4")) ;; Package-Requires: ((emacs "24.4"))
;; Keywords: async ;; Keywords: async
@ -36,7 +36,7 @@
(defgroup async nil (defgroup async nil
"Simple asynchronous processing in Emacs" "Simple asynchronous processing in Emacs"
:group 'emacs) :group 'lisp)
(defcustom async-variables-noprops-function #'async--purecopy (defcustom async-variables-noprops-function #'async--purecopy
"Default function to remove text properties in variables." "Default function to remove text properties in variables."
@ -230,19 +230,17 @@ It is intended to be used as follows:
"Called from the child Emacs process' command line." "Called from the child Emacs process' command line."
;; Make sure 'message' and 'prin1' encode stuff in UTF-8, as parent ;; Make sure 'message' and 'prin1' encode stuff in UTF-8, as parent
;; process expects. ;; process expects.
(let ((coding-system-for-write 'utf-8-auto)) (let ((coding-system-for-write 'utf-8-auto)
(args-left command-line-args-left))
(setq async-in-child-emacs t (setq async-in-child-emacs t
debug-on-error async-debug) debug-on-error async-debug
(if debug-on-error command-line-args-left nil)
(condition-case-unless-debug err
(prin1 (funcall (prin1 (funcall
(async--receive-sexp (unless async-send-over-pipe (async--receive-sexp (unless async-send-over-pipe
command-line-args-left)))) args-left))))
(condition-case err (error
(prin1 (funcall (prin1 (list 'async-signal err))))))
(async--receive-sexp (unless async-send-over-pipe
command-line-args-left))))
(error
(prin1 (list 'async-signal err)))))))
(defun async-ready (future) (defun async-ready (future)
"Query a FUTURE to see if it is ready. "Query a FUTURE to see if it is ready.

View File

@ -68,6 +68,19 @@ Should take same args as `message'."
:risky t :risky t
:type 'sexp) :type 'sexp)
(defcustom dired-async-skip-fast t
"If non-nil, skip async for fast operations.
Same device renames and copying and renaming files smaller than
`dired-async-small-file-max' are considered fast."
:risky t
:type 'bool)
(defcustom dired-async-small-file-max 5000000
"Files smaller than this in bytes are considered fast to copy
or rename for `dired-async-skip-fast'."
:risky t
:type 'int)
(defface dired-async-message (defface dired-async-message
'((t (:foreground "yellow"))) '((t (:foreground "yellow")))
"Face used for mode-line message.") "Face used for mode-line message.")
@ -174,6 +187,50 @@ Should take same args as `message'."
(buffer-name b)) b)))) (buffer-name b)) b))))
(when buf (kill-buffer buf)))))) (when buf (kill-buffer buf))))))
(defsubst dired-async--directory-p (attributes)
"Return non-nil if ATTRIBUTES is for a directory.
See `file-attributes'."
;; Can also be a string for symlinks, so check for t explicitly.
(eq (file-attribute-type attributes) t))
(defsubst dired-async--same-device-p (f1 f2)
"Return non-nil if F1 and F2 have the same device number."
(= (file-attribute-device-number (file-attributes f1))
(file-attribute-device-number (file-attributes f2))))
(defun dired-async--small-file-p (file)
"Return non-nil if FILE is small (can create quickly)."
(let ((a (file-attributes file)))
;; Directories are always large since we can't easily figure out
;; their total size.
(and (not (dired-async--directory-p a))
(< (file-attribute-size a) dired-async-small-file-max))))
(defun dired-async--skip-async-p (file-creator file name-constructor)
"Return non-nil if we should skip async for FILE.
See `dired-create-files' for FILE-CREATOR and NAME-CONSTRUCTOR."
;; Skip async for small files.
(or (dired-async--small-file-p file)
;; Also skip async for same device renames.
(and (eq file-creator 'dired-rename-file)
(let ((new (funcall name-constructor file)))
(dired-async--same-device-p file (file-name-directory new))))))
(defun dired-async--smart-create-files (old-func file-creator operation fn-list name-constructor
&optional marker-char)
"Around advice for `dired-create-files'.
Uses async like `dired-async-create-files' but skips certain fast
cases if `dired-async-skip-fast' is non-nil."
(let (async-list quick-list)
(dolist (old fn-list)
(if (dired-async--skip-async-p file-creator old name-constructor)
(push old quick-list)
(push old async-list)))
(when async-list
(dired-async-create-files file-creator operation (nreverse async-list) name-constructor marker-char))
(when quick-list
(funcall old-func file-creator operation (nreverse quick-list) name-constructor marker-char))))
(defvar overwrite-query) (defvar overwrite-query)
(defun dired-async-create-files (file-creator operation fn-list name-constructor (defun dired-async-create-files (file-creator operation fn-list name-constructor
&optional _marker-char) &optional _marker-char)
@ -340,10 +397,10 @@ ESC or `q' to not overwrite any of the remaining files,
:global t :global t
(if dired-async-mode (if dired-async-mode
(progn (progn
(advice-add 'dired-create-files :override #'dired-async-create-files) (advice-add 'dired-create-files :around #'dired-async--smart-create-files)
(advice-add 'wdired-do-renames :around #'dired-async-wdired-do-renames)) (advice-add 'wdired-do-renames :around #'dired-async-wdired-do-renames))
(progn (progn
(advice-remove 'dired-create-files #'dired-async-create-files) (advice-remove 'dired-create-files #'dired-async--smart-create-files)
(advice-remove 'wdired-do-renames #'dired-async-wdired-do-renames)))) (advice-remove 'wdired-do-renames #'dired-async-wdired-do-renames))))
(defmacro dired-async--with-async-create-files (&rest body) (defmacro dired-async--with-async-create-files (&rest body)

View File

@ -1,6 +1,6 @@
;;; smtpmail-async.el --- Send e-mail with smtpmail.el asynchronously -*- lexical-binding: t -*- ;;; smtpmail-async.el --- Send e-mail with smtpmail.el asynchronously -*- lexical-binding: t -*-
;; Copyright (C) 2012-2016 Free Software Foundation, Inc. ;; Copyright (C) 2012-2022 Free Software Foundation, Inc.
;; Author: John Wiegley <jwiegley@gmail.com> ;; Author: John Wiegley <jwiegley@gmail.com>
;; Created: 18 Jun 2012 ;; Created: 18 Jun 2012

View File

@ -1,84 +0,0 @@
;;; bind-key-autoloads.el --- automatically extracted autoloads -*- lexical-binding: t -*-
;;
;;; Code:
(add-to-list 'load-path (directory-file-name
(or (file-name-directory #$) (car load-path))))
;;;### (autoloads nil "bind-key" "bind-key.el" (0 0 0 0))
;;; Generated autoloads from bind-key.el
(autoload 'bind-key "bind-key" "\
Bind KEY-NAME to COMMAND in KEYMAP (`global-map' if not passed).
KEY-NAME may be a vector, in which case it is passed straight to
`define-key'. Or it may be a string to be interpreted as
spelled-out keystrokes, e.g., \"C-c C-z\". See documentation of
`edmacro-mode' for details.
COMMAND must be an interactive function or lambda form.
KEYMAP, if present, should be a keymap variable or symbol.
For example:
(bind-key \"M-h\" #'some-interactive-function my-mode-map)
(bind-key \"M-h\" #'some-interactive-function 'my-mode-map)
If PREDICATE is non-nil, it is a form evaluated to determine when
a key should be bound. It must return non-nil in such cases.
Emacs can evaluate this form at any time that it does redisplay
or operates on menu data structures, so you should write it so it
can safely be called at any time.
\(fn KEY-NAME COMMAND &optional KEYMAP PREDICATE)" nil t)
(autoload 'unbind-key "bind-key" "\
Unbind the given KEY-NAME, within the KEYMAP (if specified).
See `bind-key' for more details.
\(fn KEY-NAME &optional KEYMAP)" nil t)
(autoload 'bind-key* "bind-key" "\
Similar to `bind-key', but overrides any mode-specific bindings.
\(fn KEY-NAME COMMAND &optional PREDICATE)" nil t)
(autoload 'bind-keys "bind-key" "\
Bind multiple keys at once.
Accepts keyword arguments:
:map MAP - a keymap into which the keybindings should be
added
:prefix KEY - prefix key for these bindings
:prefix-map MAP - name of the prefix map that should be created
for these bindings
:prefix-docstring STR - docstring for the prefix-map variable
:menu-name NAME - optional menu string for prefix map
:filter FORM - optional form to determine when bindings apply
The rest of the arguments are conses of keybinding string and a
function symbol (unquoted).
\(fn &rest ARGS)" nil t)
(autoload 'bind-keys* "bind-key" "\
\(fn &rest ARGS)" nil t)
(autoload 'describe-personal-keybindings "bind-key" "\
Display all the personal keybindings defined by `bind-key'." t nil)
(register-definition-prefixes "bind-key" '("bind-key" "compare-keybindings" "get-binding-description" "override-global-m" "personal-keybindings"))
;;;***
;; Local Variables:
;; version-control: never
;; no-byte-compile: t
;; no-update-autoloads: t
;; coding: utf-8
;; End:
;;; bind-key-autoloads.el ends here

View File

@ -1,2 +0,0 @@
;;; Generated package description from bind-key.el -*- no-byte-compile: t -*-
(define-package "bind-key" "20210210.1609" "A simple way to manage personal keybindings" 'nil :commit "a7422fb8ab1baee19adb2717b5b47b9c3812a84c" :authors '(("John Wiegley" . "johnw@newartisans.com")) :maintainer '("John Wiegley" . "johnw@newartisans.com") :keywords '("keys" "keybinding" "config" "dotemacs") :url "https://github.com/jwiegley/use-package")

View File

@ -22,9 +22,9 @@ COMMAND must be an interactive function or lambda form.
KEYMAP, if present, should be a keymap variable or symbol. KEYMAP, if present, should be a keymap variable or symbol.
For example: For example:
(bind-key \"M-h\" #'some-interactive-function my-mode-map) (bind-key \"M-h\" #\\='some-interactive-function my-mode-map)
(bind-key \"M-h\" #'some-interactive-function \\='my-mode-map) (bind-key \"M-h\" #\\='some-interactive-function \\='my-mode-map)
If PREDICATE is non-nil, it is a form evaluated to determine when If PREDICATE is non-nil, it is a form evaluated to determine when
a key should be bound. It must return non-nil in such cases. a key should be bound. It must return non-nil in such cases.

View File

@ -1,2 +1,2 @@
;;; Generated package description from bind-key.el -*- no-byte-compile: t -*- ;;; Generated package description from bind-key.el -*- no-byte-compile: t -*-
(define-package "bind-key" "20220815.1925" "A simple way to manage personal keybindings" 'nil :commit "e2d173b1200865a9efd5c2066831a230497582c0" :authors '(("John Wiegley" . "johnw@newartisans.com")) :maintainer '("John Wiegley" . "johnw@newartisans.com") :keywords '("keys" "keybinding" "config" "dotemacs") :url "https://github.com/jwiegley/use-package") (define-package "bind-key" "20220910.2157" "A simple way to manage personal keybindings" 'nil :commit "9a45a8004a9e520e0e822b960ca9d70c2528181e" :authors '(("John Wiegley" . "johnw@newartisans.com")) :maintainer '("John Wiegley" . "johnw@newartisans.com") :keywords '("keys" "keybinding" "config" "dotemacs") :url "https://github.com/jwiegley/use-package")

View File

@ -7,8 +7,8 @@
;; Created: 16 Jun 2012 ;; Created: 16 Jun 2012
;; Modified: 29 Nov 2017 ;; Modified: 29 Nov 2017
;; Version: 2.4 ;; Version: 2.4
;; Package-Version: 20220815.1925 ;; Package-Version: 20220910.2157
;; Package-Commit: e2d173b1200865a9efd5c2066831a230497582c0 ;; Package-Commit: 9a45a8004a9e520e0e822b960ca9d70c2528181e
;; Keywords: keys keybinding config dotemacs ;; Keywords: keys keybinding config dotemacs
;; URL: https://github.com/jwiegley/use-package ;; URL: https://github.com/jwiegley/use-package
@ -160,9 +160,9 @@ COMMAND must be an interactive function or lambda form.
KEYMAP, if present, should be a keymap variable or symbol. KEYMAP, if present, should be a keymap variable or symbol.
For example: For example:
(bind-key \"M-h\" #'some-interactive-function my-mode-map) (bind-key \"M-h\" #\\='some-interactive-function my-mode-map)
(bind-key \"M-h\" #'some-interactive-function \\='my-mode-map) (bind-key \"M-h\" #\\='some-interactive-function \\='my-mode-map)
If PREDICATE is non-nil, it is a form evaluated to determine when If PREDICATE is non-nil, it is a form evaluated to determine when
a key should be bound. It must return non-nil in such cases. a key should be bound. It must return non-nil in such cases.

View File

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

View File

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

@ -1,6 +1,6 @@
(define-package "dashboard" "20220717.905" "A startup screen extracted from Spacemacs" (define-package "dashboard" "20220907.759" "A startup screen extracted from Spacemacs"
'((emacs "26.1")) '((emacs "26.1"))
:commit "36c8da41bca977707c42bd9b13cdf39380b957d7" :authors :commit "02c350d7a767f577c8cccee84904c423f86fae54" :authors
'(("Rakan Al-Hneiti" . "rakan.alhneiti@gmail.com")) '(("Rakan Al-Hneiti" . "rakan.alhneiti@gmail.com"))
:maintainer :maintainer
'("Jesús Martínez" . "jesusmartinez93@gmail.com") '("Jesús Martínez" . "jesusmartinez93@gmail.com")

View File

@ -174,6 +174,8 @@ Example:
(setq package-count (length package-activated-list))) (setq package-count (length package-activated-list)))
(when (boundp 'straight--profile-cache) (when (boundp 'straight--profile-cache)
(setq package-count (+ (hash-table-count straight--profile-cache) package-count))) (setq package-count (+ (hash-table-count straight--profile-cache) package-count)))
(when (fboundp 'elpaca--queued)
(setq package-count (length (elpaca--queued))))
(if (zerop package-count) (if (zerop package-count)
(format "Emacs started in %s" time) (format "Emacs started in %s" time)
(format "%d packages loaded in %s" package-count time)))) (format "%d packages loaded in %s" package-count time))))

View File

@ -1,2 +0,0 @@
;;; Generated package description from diminish.el -*- no-byte-compile: t -*-
(define-package "diminish" "20220104.1539" "Diminished modes are minor modes with no modeline display" '((emacs "24.3")) :commit "6b7e837b0cf0129e9d7d6abae48093cf599bb9e8" :authors '(("Will Mengarini" . "seldon@eskimo.com")) :maintainer '("Martin Yrjölä" . "martin.yrjola@gmail.com") :keywords '("extensions" "diminish" "minor" "codeprose") :url "https://github.com/myrjola/diminish.el")

View File

@ -16,7 +16,7 @@ Interactively, enter (with completion) the name of any minor mode, followed
on the next line by what you want it diminished to (default empty string). on the next line by what you want it diminished to (default empty string).
The response to neither prompt should be quoted. However, in Lisp code, The response to neither prompt should be quoted. However, in Lisp code,
both args must be quoted, the first as a symbol, the second as a string, both args must be quoted, the first as a symbol, the second as a string,
as in (diminish 'jiggle-mode \" Jgl\"). as in (diminish \\='jiggle-mode \" Jgl\").
The mode-line displays of minor modes usually begin with a space, so The mode-line displays of minor modes usually begin with a space, so
the modes' names appear as separate words on the mode line. However, if the modes' names appear as separate words on the mode line. However, if
@ -36,7 +36,7 @@ Interactively, enter (with completion) the name of any diminished mode (a
mode that was formerly a minor mode on which you invoked \\[diminish]). mode that was formerly a minor mode on which you invoked \\[diminish]).
To restore all diminished modes to minor status, answer `diminished-modes'. To restore all diminished modes to minor status, answer `diminished-modes'.
The response to the prompt shouldn't be quoted. However, in Lisp code, The response to the prompt shouldn't be quoted. However, in Lisp code,
the arg must be quoted as a symbol, as in (diminish-undo 'diminished-modes). the arg must be quoted as a symbol, as in (diminish-undo \\='diminished-modes).
\(fn MODE)" t nil) \(fn MODE)" t nil)

View File

@ -0,0 +1,2 @@
;;; Generated package description from diminish.el -*- no-byte-compile: t -*-
(define-package "diminish" "20220909.847" "Diminished modes are minor modes with no modeline display" '((emacs "24.3")) :commit "fbd5d846611bad828e336b25d2e131d1bc06b83d" :authors '(("Will Mengarini" . "seldon@eskimo.com")) :maintainer '("Martin Yrjölä" . "martin.yrjola@gmail.com") :keywords '("extensions" "diminish" "minor" "codeprose") :url "https://github.com/myrjola/diminish.el")

View File

@ -5,8 +5,8 @@
;; Author: Will Mengarini <seldon@eskimo.com> ;; Author: Will Mengarini <seldon@eskimo.com>
;; Maintainer: Martin Yrjölä <martin.yrjola@gmail.com> ;; Maintainer: Martin Yrjölä <martin.yrjola@gmail.com>
;; URL: https://github.com/myrjola/diminish.el ;; URL: https://github.com/myrjola/diminish.el
;; Package-Version: 20220104.1539 ;; Package-Version: 20220909.847
;; Package-Commit: 6b7e837b0cf0129e9d7d6abae48093cf599bb9e8 ;; Package-Commit: fbd5d846611bad828e336b25d2e131d1bc06b83d
;; Created: Th 19 Feb 98 ;; Created: Th 19 Feb 98
;; Version: 0.46 ;; Version: 0.46
;; Package-Requires: ((emacs "24.3")) ;; Package-Requires: ((emacs "24.3"))
@ -159,7 +159,7 @@ Interactively, enter (with completion) the name of any minor mode, followed
on the next line by what you want it diminished to (default empty string). on the next line by what you want it diminished to (default empty string).
The response to neither prompt should be quoted. However, in Lisp code, The response to neither prompt should be quoted. However, in Lisp code,
both args must be quoted, the first as a symbol, the second as a string, both args must be quoted, the first as a symbol, the second as a string,
as in (diminish 'jiggle-mode \" Jgl\"). as in (diminish \\='jiggle-mode \" Jgl\").
The mode-line displays of minor modes usually begin with a space, so The mode-line displays of minor modes usually begin with a space, so
the modes' names appear as separate words on the mode line. However, if the modes' names appear as separate words on the mode line. However, if
@ -212,7 +212,7 @@ Interactively, enter (with completion) the name of any diminished mode (a
mode that was formerly a minor mode on which you invoked \\[diminish]). mode that was formerly a minor mode on which you invoked \\[diminish]).
To restore all diminished modes to minor status, answer `diminished-modes'. To restore all diminished modes to minor status, answer `diminished-modes'.
The response to the prompt shouldn't be quoted. However, in Lisp code, The response to the prompt shouldn't be quoted. However, in Lisp code,
the arg must be quoted as a symbol, as in (diminish-undo 'diminished-modes)." the arg must be quoted as a symbol, as in (diminish-undo \\='diminished-modes)."
(interactive (interactive
(list (read (completing-read (list (read (completing-read
"Restore what diminished mode: " "Restore what diminished mode: "

View File

@ -1,2 +0,0 @@
;;; Generated package description from dockerfile-mode.el -*- no-byte-compile: t -*-
(define-package "dockerfile-mode" "20220220.1439" "Major mode for editing Docker's Dockerfiles" '((emacs "24")) :commit "b63a3d12b7dea0cb9efc7f78d7ad5672ceab2a3f" :keywords '("docker") :url "https://github.com/spotify/dockerfile-mode")

View File

@ -13,9 +13,19 @@
(autoload 'dockerfile-build-buffer "dockerfile-mode" "\ (autoload 'dockerfile-build-buffer "dockerfile-mode" "\
Build an image called IMAGE-NAME based upon the buffer. Build an image called IMAGE-NAME based upon the buffer.
If prefix arg NO-CACHE is set, don't cache the image. If the prefix arg NO-CACHE is set, don't cache the image.
The build string will be of the format:
`sudo docker build --no-cache --tag IMAGE-NAME --build-args arg1.. -f filename directory` The shell command used to build the image is:
sudo docker build \\
--no-cache \\
--force-rm \\
--pull \\
--tag IMAGE-NAME \\
--build-args args \\
--progress type \\
-f filename \\
directory
\(fn IMAGE-NAME &optional NO-CACHE)" t nil) \(fn IMAGE-NAME &optional NO-CACHE)" t nil)
@ -30,7 +40,7 @@ A major mode to edit Dockerfiles.
\(fn)" t nil) \(fn)" t nil)
(add-to-list 'auto-mode-alist '("/Dockerfile\\(?:\\.[^/\\]*\\)?\\'" . dockerfile-mode)) (add-to-list 'auto-mode-alist (cons (concat "[/\\]" "\\(?:Containerfile\\|Dockerfile\\)" "\\(?:\\.[^/\\]*\\)?\\'") 'dockerfile-mode))
(add-to-list 'auto-mode-alist '("\\.dockerfile\\'" . dockerfile-mode)) (add-to-list 'auto-mode-alist '("\\.dockerfile\\'" . dockerfile-mode))

View File

@ -0,0 +1,2 @@
;;; Generated package description from dockerfile-mode.el -*- no-byte-compile: t -*-
(define-package "dockerfile-mode" "20220822.2021" "Major mode for editing Docker's Dockerfiles" '((emacs "24")) :commit "52c6c00da1d31c0b6c29c74335b3af63ed6bf06c" :keywords '("docker" "languages" "processes" "tools") :url "https://github.com/spotify/dockerfile-mode")

View File

@ -2,12 +2,12 @@
;; Copyright (c) 2013 Spotify AB ;; Copyright (c) 2013 Spotify AB
;; Package-Requires: ((emacs "24")) ;; Package-Requires: ((emacs "24"))
;; Package-Version: 20220220.1439 ;; Package-Version: 20220822.2021
;; Package-Commit: b63a3d12b7dea0cb9efc7f78d7ad5672ceab2a3f ;; Package-Commit: 52c6c00da1d31c0b6c29c74335b3af63ed6bf06c
;; Homepage: https://github.com/spotify/dockerfile-mode ;; Homepage: https://github.com/spotify/dockerfile-mode
;; URL: https://github.com/spotify/dockerfile-mode ;; URL: https://github.com/spotify/dockerfile-mode
;; Version: 1.5 ;; Version: 1.7
;; Keywords: docker ;; Keywords: docker languages processes tools
;; ;;
;; Licensed under the Apache License, Version 2.0 (the "License"); you may not ;; Licensed under the Apache License, Version 2.0 (the "License"); you may not
;; use this file except in compliance with the License. You may obtain a copy of ;; use this file except in compliance with the License. You may obtain a copy of
@ -36,7 +36,7 @@
(declare-function cygwin-convert-file-name-to-windows "cygw32.c" (file &optional absolute-p)) (declare-function cygwin-convert-file-name-to-windows "cygw32.c" (file &optional absolute-p))
(defgroup dockerfile nil (defgroup dockerfile nil
"dockerfile code editing commands for Emacs." "Dockerfile editing commands for Emacs."
:link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces)
:prefix "dockerfile-" :prefix "dockerfile-"
:group 'languages) :group 'languages)
@ -69,6 +69,11 @@ Each element of the list will be passed as a separate
:type '(repeat string) :type '(repeat string)
:group 'dockerfile) :group 'dockerfile)
(defcustom dockerfile-build-progress "auto"
"Type of --progress output (auto, plain, tty) of docker build."
:group 'dockerfile
:type 'string)
(defcustom dockerfile-use-buildkit nil (defcustom dockerfile-use-buildkit nil
"Use Docker buildkit for building images? "Use Docker buildkit for building images?
@ -178,7 +183,9 @@ file name. Otherwise, uses Emacs' standard conversion function."
(convert-standard-filename file))) (convert-standard-filename file)))
(defun dockerfile-tag-string (image-name) (defun dockerfile-tag-string (image-name)
"Return a --tag shell-quoted IMAGE-NAME string or an empty string if image-name is blank." "Return a --tag shell-quoted IMAGE-NAME string.
Returns an empty string if IMAGE-NAME is blank."
(if (string= image-name "") "" (format "--tag %s " (shell-quote-argument image-name)))) (if (string= image-name "") "" (format "--tag %s " (shell-quote-argument image-name))))
(define-obsolete-variable-alias 'docker-image-name 'dockerfile-image-name "2017-10-22") (define-obsolete-variable-alias 'docker-image-name 'dockerfile-image-name "2017-10-22")
@ -199,15 +206,25 @@ This can be set in file or directory-local variables.")
(defun dockerfile-build-buffer (image-name &optional no-cache) (defun dockerfile-build-buffer (image-name &optional no-cache)
"Build an image called IMAGE-NAME based upon the buffer. "Build an image called IMAGE-NAME based upon the buffer.
If prefix arg NO-CACHE is set, don't cache the image. If the prefix arg NO-CACHE is set, don't cache the image.
The build string will be of the format:
`sudo docker build --no-cache --tag IMAGE-NAME --build-args arg1.. -f filename directory`" The shell command used to build the image is:
sudo docker build \\
--no-cache \\
--force-rm \\
--pull \\
--tag IMAGE-NAME \\
--build-args args \\
--progress type \\
-f filename \\
directory"
(interactive (list (dockerfile-read-image-name) prefix-arg)) (interactive (list (dockerfile-read-image-name) prefix-arg))
(save-buffer) (save-buffer)
(compilation-start (compilation-start
(format (format
"%s%s%s build %s %s %s %s %s -f %s %s" "%s%s%s build %s %s %s %s %s --progress %s -f %s %s"
(if dockerfile-use-buildkit "DOCKER_BUILDKIT=1 " "") (if dockerfile-use-buildkit "DOCKER_BUILDKIT=1 " "")
(if dockerfile-use-sudo "sudo " "") (if dockerfile-use-sudo "sudo " "")
dockerfile-mode-command dockerfile-mode-command
@ -216,6 +233,7 @@ The build string will be of the format:
(if dockerfile-build-pull "--pull " "") (if dockerfile-build-pull "--pull " "")
(dockerfile-tag-string image-name) (dockerfile-tag-string image-name)
(dockerfile-build-arg-string) (dockerfile-build-arg-string)
dockerfile-build-progress
(shell-quote-argument (dockerfile-standard-filename (shell-quote-argument (dockerfile-standard-filename
(or (file-remote-p (buffer-file-name) 'localname) (or (file-remote-p (buffer-file-name) 'localname)
(buffer-file-name)))) (buffer-file-name))))
@ -248,8 +266,7 @@ returned, otherwise the base image name is used."
;;;###autoload ;;;###autoload
(define-derived-mode dockerfile-mode prog-mode "Dockerfile" (define-derived-mode dockerfile-mode prog-mode "Dockerfile"
"A major mode to edit Dockerfiles. "A major mode to edit Dockerfiles.
\\{dockerfile-mode-map} \\{dockerfile-mode-map}"
"
(set-syntax-table dockerfile-mode-syntax-table) (set-syntax-table dockerfile-mode-syntax-table)
(set (make-local-variable 'imenu-generic-expression) (set (make-local-variable 'imenu-generic-expression)
`(("Stage" dockerfile--imenu-function 1))) `(("Stage" dockerfile--imenu-function 1)))
@ -264,8 +281,11 @@ returned, otherwise the base image name is used."
(set (make-local-variable 'indent-line-function) #'dockerfile-indent-line-function)) (set (make-local-variable 'indent-line-function) #'dockerfile-indent-line-function))
;;;###autoload ;;;###autoload
(add-to-list 'auto-mode-alist '("/Dockerfile\\(?:\\.[^/\\]*\\)?\\'" . (add-to-list 'auto-mode-alist
dockerfile-mode)) (cons (concat "[/\\]"
"\\(?:Containerfile\\|Dockerfile\\)"
"\\(?:\\.[^/\\]*\\)?\\'")
'dockerfile-mode))
;;;###autoload ;;;###autoload
(add-to-list 'auto-mode-alist '("\\.dockerfile\\'" . dockerfile-mode)) (add-to-list 'auto-mode-alist '("\\.dockerfile\\'" . dockerfile-mode))

View File

@ -15,47 +15,6 @@ If DEFAULT is non-nil, set the default mode-line for all buffers.
\(fn &optional DEFAULT)" nil nil) \(fn &optional DEFAULT)" nil nil)
(autoload 'doom-modeline-set-minimal-modeline "doom-modeline" "\
Set minimal mode-line." nil nil)
(autoload 'doom-modeline-set-special-modeline "doom-modeline" "\
Set special mode-line." nil nil)
(autoload 'doom-modeline-set-project-modeline "doom-modeline" "\
Set project mode-line." nil nil)
(autoload 'doom-modeline-set-dashboard-modeline "doom-modeline" "\
Set dashboard mode-line." nil nil)
(autoload 'doom-modeline-set-vcs-modeline "doom-modeline" "\
Set vcs mode-line." nil nil)
(autoload 'doom-modeline-set-info-modeline "doom-modeline" "\
Set Info mode-line." nil nil)
(autoload 'doom-modeline-set-package-modeline "doom-modeline" "\
Set package mode-line." nil nil)
(autoload 'doom-modeline-set-media-modeline "doom-modeline" "\
Set media mode-line." nil nil)
(autoload 'doom-modeline-set-message-modeline "doom-modeline" "\
Set message mode-line." nil nil)
(autoload 'doom-modeline-set-pdf-modeline "doom-modeline" "\
Set pdf mode-line." nil nil)
(autoload 'doom-modeline-set-org-src-modeline "doom-modeline" "\
Set org-src mode-line." nil nil)
(autoload 'doom-modeline-set-helm-modeline "doom-modeline" "\
Set helm mode-line.
\(fn &rest _)" nil nil)
(autoload 'doom-modeline-set-timemachine-modeline "doom-modeline" "\
Set timemachine mode-line." nil nil)
(defvar doom-modeline-mode nil "\ (defvar doom-modeline-mode nil "\
Non-nil if Doom-Modeline mode is enabled. Non-nil if Doom-Modeline mode is enabled.
See the `doom-modeline-mode' command See the `doom-modeline-mode' command
@ -85,7 +44,7 @@ it is disabled.
\(fn &optional ARG)" t nil) \(fn &optional ARG)" t nil)
(register-definition-prefixes "doom-modeline" '("doom-modeline-mode-map")) (register-definition-prefixes "doom-modeline" '("doom-modeline-"))
;;;*** ;;;***

View File

@ -529,6 +529,13 @@ It respects `display-time-mode'."
:type 'boolean :type 'boolean
:group 'doom-modeline) :group 'doom-modeline)
(defcustom doom-modeline-display-misc-in-all-mode-lines t
"Whether display the misc segment on all mode lines.
If nil, display only if the mode line is active."
:type 'boolean
:group 'doom-modeline)
;; ;;
;; Faces ;; Faces
@ -778,8 +785,8 @@ Also see the face `doom-modeline-unread-number'."
;; ;;
(declare-function face-remap-remove-relative "face-remap") (declare-function face-remap-remove-relative "face-remap")
(declare-function ffip-project-root "ext:find-file-in-project")
(declare-function project-root "project") (declare-function project-root "project")
(declare-function ffip-get-project-root-directory "ext:find-file-in-project")
(declare-function projectile-project-root "ext:projectile") (declare-function projectile-project-root "ext:projectile")
@ -1028,7 +1035,7 @@ If DEFAULT is non-nil, set the default mode-line for all buffers."
(when-let ((modeline (doom-modeline key))) (when-let ((modeline (doom-modeline key)))
(setf (if default (setf (if default
(default-value 'mode-line-format) (default-value 'mode-line-format)
(buffer-local-value 'mode-line-format (current-buffer))) mode-line-format)
(list "%e" modeline)))) (list "%e" modeline))))
@ -1219,12 +1226,11 @@ Return nil if no project was found."
(setq doom-modeline--project-root (setq doom-modeline--project-root
(cond (cond
((and (memq doom-modeline-project-detection '(auto ffip)) ((and (memq doom-modeline-project-detection '(auto ffip))
(fboundp 'ffip-get-project-root-directory)) (fboundp 'ffip-project-root))
(let ((inhibit-message t)) (let ((inhibit-message t))
(ffip-get-project-root-directory))) (ffip-project-root)))
((and (memq doom-modeline-project-detection '(auto projectile)) ((and (memq doom-modeline-project-detection '(auto projectile))
(or (fboundp 'projectile-project-root) (bound-and-true-p projectile-mode))
(require 'projectile nil t)))
(projectile-project-root)) (projectile-project-root))
((and (memq doom-modeline-project-detection '(auto project)) ((and (memq doom-modeline-project-detection '(auto project))
(fboundp 'project-current)) (fboundp 'project-current))

View File

@ -1,8 +1,8 @@
(define-package "doom-modeline" "20220804.508" "A minimal and modern mode-line" (define-package "doom-modeline" "20220911.631" "A minimal and modern mode-line"
'((emacs "25.1") '((emacs "25.1")
(compat "28.1.1.1") (compat "28.1.1.1")
(shrink-path "0.2.0")) (shrink-path "0.2.0"))
:commit "4c4b451fcf705f58e6ca41339f22365434b664cb" :authors :commit "73cccaba36aca706e8d819ce01f74d8d24533167" :authors
'(("Vincent Zhang" . "seagle0128@gmail.com")) '(("Vincent Zhang" . "seagle0128@gmail.com"))
:maintainer :maintainer
'("Vincent Zhang" . "seagle0128@gmail.com") '("Vincent Zhang" . "seagle0128@gmail.com")

View File

@ -1344,7 +1344,7 @@ regions, 5. The current/total for the highlight term (with `symbol-overlay'),
(doom-modeline-def-segment media-info (doom-modeline-def-segment media-info
"Metadata regarding the current file, such as dimensions for images." "Metadata regarding the current file, such as dimensions for images."
;; TODO Include other information ;; TODO: Include other information
(cond ((eq major-mode 'image-mode) (cond ((eq major-mode 'image-mode)
(cl-destructuring-bind (width . height) (cl-destructuring-bind (width . height)
(when (fboundp 'image-size) (when (fboundp 'image-size)
@ -1612,7 +1612,9 @@ mouse-2: Show help for minor mode"
(doom-modeline-def-segment misc-info (doom-modeline-def-segment misc-info
"Mode line construct for miscellaneous information. "Mode line construct for miscellaneous information.
By default, this shows the information specified by `global-mode-string'." By default, this shows the information specified by `global-mode-string'."
(unless doom-modeline--limited-width-p (when (and (not doom-modeline--limited-width-p)
(or doom-modeline-display-misc-in-all-mode-lines
(doom-modeline--active)))
'("" mode-line-misc-info))) '("" mode-line-misc-info)))

View File

@ -154,82 +154,46 @@
If DEFAULT is non-nil, set the default mode-line for all buffers." If DEFAULT is non-nil, set the default mode-line for all buffers."
(doom-modeline-set-modeline 'main default)) (doom-modeline-set-modeline 'main default))
;;;###autoload
(defun doom-modeline-set-minimal-modeline ()
"Set minimal mode-line."
(doom-modeline-set-modeline 'minimal))
;;;###autoload
(defun doom-modeline-set-special-modeline ()
"Set special mode-line."
(doom-modeline-set-modeline 'special))
;;;###autoload
(defun doom-modeline-set-project-modeline ()
"Set project mode-line."
(doom-modeline-set-modeline 'project))
;;;###autoload
(defun doom-modeline-set-dashboard-modeline ()
"Set dashboard mode-line."
(doom-modeline-set-modeline 'dashboard))
;;;###autoload
(defun doom-modeline-set-vcs-modeline ()
"Set vcs mode-line."
(doom-modeline-set-modeline 'vcs))
;;;###autoload
(defun doom-modeline-set-info-modeline ()
"Set Info mode-line."
(doom-modeline-set-modeline 'info))
;;;###autoload
(defun doom-modeline-set-package-modeline ()
"Set package mode-line."
(doom-modeline-set-modeline 'package))
;;;###autoload
(defun doom-modeline-set-media-modeline ()
"Set media mode-line."
(doom-modeline-set-modeline 'media))
;;;###autoload
(defun doom-modeline-set-message-modeline ()
"Set message mode-line."
(doom-modeline-set-modeline 'message))
;;;###autoload
(defun doom-modeline-set-pdf-modeline ()
"Set pdf mode-line."
(doom-modeline-set-modeline 'pdf))
;;;###autoload
(defun doom-modeline-set-org-src-modeline ()
"Set org-src mode-line."
(doom-modeline-set-modeline 'org-src))
;;;###autoload
(defun doom-modeline-set-helm-modeline (&rest _) ; To advice helm
"Set helm mode-line."
(doom-modeline-set-modeline 'helm))
;;;###autoload
(defun doom-modeline-set-timemachine-modeline ()
"Set timemachine mode-line."
(doom-modeline-set-modeline 'timemachine))
;; ;;
;; Minor mode ;; Minor mode
;; ;;
(defvar doom-modeline-mode-map (make-sparse-keymap))
;; Suppress warnings ;; Suppress warnings
(defvar 2C-mode-line-format) (defvar 2C-mode-line-format)
(declare-function helm-display-mode-line "ext:helm-core") (declare-function helm-display-mode-line "ext:helm-core")
(defvar doom-modeline-mode-map (make-sparse-keymap))
(defvar doom-modeline-mode-alist
'((message-mode . message)
(git-commit-mode . message)
(magit-mode . vcs)
(dashboard-mode . dashboard)
(Info-mode . project)
(image-mode . media)
(pdf-view-mode . pdf)
(org-src-mode . org-src)
(paradox-menu-mode . package)
(xwidget-webkit-mode . minimal)
(git-timemachine-mode . timemachine)
(circe-mode . special)
(erc-mode . special)
(rcirc-mode . special))
"Alist of major modes and mode-lines.")
(defun doom-modeline-auto-set-modeline ()
"Set mode-line base on major-mode."
(catch 'found
(dolist (x doom-modeline-mode-alist)
(when (derived-mode-p (car x))
(doom-modeline-set-modeline (cdr x))
(throw 'found x)))))
(defun doom-modeline-set-helm-modeline (&rest _) ; To advice helm
"Set helm mode-line."
(doom-modeline-set-modeline 'helm))
;;;###autoload ;;;###autoload
(define-minor-mode doom-modeline-mode (define-minor-mode doom-modeline-mode
"Toggle `doom-modeline' on or off." "Toggle `doom-modeline' on or off."
@ -250,24 +214,10 @@ If DEFAULT is non-nil, set the default mode-line for all buffers."
;; For two-column editing ;; For two-column editing
(setq 2C-mode-line-format (doom-modeline 'special)) (setq 2C-mode-line-format (doom-modeline 'special))
;; Add hooks ;; Automatically set mode-lines
(add-hook 'Info-mode-hook #'doom-modeline-set-info-modeline) (add-hook 'after-change-major-mode-hook #'doom-modeline-auto-set-modeline)
(add-hook 'dired-mode-hook #'doom-modeline-set-project-modeline)
(add-hook 'dashboard-mode-hook #'doom-modeline-set-dashboard-modeline)
(add-hook 'image-mode-hook #'doom-modeline-set-media-modeline)
(add-hook 'message-mode-hook #'doom-modeline-set-message-modeline)
(add-hook 'git-commit-mode-hook #'doom-modeline-set-message-modeline)
(add-hook 'magit-mode-hook #'doom-modeline-set-vcs-modeline)
(add-hook 'circe-mode-hook #'doom-modeline-set-special-modeline)
(add-hook 'erc-mode-hook #'doom-modeline-set-special-modeline)
(add-hook 'rcirc-mode-hook #'doom-modeline-set-special-modeline)
(add-hook 'pdf-view-mode-hook #'doom-modeline-set-pdf-modeline)
(add-hook 'org-src-mode-hook #'doom-modeline-set-org-src-modeline)
(add-hook 'git-timemachine-mode-hook #'doom-modeline-set-timemachine-modeline)
(add-hook 'paradox-menu-mode-hook #'doom-modeline-set-package-modeline)
(add-hook 'xwidget-webkit-mode-hook #'doom-modeline-set-minimal-modeline)
;; Add advices ;; Special handles
(advice-add #'helm-display-mode-line :after #'doom-modeline-set-helm-modeline)) (advice-add #'helm-display-mode-line :after #'doom-modeline-set-helm-modeline))
(progn (progn
;; Restore mode-line ;; Restore mode-line
@ -280,24 +230,8 @@ If DEFAULT is non-nil, set the default mode-line for all buffers."
;; For two-column editing ;; For two-column editing
(setq 2C-mode-line-format (doom-modeline--original-value '2C-mode-line-format)) (setq 2C-mode-line-format (doom-modeline--original-value '2C-mode-line-format))
;; Remove hooks ;; Cleanup
(remove-hook 'Info-mode-hook #'doom-modeline-set-info-modeline) (remove-hook 'after-change-major-mode-hook #'doom-modeline-auto-set-modeline)
(remove-hook 'dired-mode-hook #'doom-modeline-set-project-modeline)
(remove-hook 'dashboard-mode-hook #'doom-modeline-set-dashboard-modeline)
(remove-hook 'image-mode-hook #'doom-modeline-set-media-modeline)
(remove-hook 'message-mode-hook #'doom-modeline-set-message-modeline)
(remove-hook 'git-commit-mode-hook #'doom-modeline-set-message-modeline)
(remove-hook 'magit-mode-hook #'doom-modeline-set-vcs-modeline)
(remove-hook 'circe-mode-hook #'doom-modeline-set-special-modeline)
(remove-hook 'erc-mode-hook #'doom-modeline-set-special-modeline)
(remove-hook 'rcirc-mode-hook #'doom-modeline-set-special-modeline)
(remove-hook 'pdf-view-mode-hook #'doom-modeline-set-pdf-modeline)
(remove-hook 'org-src-mode-hook #'doom-modeline-set-org-src-modeline)
(remove-hook 'git-timemachine-mode-hook #'doom-modeline-set-timemachine-modeline)
(remove-hook 'paradox-menu-mode-hook #'doom-modeline-set-package-modeline)
(remove-hook 'xwidget-webkit-mode-hook #'doom-modeline-set-minimal-modeline)
;; Remove advices
(advice-remove #'helm-display-mode-line #'doom-modeline-set-helm-modeline)))) (advice-remove #'helm-display-mode-line #'doom-modeline-set-helm-modeline))))
(provide 'doom-modeline) (provide 'doom-modeline)

View File

@ -1,8 +1,8 @@
(define-package "f" "20220608.943" "Modern API for working with files and directories" (define-package "f" "20220911.711" "Modern API for working with files and directories"
'((emacs "24.1") '((emacs "24.1")
(s "1.7.0") (s "1.7.0")
(dash "2.2.0")) (dash "2.2.0"))
:commit "d2019d4f9625bcc44349c69fe46d6645fd9ff4ff" :authors :commit "d50dca48929575642912bb5bbb2585709ba38f82" :authors
'(("Johan Andersson" . "johan.rejeep@gmail.com")) '(("Johan Andersson" . "johan.rejeep@gmail.com"))
:maintainer :maintainer
'("Lucien Cartier-Tilet" . "lucien@phundrak.com") '("Lucien Cartier-Tilet" . "lucien@phundrak.com")

View File

@ -1,5 +1,4 @@
;; -*- no-byte-compile: t; -*- ;;; f-shortdoc.el --- Shortdoc for f.el -*- lexical-binding: t; no-byte-compile: t; -*-
;;; f-shortdoc.el --- Shortdoc for f.el -*- lexical-binding: t -*-
;; Author: Lucien Cartier-Tilet <lucien@phundrak.com> ;; Author: Lucien Cartier-Tilet <lucien@phundrak.com>
;; Maintainer: Lucien Cartier-Tilet <lucien@phundrak.com> ;; Maintainer: Lucien Cartier-Tilet <lucien@phundrak.com>

View File

@ -1,6 +1,6 @@
;;; helm-dabbrev.el --- Helm implementation of dabbrev. -*- lexical-binding: t -*- ;;; helm-dabbrev.el --- Helm implementation of dabbrev. -*- lexical-binding: t -*-
;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto ;; Copyright (C) 2012 ~ 2021 Thierry Volpiatto
;; This program is free software; you can redistribute it and/or modify ;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
@ -105,7 +105,7 @@ initial search for all candidates in buffer(s)."
'helm-dabbrev-separator-regexp "2.8.3") 'helm-dabbrev-separator-regexp "2.8.3")
;; Check for beginning of line should happen last (^\n\\|^). ;; Check for beginning of line should happen last (^\n\\|^).
(defvar helm-dabbrev-separator-regexp (defvar helm-dabbrev-separator-regexp
"\\s-\\|\t\\|[(\\[\\{\"'`=<$;,@.#+]\\|\\s\\\\|^\n\\|^" "\\s-\\|\t\\|[(\\[\\{\"'`=<>$;,@.#+]\\|\\s\\\\|^\n\\|^"
"Regexp matching the start of a dabbrev candidate.") "Regexp matching the start of a dabbrev candidate.")

View File

@ -739,6 +739,7 @@ when moving out of directory when non nil."
'helm-find-files-rsync 'helm-find-files-rsync
"Rename file(s) `M-R, C-u to follow'" 'helm-find-files-rename "Rename file(s) `M-R, C-u to follow'" 'helm-find-files-rename
"Backup files" 'helm-find-files-backup "Backup files" 'helm-find-files-backup
"Multiple copy" 'helm-ff-mcp
"Symlink files(s) `M-S, C-u to follow'" 'helm-find-files-symlink "Symlink files(s) `M-S, C-u to follow'" 'helm-find-files-symlink
"Relsymlink file(s) `M-Y, C-u to follow'" 'helm-find-files-relsymlink "Relsymlink file(s) `M-Y, C-u to follow'" 'helm-find-files-relsymlink
"Hardlink file(s) `M-H, C-u to follow'" 'helm-find-files-hardlink "Hardlink file(s) `M-H, C-u to follow'" 'helm-find-files-hardlink
@ -803,6 +804,12 @@ to nil to avoid error messages when using `helm-find-files'."
This can be toggled at any time from `helm-ff-file-name-history' with \ This can be toggled at any time from `helm-ff-file-name-history' with \
\\<helm-file-name-history-map>\\[helm-file-name-history-show-or-hide-deleted]." \\<helm-file-name-history-map>\\[helm-file-name-history-show-or-hide-deleted]."
:type 'boolean) :type 'boolean)
(defcustom helm-ff-follow-blacklist-file-exts '("gpg" "doc" "docx" "mp3" "ogg")
"File extensions we don't want to follow when helm-follow-mode is enabled.
Note that image files are always followed even if their extensions is
present in this list."
:type '(repeat string))
;;; Faces ;;; Faces
;; ;;
@ -1800,11 +1807,9 @@ prefix arg shell buffer doesn't exists, create it and switch to it."
(length failures) (length failures)
(mapconcat (lambda (f) (format "- %s\n" f)) failures ""))))) (mapconcat (lambda (f) (format "- %s\n" f)) failures "")))))
(defun helm-ff-run-touch-files () (helm-make-command-from-action helm-ff-run-touch-files
"Used to interactively run touch file action from keyboard." "Used to interactively run touch file action from keyboard."
(interactive) 'helm-ff-touch-files)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-ff-touch-files)))
(put 'helm-ff-run-touch-files 'helm-only t) (put 'helm-ff-run-touch-files 'helm-only t)
(defun helm-ff-sort-by-size () (defun helm-ff-sort-by-size ()
@ -2161,10 +2166,9 @@ COUNT is used for incrementing new name if needed."
(helm-ff-query-replace-on-filenames marked))) (helm-ff-query-replace-on-filenames marked)))
;; The command for `helm-find-files-map'. ;; The command for `helm-find-files-map'.
(defun helm-ff-run-query-replace-fnames-on-marked () (helm-make-command-from-action helm-ff-run-query-replace-fnames-on-marked
(interactive) "Run query-replace on filenames from HFF."
(with-helm-alive-p 'helm-ff-query-replace-fnames-on-marked)
(helm-exit-and-execute-action 'helm-ff-query-replace-fnames-on-marked)))
(put 'helm-ff-run-query-replace-fnames-on-marked 'helm-only t) (put 'helm-ff-run-query-replace-fnames-on-marked 'helm-only t)
(defun helm-ff-query-replace (_candidate) (defun helm-ff-query-replace (_candidate)
@ -2172,24 +2176,22 @@ COUNT is used for incrementing new name if needed."
collect (buffer-name (find-file-noselect f))))) collect (buffer-name (find-file-noselect f)))))
(helm-buffer-query-replace-1 nil bufs))) (helm-buffer-query-replace-1 nil bufs)))
(helm-make-command-from-action helm-ff-run-query-replace
"Run query-replace from HFF."
'helm-ff-query-replace)
(put 'helm-ff-run-query-replace 'helm-only t)
(defun helm-ff-query-replace-regexp (_candidate) (defun helm-ff-query-replace-regexp (_candidate)
(let ((bufs (cl-loop for f in (helm-marked-candidates :with-wildcard t) (let ((bufs (cl-loop for f in (helm-marked-candidates :with-wildcard t)
collect (buffer-name (find-file-noselect f))))) collect (buffer-name (find-file-noselect f)))))
(helm-buffer-query-replace-1 'regexp bufs))) (helm-buffer-query-replace-1 'regexp bufs)))
(defun helm-ff-run-query-replace () (helm-make-command-from-action helm-ff-run-query-replace-regexp
(interactive) "Run query-replace regexp from HFF."
(with-helm-alive-p 'helm-ff-query-replace-regexp)
(helm-exit-and-execute-action 'helm-ff-query-replace)))
(put 'helm-ff-run-query-replace 'helm-only t)
(defun helm-ff-run-query-replace-regexp ()
(interactive)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-ff-query-replace-regexp)))
(put 'helm-ff-run-query-replace-regexp 'helm-only t) (put 'helm-ff-run-query-replace-regexp 'helm-only t)
(defun helm-ff-toggle-auto-update (_candidate) (defun helm-ff-toggle-auto-update ()
(if helm-ff--deleting-char-backward (if helm-ff--deleting-char-backward
(progn (progn
(message "[Auto expansion disabled]") (message "[Auto expansion disabled]")
@ -2203,8 +2205,7 @@ COUNT is used for incrementing new name if needed."
(defun helm-ff-run-toggle-auto-update () (defun helm-ff-run-toggle-auto-update ()
(interactive) (interactive)
(with-helm-alive-p (with-helm-alive-p
(helm-set-attr 'toggle-auto-update '(helm-ff-toggle-auto-update . never-split)) (helm-ff-toggle-auto-update)))
(helm-execute-persistent-action 'toggle-auto-update)))
(put 'helm-ff-run-toggle-auto-update 'helm-only t) (put 'helm-ff-run-toggle-auto-update 'helm-only t)
(defun helm-ff-delete-char-backward () (defun helm-ff-delete-char-backward ()
@ -2300,172 +2301,124 @@ Called with a prefix arg open menu unconditionally."
(interactive) (interactive)
(helm-ff-RET-1 t)) (helm-ff-RET-1 t))
(defun helm-ff-run-grep () (helm-make-command-from-action helm-ff-run-grep
"Run Grep action from `helm-source-find-files'." "Run Grep action from `helm-source-find-files'."
(interactive) 'helm-find-files-grep)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-find-files-grep)))
(put 'helm-ff-run-grep 'helm-only t) (put 'helm-ff-run-grep 'helm-only t)
(defun helm-ff-run-git-grep () (helm-make-command-from-action helm-ff-run-git-grep
"Run git-grep action from `helm-source-find-files'." "Run git-grep action from `helm-source-find-files'."
(interactive) 'helm-ff-git-grep)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-ff-git-grep)))
(put 'helm-ff-run-git-grep 'helm-only t) (put 'helm-ff-run-git-grep 'helm-only t)
(defun helm-ff-run-grep-ag () (helm-make-command-from-action helm-ff-run-grep-ag
(interactive) "Run grep AG action from `helm-source-find-files'."
(with-helm-alive-p 'helm-find-files-ag)
(helm-exit-and-execute-action 'helm-find-files-ag)))
(put 'helm-ff-run-grep-ag 'helm-only t) (put 'helm-ff-run-grep-ag 'helm-only t)
(defun helm-ff-run-pdfgrep () (helm-make-command-from-action helm-ff-run-pdfgrep
"Run Pdfgrep action from `helm-source-find-files'." "Run Pdfgrep action from `helm-source-find-files'."
(interactive) 'helm-ff-pdfgrep)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-ff-pdfgrep)))
(put 'helm-ff-run-pdfgrep 'helm-only t) (put 'helm-ff-run-pdfgrep 'helm-only t)
(defun helm-ff-run-zgrep () (helm-make-command-from-action helm-ff-run-zgrep
"Run Grep action from `helm-source-find-files'." "Run Grep action from `helm-source-find-files'."
(interactive) 'helm-ff-zgrep)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-ff-zgrep)))
(put 'helm-ff-run-zgrep 'helm-only t) (put 'helm-ff-run-zgrep 'helm-only t)
(defun helm-ff-run-copy-file () (helm-make-command-from-action helm-ff-run-copy-file
"Run Copy file action from `helm-source-find-files'." "Run Copy file action from `helm-source-find-files'."
(interactive) 'helm-find-files-copy)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-find-files-copy)))
(put 'helm-ff-run-copy-file 'helm-only t) (put 'helm-ff-run-copy-file 'helm-only t)
(defun helm-ff-run-rsync-file () (helm-make-command-from-action helm-ff-run-rsync-file
"Run Rsync file action from `helm-source-find-files'." "Run Rsync file action from `helm-source-find-files'."
(interactive) 'helm-find-files-rsync)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-find-files-rsync)))
(put 'helm-ff-run-rsync-file 'helm-only t) (put 'helm-ff-run-rsync-file 'helm-only t)
(defun helm-ff-run-rename-file () (helm-make-command-from-action helm-ff-run-rename-file
"Run Rename file action from `helm-source-find-files'." "Run Rename file action from `helm-source-find-files'."
(interactive) 'helm-find-files-rename)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-find-files-rename)))
(put 'helm-ff-run-rename-file 'helm-only t) (put 'helm-ff-run-rename-file 'helm-only t)
(defun helm-ff-run-byte-compile-file () (helm-make-command-from-action helm-ff-run-byte-compile-file
"Run Byte compile file action from `helm-source-find-files'." "Run Byte compile file action from `helm-source-find-files'."
(interactive) 'helm-find-files-byte-compile)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-find-files-byte-compile)))
(put 'helm-ff-run-byte-compile-file 'helm-only t) (put 'helm-ff-run-byte-compile-file 'helm-only t)
(defun helm-ff-run-load-file () (helm-make-command-from-action helm-ff-run-load-file
"Run Load file action from `helm-source-find-files'." "Run Load file action from `helm-source-find-files'."
(interactive) 'helm-find-files-load-files)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-find-files-load-files)))
(put 'helm-ff-run-load-file 'helm-only t) (put 'helm-ff-run-load-file 'helm-only t)
(defun helm-ff-run-eshell-command-on-file () (helm-make-command-from-action helm-ff-run-eshell-command-on-file
"Run eshell command on file action from `helm-source-find-files'." "Run eshell command on file action from `helm-source-find-files'."
(interactive) 'helm-find-files-eshell-command-on-file)
(with-helm-alive-p
(helm-exit-and-execute-action
'helm-find-files-eshell-command-on-file)))
(put 'helm-ff-run-eshell-command-on-file 'helm-only t) (put 'helm-ff-run-eshell-command-on-file 'helm-only t)
(defun helm-ff-run-ediff-file () (helm-make-command-from-action helm-ff-run-ediff-file
"Run Ediff file action from `helm-source-find-files'." "Run Ediff file action from `helm-source-find-files'."
(interactive) 'helm-find-files-ediff-files)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-find-files-ediff-files)))
(put 'helm-ff-run-ediff-file 'helm-only t) (put 'helm-ff-run-ediff-file 'helm-only t)
(defun helm-ff-run-ediff-merge-file () (helm-make-command-from-action helm-ff-run-ediff-merge-file
"Run Ediff merge file action from `helm-source-find-files'." "Run Ediff merge file action from `helm-source-find-files'."
(interactive) 'helm-find-files-ediff-merge-files)
(with-helm-alive-p
(helm-exit-and-execute-action
'helm-find-files-ediff-merge-files)))
(put 'helm-ff-run-ediff-merge-file 'helm-only t) (put 'helm-ff-run-ediff-merge-file 'helm-only t)
(defun helm-ff-run-symlink-file () (helm-make-command-from-action helm-ff-run-symlink-file
"Run Symlink file action from `helm-source-find-files'." "Run Symlink file action from `helm-source-find-files'."
(interactive) 'helm-find-files-symlink)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-find-files-symlink)))
(put 'helm-ff-run-symlink-file 'helm-only t) (put 'helm-ff-run-symlink-file 'helm-only t)
(defun helm-ff-run-relsymlink-file () (helm-make-command-from-action helm-ff-run-relsymlink-file
"Run Symlink file action from `helm-source-find-files'." "Run Symlink file action from `helm-source-find-files'."
(interactive) 'helm-find-files-relsymlink)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-find-files-relsymlink)))
(put 'helm-ff-run-relsymlink-file 'helm-only t) (put 'helm-ff-run-relsymlink-file 'helm-only t)
(defun helm-ff-run-hardlink-file () (helm-make-command-from-action helm-ff-run-hardlink-file
"Run Hardlink file action from `helm-source-find-files'." "Run Hardlink file action from `helm-source-find-files'."
(interactive) 'helm-find-files-hardlink)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-find-files-hardlink)))
(put 'helm-ff-run-hardlink-file 'helm-only t) (put 'helm-ff-run-hardlink-file 'helm-only t)
(defun helm-ff-delete-files (candidate) (defun helm-ff-delete-files (candidate)
"Delete files default action." "Delete files default action."
(funcall helm-ff-delete-files-function candidate)) (funcall helm-ff-delete-files-function candidate))
(defun helm-ff-run-delete-file () (helm-make-command-from-action helm-ff-run-delete-file
"Run Delete file action from `helm-source-find-files'." "Run Delete file action from `helm-source-find-files'."
(interactive) 'helm-ff-delete-files)
(with-helm-alive-p
(helm-exit-and-execute-action #'helm-ff-delete-files)))
(put 'helm-ff-run-delete-file 'helm-only t) (put 'helm-ff-run-delete-file 'helm-only t)
(defun helm-ff-run-complete-fn-at-point () (helm-make-command-from-action helm-ff-run-complete-fn-at-point
"Run complete file name action from `helm-source-find-files'." "Run complete file name action from `helm-source-find-files'."
(interactive) 'helm-insert-file-name-completion-at-point)
(with-helm-alive-p
(helm-exit-and-execute-action
'helm-insert-file-name-completion-at-point)))
(put 'helm-ff-run-complete-fn-at-point 'helm-only t) (put 'helm-ff-run-complete-fn-at-point 'helm-only t)
(defun helm-ff-run-switch-to-shell () (helm-make-command-from-action helm-ff-run-switch-to-shell
"Run switch to eshell action from `helm-source-find-files'." "Run switch to eshell action from `helm-source-find-files'."
(interactive) 'helm-ff-switch-to-shell)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-ff-switch-to-shell)))
(put 'helm-ff-run-switch-to-shell 'helm-only t) (put 'helm-ff-run-switch-to-shell 'helm-only t)
(defun helm-ff-run-switch-other-window () (helm-make-command-from-action helm-ff-run-switch-other-window
"Run switch to other window action from `helm-source-find-files'. "Run switch to other window action from `helm-source-find-files'.
When a prefix arg is provided, split is done vertically." When a prefix arg is provided, split is done vertically."
(interactive) 'helm-find-files-other-window)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-find-files-other-window)))
(put 'helm-ff-run-switch-other-window 'helm-only t) (put 'helm-ff-run-switch-other-window 'helm-only t)
(defun helm-ff-run-switch-other-frame () (helm-make-command-from-action helm-ff-run-switch-other-frame
"Run switch to other frame action from `helm-source-find-files'." "Run switch to other frame action from `helm-source-find-files'."
(interactive) 'find-file-other-frame)
(with-helm-alive-p
(helm-exit-and-execute-action 'find-file-other-frame)))
(put 'helm-ff-run-switch-other-frame 'helm-only t) (put 'helm-ff-run-switch-other-frame 'helm-only t)
(defun helm-ff-run-open-file-externally () (helm-make-command-from-action helm-ff-run-open-file-externally
"Run open file externally command action from `helm-source-find-files'." "Run open file externally command action from `helm-source-find-files'."
(interactive) 'helm-open-file-externally)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-open-file-externally)))
(put 'helm-ff-run-open-file-externally 'helm-only t) (put 'helm-ff-run-open-file-externally 'helm-only t)
(defun helm-ff-run-open-file-with-default-tool () (helm-make-command-from-action helm-ff-run-open-file-with-default-tool
"Run open file externally command action from `helm-source-find-files'." "Run open file externally command action from `helm-source-find-files'."
(interactive) 'helm-open-file-with-default-tool)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-open-file-with-default-tool)))
(put 'helm-ff-run-open-file-with-default-tool 'helm-only t) (put 'helm-ff-run-open-file-with-default-tool 'helm-only t)
(defun helm-ff-locate (candidate) (defun helm-ff-locate (candidate)
@ -2485,47 +2438,38 @@ When a prefix arg is provided, split is done vertically."
" -b")))) " -b"))))
(helm-locate-1 helm-current-prefix-arg nil 'from-ff default))) (helm-locate-1 helm-current-prefix-arg nil 'from-ff default)))
(defun helm-ff-run-locate () (helm-make-command-from-action helm-ff-run-locate
"Run locate action from `helm-source-find-files'." "Run locate action from `helm-source-find-files'."
(interactive) 'helm-ff-locate)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-ff-locate)))
(put 'helm-ff-run-locate 'helm-only t) (put 'helm-ff-run-locate 'helm-only t)
(defun helm-files-insert-as-org-link (candidate) (defun helm-files-insert-as-org-link (candidate)
(insert (format "[[%s][]]" candidate)) (insert (format "[[%s][]]" candidate))
(goto-char (- (point) 2))) (goto-char (- (point) 2)))
(defun helm-ff-run-insert-org-link () (helm-make-command-from-action helm-ff-run-insert-org-link
(interactive) "Run insert org link from HFF."
(with-helm-alive-p 'helm-files-insert-as-org-link)
(helm-exit-and-execute-action 'helm-files-insert-as-org-link)))
(put 'helm-ff-run-insert-org-link 'helm-only t) (put 'helm-ff-run-insert-org-link 'helm-only t)
(defun helm-ff-run-find-file-as-root () (helm-make-command-from-action helm-ff-run-find-file-as-root
(interactive) "Run find file as root from HFF."
(with-helm-alive-p 'helm-find-file-as-root)
(helm-exit-and-execute-action 'helm-find-file-as-root)))
(put 'helm-ff-run-find-file-as-root 'helm-only t) (put 'helm-ff-run-find-file-as-root 'helm-only t)
(defun helm-ff-run-find-alternate-file () (helm-make-command-from-action helm-ff-run-find-alternate-file
(interactive) "Run `find-alternate-file' from HFF."
(with-helm-alive-p 'find-alternate-file)
(helm-exit-and-execute-action 'find-alternate-file)))
(put 'helm-ff-run-find-alternate-file 'helm-only t) (put 'helm-ff-run-find-alternate-file 'helm-only t)
(defun helm-ff-run-mail-attach-files () (helm-make-command-from-action helm-ff-run-mail-attach-files
"Run mail attach files command action from `helm-source-find-files'." "Run mail attach files command action from `helm-source-find-files'."
(interactive) 'helm-ff-mail-attach-files)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-ff-mail-attach-files)))
(put 'helm-ff-run-mail-attach-files 'helm-only t) (put 'helm-ff-run-mail-attach-files 'helm-only t)
(defun helm-ff-run-etags () (helm-make-command-from-action helm-ff-run-etags
"Run Etags command action from `helm-source-find-files'." "Run Etags command action from `helm-source-find-files'."
(interactive) 'helm-ff-etags-select)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-ff-etags-select)))
(put 'helm-ff-run-etags 'helm-only t) (put 'helm-ff-run-etags 'helm-only t)
(defvar lpr-printer-switch) (defvar lpr-printer-switch)
@ -2577,11 +2521,9 @@ Same as `dired-do-print' but for Helm."
(start-process-shell-command "helm-print" nil cmd-line) (start-process-shell-command "helm-print" nil cmd-line)
(error "Error: Please verify your printer settings in Emacs.")))) (error "Error: Please verify your printer settings in Emacs."))))
(defun helm-ff-run-print-file () (helm-make-command-from-action helm-ff-run-print-file
"Run Print file action from `helm-source-find-files'." "Run Print file action from `helm-source-find-files'."
(interactive) 'helm-ff-print)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-ff-print)))
(put 'helm-ff-run-print-file 'helm-only t) (put 'helm-ff-run-print-file 'helm-only t)
(defun helm-ff-checksum (file) (defun helm-ff-checksum (file)
@ -2619,20 +2561,22 @@ Emacs and even the whole system as it eats all memory."
(message "Calculating %s checksum for `%s' done and copied to kill-ring" (message "Calculating %s checksum for `%s' done and copied to kill-ring"
algo bn))))) algo bn)))))
(defun helm-ff-toggle-basename (_candidate) (defun helm-ff-toggle-basename ()
(with-helm-buffer (with-helm-buffer
(setq helm-ff-transformer-show-only-basename (setq helm-ff-transformer-show-only-basename
(not helm-ff-transformer-show-only-basename)) (not helm-ff-transformer-show-only-basename))
(let* ((cand (helm-get-selection nil t)) (let* ((cand (helm-get-selection))
(target (if helm-ff-transformer-show-only-basename (target (if helm-ff-transformer-show-only-basename
(helm-basename cand) cand))) (helm-basename cand) cand)))
(helm-force-update (concat (regexp-quote target) "$"))))) (helm-force-update
(format helm-ff-last-expanded-candidate-regexp
(regexp-quote target))))))
(defun helm-ff-run-toggle-basename () (defun helm-ff-run-toggle-basename ()
(interactive) (interactive)
(with-helm-alive-p (with-helm-alive-p
(unless (helm-empty-source-p) (unless (helm-empty-source-p)
(helm-ff-toggle-basename nil)))) (helm-ff-toggle-basename))))
(put 'helm-ff-run-toggle-basename 'helm-only t) (put 'helm-ff-run-toggle-basename 'helm-only t)
(defun helm-reduce-file-name-1 (fname level) (defun helm-reduce-file-name-1 (fname level)
@ -3039,11 +2983,9 @@ With a prefix arg toggle dired buffer to wdired mode."
(when (or helm-current-prefix-arg current-prefix-arg) (when (or helm-current-prefix-arg current-prefix-arg)
(call-interactively 'wdired-change-to-wdired-mode)))))) (call-interactively 'wdired-change-to-wdired-mode))))))
(defun helm-ff-run-marked-files-in-dired () (helm-make-command-from-action helm-ff-run-marked-files-in-dired
"Execute `helm-marked-files-in-dired' interactively." "Execute `helm-marked-files-in-dired' interactively."
(interactive) 'helm-marked-files-in-dired)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-marked-files-in-dired)))
(put 'helm-ff-run-marked-files-in-dired 'helm-only t) (put 'helm-ff-run-marked-files-in-dired 'helm-only t)
(defun helm-ff--create-tramp-name (fname) (defun helm-ff--create-tramp-name (fname)
@ -3776,12 +3718,9 @@ to avoid an unnecessary call to `file-truename'."
(helm-execute-persistent-action 'properties-action))) (helm-execute-persistent-action 'properties-action)))
(put 'helm-ff-properties-persistent 'helm-only t) (put 'helm-ff-properties-persistent 'helm-only t)
(defun helm-ff-persistent-delete () (helm-make-persistent-command-from-action helm-ff-persistent-delete
"Delete current candidate without quitting." "Delete current candidate without quitting."
(interactive) 'quick-delete 'helm-ff-quick-delete)
(with-helm-alive-p
(helm-set-attr 'quick-delete '(helm-ff-quick-delete . never-split))
(helm-execute-persistent-action 'quick-delete)))
(put 'helm-ff-persistent-delete 'helm-only t) (put 'helm-ff-persistent-delete 'helm-only t)
(defun helm-ff-dot-file-p (file) (defun helm-ff-dot-file-p (file)
@ -3808,7 +3747,7 @@ in `helm-find-files-persistent-action-if'."
(buf-name (buffer-name buf)) (buf-name (buffer-name buf))
(win (get-buffer-window buf)) (win (get-buffer-window buf))
(helm--reading-passwd-or-string t)) (helm--reading-passwd-or-string t))
(cond ((and buf win (eq buf (get-buffer helm-current-buffer))) (cond ((and buf win (eql buf (get-buffer helm-current-buffer)))
(user-error (user-error
"Can't kill `helm-current-buffer' without quitting session")) "Can't kill `helm-current-buffer' without quitting session"))
((and buf win (buffer-modified-p buf)) ((and buf win (buffer-modified-p buf))
@ -3822,12 +3761,9 @@ in `helm-find-files-persistent-action-if'."
(message "Buffer `%s' killed" buf-name)) (message "Buffer `%s' killed" buf-name))
(t (find-file candidate))))) (t (find-file candidate)))))
(defun helm-ff-run-kill-buffer-persistent () (helm-make-persistent-command-from-action helm-ff-run-kill-buffer-persistent
"Execute `helm-ff-kill-buffer-fname' without quitting." "Execute `helm-ff-kill-buffer-fname' without quitting."
(interactive) 'kill-buffer-fname 'helm-ff-kill-buffer-fname)
(with-helm-alive-p
(helm-set-attr 'kill-buffer-fname 'helm-ff-kill-buffer-fname)
(helm-execute-persistent-action 'kill-buffer-fname)))
(put 'helm-ff-run-kill-buffer-persistent 'helm-only t) (put 'helm-ff-run-kill-buffer-persistent 'helm-only t)
;; Preview with external tool ;; Preview with external tool
@ -3838,11 +3774,9 @@ in `helm-find-files-persistent-action-if'."
(message "Please configure an external program for `*%s' file in `helm-external-programs-associations'" (message "Please configure an external program for `*%s' file in `helm-external-programs-associations'"
(file-name-extension file t)))) (file-name-extension file t))))
(defun helm-ff-run-preview-file-externally () (helm-make-persistent-command-from-action helm-ff-run-preview-file-externally
(interactive) "Run open file externally without quitting helm."
(with-helm-alive-p 'open-file-externally 'helm-ff-persistent-open-file-externally)
(helm-set-attr 'open-file-externally '(helm-ff-persistent-open-file-externally . never-split))
(helm-execute-persistent-action 'open-file-externally)))
(put 'helm-ff-run-preview-file-externally 'helm-only t) (put 'helm-ff-run-preview-file-externally 'helm-only t)
(defun helm-ff-prefix-filename (fname &optional file-or-symlinkp new-file) (defun helm-ff-prefix-filename (fname &optional file-or-symlinkp new-file)
@ -4559,6 +4493,13 @@ This affects directly file CANDIDATE."
(defvar helm-ff-sound-file-extensions '("wav" "au")) (defvar helm-ff-sound-file-extensions '("wav" "au"))
(defun helm-ff--maybe-follow (candidate)
(let ((file (file-regular-p candidate))
(image (string-match-p (image-file-name-regexp) candidate))
(ext (file-name-extension candidate)))
(and file
(or image (not (member ext helm-ff-follow-blacklist-file-exts))))))
(cl-defun helm-find-files-persistent-action-if (candidate) (cl-defun helm-find-files-persistent-action-if (candidate)
"Open subtree CANDIDATE without quitting helm. "Open subtree CANDIDATE without quitting helm.
If CANDIDATE is not a directory expand CANDIDATE filename. If CANDIDATE is not a directory expand CANDIDATE filename.
@ -4582,13 +4523,13 @@ file."
nil fname) nil fname)
(insert fname)))))) (insert fname))))))
(helm-set-attr 'candidate-number-limit helm-ff-candidate-number-limit) (helm-set-attr 'candidate-number-limit helm-ff-candidate-number-limit)
(unless image-cand (unless (helm-ff--maybe-follow candidate)
(when follow (when follow
(helm-follow-mode -1) (helm-follow-mode -1) (message nil)
(cl-return-from helm-find-files-persistent-action-if (cl-return-from helm-find-files-persistent-action-if
(prog1 (prog1
#'ignore #'ignore
(message "Helm-follow-mode allowed only on images, disabling"))))) (user-error "Can't follow this kind of file")))))
(cond (;; Tramp methods completion. (cond (;; Tramp methods completion.
(string-match helm-ff-tramp-method-regexp candidate) (string-match helm-ff-tramp-method-regexp candidate)
(let ((method (match-string 1 candidate))) (let ((method (match-string 1 candidate)))
@ -6048,6 +5989,43 @@ list."
(message "No files found in file(s)")) (message "No files found in file(s)"))
:buffer "*helm find files in files*"))) :buffer "*helm find files in files*")))
(defun helm-ff-mcp (_candidate)
"Copy the car of marked candidates to the remaining marked candidates.
The car of marked should be a regular file and the rest of marked (cdr) should
be directories."
(let* ((mkd (helm-marked-candidates))
(file (car mkd))
(targets (cdr mkd))
(skipped 0)
(copies 0))
(cl-assert (file-regular-p file) nil (format "Not a regular file `%s'" file))
(cl-assert targets nil (format "No destination specified for file `%s'" file))
(when targets
(cl-loop for dest in targets
for dest-file = (expand-file-name (helm-basename file) dest)
for dir-ok = (file-accessible-directory-p dest)
for overwrite = (and dir-ok
(file-exists-p
(expand-file-name
(helm-basename file) dest)))
for skip = (and overwrite
(null (y-or-n-p
(format
"File `%s' already-exists, overwrite? "
dest-file))))
if dir-ok
do (if skip
(cl-incf skipped)
(copy-file file (file-name-as-directory dest) overwrite)
(cl-incf copies))
else do (progn
(cl-incf skipped)
(message "Access denied `%s'" dest))
finally do
(message "%s %s of `%s' done, %s skipped"
copies (if (> copies 1) "copies" "copy")
(helm-basename file) skipped)))))
;;; File name history ;;; File name history
;; ;;
@ -6129,11 +6107,10 @@ list."
(helm-set-pattern (helm-set-pattern
(expand-file-name candidate))) (expand-file-name candidate)))
(defun helm-ff-file-name-history-run-ff () (helm-make-command-from-action helm-ff-file-name-history-run-ff
"Switch back to current HFF session with selection as preselect." "Switch back to current HFF session with selection as preselect."
(interactive) 'helm-ff-file-name-history-ff)
(with-helm-alive-p (put 'helm-ff-file-name-history-run-ff 'helm-only t)
(helm-exit-and-execute-action 'helm-ff-file-name-history-ff)))
(defun helm-ff-file-name-history-delete-item (_candidate) (defun helm-ff-file-name-history-delete-item (_candidate)
(let ((files (helm-marked-candidates))) (let ((files (helm-marked-candidates)))
@ -6253,11 +6230,9 @@ Use FD as backend."
(let ((dir (with-helm-buffer (helm-get-attr 'root-dir)))) (let ((dir (with-helm-buffer (helm-get-attr 'root-dir))))
(helm-grep-ag dir helm-current-prefix-arg))) (helm-grep-ag dir helm-current-prefix-arg)))
(defun helm-browse-project-run-ag () (helm-make-command-from-action helm-browse-project-run-ag
"Run `helm-grep' AG from `helm-browse-project'." "Run `helm-grep' AG from `helm-browse-project'."
(interactive) 'helm-browse-project-ag)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-browse-project-ag)))
(put 'helm-browse-project-run-ag 'helm-only t) (put 'helm-browse-project-run-ag 'helm-only t)
(defclass helm-browse-project-override-inheritor (helm-type-file) ()) (defclass helm-browse-project-override-inheritor (helm-type-file) ())
@ -6386,10 +6361,9 @@ See `helm-browse-project'."
(with-helm-default-directory helm-ff-default-directory (with-helm-default-directory helm-ff-default-directory
(helm-browse-project helm-current-prefix-arg))) (helm-browse-project helm-current-prefix-arg)))
(defun helm-ff-run-browse-project () (helm-make-command-from-action helm-ff-run-browse-project
(interactive) "Run browse project."
(with-helm-alive-p 'helm-ff-browse-project)
(helm-exit-and-execute-action 'helm-ff-browse-project)))
(put 'helm-ff-run-browse-project 'helm-only t) (put 'helm-ff-run-browse-project 'helm-only t)
;;; Actions calling helm and main interactive functions. ;;; Actions calling helm and main interactive functions.
@ -6399,10 +6373,9 @@ See `helm-browse-project'."
(with-helm-default-directory helm-ff-default-directory (with-helm-default-directory helm-ff-default-directory
(helm-gid))) (helm-gid)))
(defun helm-ff-run-gid () (helm-make-command-from-action helm-ff-run-gid
(interactive) "Run gid from HFF."
(with-helm-alive-p 'helm-ff-gid)
(helm-exit-and-execute-action 'helm-ff-gid)))
(put 'helm-ff-run-gid 'helm-only t) (put 'helm-ff-run-gid 'helm-only t)
;; helm-find bindings for helm-find-files. ;; helm-find bindings for helm-find-files.
@ -6411,11 +6384,9 @@ See `helm-browse-project'."
(require 'helm-find) (require 'helm-find)
(helm-find-1 helm-ff-default-directory)) (helm-find-1 helm-ff-default-directory))
(defun helm-ff-run-find-sh-command () (helm-make-command-from-action helm-ff-run-find-sh-command
"Run find shell command action with key from `helm-find-files'." "Run find shell command action with key from `helm-find-files'."
(interactive) 'helm-ff-find-sh-command)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-ff-find-sh-command)))
(put 'helm-ff-run-find-sh-command 'helm-only t) (put 'helm-ff-run-find-sh-command 'helm-only t)
;; helm-hd bindings for hff ;; helm-hd bindings for hff
@ -6424,11 +6395,9 @@ See `helm-browse-project'."
(require 'helm-fd) (require 'helm-fd)
(helm-fd-1 helm-ff-default-directory)) (helm-fd-1 helm-ff-default-directory))
(defun helm-ff-run-fd () (helm-make-command-from-action helm-ff-run-fd
"Run fd shell command action with key from `helm-find-files'." "Run fd shell command action with key from `helm-find-files'."
(interactive) 'helm-ff-fd)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-ff-fd)))
(put 'helm-ff-run-fd 'helm-only t) (put 'helm-ff-run-fd 'helm-only t)
;;;###autoload ;;;###autoload

View File

@ -533,11 +533,7 @@ If COLLECTION is an `obarray', a TEST should be needed. See `obarray'."
(defun helm-cr-default (default cands) (defun helm-cr-default (default cands)
(delq nil (delq nil
(cond ((and (stringp default) (cond ((and (consp default) (string= helm-pattern ""))
(not (string= default ""))
(string= helm-pattern ""))
(cons default (delete default cands)))
((and (consp default) (string= helm-pattern ""))
(append (cl-loop for d in default (append (cl-loop for d in default
;; Don't convert ;; Don't convert
;; nil to "nil" (i.e the string) ;; nil to "nil" (i.e the string)
@ -547,6 +543,10 @@ If COLLECTION is an `obarray', a TEST should be needed. See `obarray'."
do (setq cands (delete d cands)) do (setq cands (delete d cands))
when str collect str) when str collect str)
cands)) cands))
((and (not (equal default ""))
(string= helm-pattern ""))
(cons default (delete (helm-stringify default)
cands)))
(t cands)))) (t cands))))
;;;###autoload ;;;###autoload

View File

@ -1,7 +1,7 @@
(define-package "helm" "20220803.1447" "Helm is an Emacs incremental and narrowing framework" (define-package "helm" "20220911.1317" "Helm is an Emacs incremental and narrowing framework"
'((helm-core "3.8.7") '((helm-core "3.8.7")
(popup "0.5.3")) (popup "0.5.3"))
:commit "4ede199d5d1b7050486a0fdeecbbbf49fef31118" :authors :commit "288f7d9f173d7ddd7a7766eb333cc2db1c1caa34" :authors
'(("Thierry Volpiatto" . "thievol@posteo.net")) '(("Thierry Volpiatto" . "thievol@posteo.net"))
:maintainer :maintainer
'("Thierry Volpiatto" . "thievol@posteo.net") '("Thierry Volpiatto" . "thievol@posteo.net")

View File

@ -87,6 +87,12 @@ Possible value are:
(integer :tag "Match after or before (+/-)") (integer :tag "Match after or before (+/-)")
(const :tag "Never match" never))) (const :tag "Never match" never)))
(defcustom helm-highlight-only-all-matches nil
"Highlight only when all items match on the line when non nil.
See `helm-highlight-current-line'."
:group 'helm-utils
:type 'boolean)
(defcustom helm-buffers-to-resize-on-pa nil (defcustom helm-buffers-to-resize-on-pa nil
"A list of helm buffers where the helm-window should be reduced on PA. "A list of helm buffers where the helm-window should be reduced on PA.
Where PA means persistent action." Where PA means persistent action."
@ -820,7 +826,14 @@ Inlined here for compatibility."
(defvar helm--match-item-overlays nil) (defvar helm--match-item-overlays nil)
(cl-defun helm-highlight-current-line (&optional start end buf face) (cl-defun helm-highlight-current-line (&optional start end buf face)
"Highlight and underline current position" "Highlight current line and all matching items around it.
The number of lines around matched line where the matching items are
highlighted are defined by `helm-highlight-matches-around-point-max-lines'.
When the variable `helm-highlight-only-all-matches' is non nil only
the lines containing all matches (in case of multi match) are highlighted.
Optional arguments START, END and FACE are only here for debugging purpose."
(let* ((start (or start (line-beginning-position))) (let* ((start (or start (line-beginning-position)))
(end (or end (1+ (line-end-position)))) (end (or end (1+ (line-end-position))))
start-match end-match start-match end-match
@ -872,30 +885,48 @@ Inlined here for compatibility."
helm-highlight-matches-around-point-max-lines) helm-highlight-matches-around-point-max-lines)
(point-at-bol))))) (point-at-bol)))))
(catch 'empty-line (catch 'empty-line
(cl-loop with ov (let* ((regex-list (helm-remove-if-match
for r in (helm-remove-if-match "\\`!" (helm-mm-split-pattern
"\\`!" (helm-mm-split-pattern (if (with-helm-buffer
(if (with-helm-buffer ;; Needed for highlighting AG matches.
;; Needed for highlighting AG matches. (assq 'pcre (helm-get-current-source)))
(assq 'pcre (helm-get-current-source))) (helm--translate-pcre-to-elisp helm-input)
(helm--translate-pcre-to-elisp helm-input) helm-input))))
helm-input))) (num-regex (length regex-list)))
do (save-excursion (save-excursion
(goto-char start-match) (goto-char start-match)
(while (< (point) end-match)
(let* ((start-line (line-beginning-position))
(end-line (line-end-position))
all-matches)
(dolist (r regex-list)
(let ((match-list '()))
(save-excursion
(goto-char start-line)
(while (condition-case _err (while (condition-case _err
(and (not (= start-match end-match)) (and (not (= start-line end-line))
(if helm-migemo-mode (if helm-migemo-mode
(helm-mm-migemo-forward r end-match t) (helm-mm-migemo-forward r end-line t)
(re-search-forward r end-match t))) (re-search-forward r end-line t)))
(invalid-regexp nil)) (invalid-regexp nil))
(let ((s (match-beginning 0)) (let ((s (match-beginning 0))
(e (match-end 0))) (e (match-end 0)))
(if (= s e) (if (= s e)
(throw 'empty-line nil) (throw 'empty-line nil)
(push (setq ov (make-overlay s e)) (push (cons s e) match-list)))))
helm--match-item-overlays) (when match-list
(overlay-put ov 'face 'helm-match-item) (push match-list all-matches))))
(overlay-put ov 'priority 1)))))))) (when (and all-matches
(or (not helm-highlight-only-all-matches)
(eql (length all-matches) num-regex)))
(cl-loop for ml in all-matches
do (cl-loop for (s . e) in ml
for ov = (make-overlay s e)
do (progn
(push ov helm--match-item-overlays)
(overlay-put ov 'face 'helm-match-item)
(overlay-put ov 'priority 1))))))
(forward-line 1))))))
(recenter))) (recenter)))
(defun helm--translate-pcre-to-elisp (regexp) (defun helm--translate-pcre-to-elisp (regexp)

View File

@ -1,7 +1,7 @@
(define-package "helm-core" "20220824.1925" "Development files for Helm" (define-package "helm-core" "20220831.2005" "Development files for Helm"
'((emacs "25.1") '((emacs "25.1")
(async "1.9.4")) (async "1.9.4"))
:commit "4e99cc8ef66aac2d824c456f58abe833be26c99d" :authors :commit "1855ee17c0b3db18bbc9a329c91ce8fa27e825e5" :authors
'(("Thierry Volpiatto" . "thievol@posteo.net")) '(("Thierry Volpiatto" . "thievol@posteo.net"))
:maintainer :maintainer
'("Thierry Volpiatto" . "thievol@posteo.net") '("Thierry Volpiatto" . "thievol@posteo.net")

View File

@ -2120,6 +2120,28 @@ End:")
(helm-set-local-variable (helm-set-local-variable
'helm-display-function 'helm-display-buffer-in-own-frame) 'helm-display-function 'helm-display-buffer-in-own-frame)
,@body)) ,@body))
(defmacro helm-make-command-from-action (symbol doc action)
"Make a command SYMBOL from ACTION with docstring DOC.
The command SYMBOL will quit helm before execute.
Argument ACTION should be an existing helm action."
(declare (indent defun) (debug t))
`(defun ,symbol ()
,doc
(interactive)
(with-helm-alive-p
(helm-exit-and-execute-action ,action))))
(defmacro helm-make-persistent-command-from-action (symbol doc psymbol action)
"Make a persistent command SYMBOL bound to PSYMBOL from ACTION."
(declare (indent defun) (debug t))
`(defun ,symbol ()
,doc
(interactive)
(with-helm-alive-p
(helm-set-attr ,psymbol (cons ,action 'never-split))
(helm-execute-persistent-action ,psymbol))))
;;; helm-attributes ;;; helm-attributes
;; ;;
@ -3872,7 +3894,8 @@ For PRESELECT RESUME KEYMAP DEFAULT HISTORY, see `helm'."
helm-execute-action-at-once-if-one) helm-execute-action-at-once-if-one)
(helm-log "helm-quit-if-no-candidate = %S" helm-quit-if-no-candidate) (helm-log "helm-quit-if-no-candidate = %S" helm-quit-if-no-candidate)
(when (and src (helm-resume-p resume)) (when (and src (helm-resume-p resume))
(helm-display-mode-line src)) (helm-display-mode-line src)
(setq helm-pattern input))
;; Reset `helm-pattern' and update ;; Reset `helm-pattern' and update
;; display if no result found with precedent value of `helm-pattern' ;; display if no result found with precedent value of `helm-pattern'
;; unless `helm-quit-if-no-candidate' is non-`nil', in this case ;; unless `helm-quit-if-no-candidate' is non-`nil', in this case
@ -4120,12 +4143,9 @@ WARNING: Do not use this mode yourself, it is internal to Helm."
;; `helm-set-local-variable'. ;; `helm-set-local-variable'.
(setq helm--force-updating-p nil) (setq helm--force-updating-p nil)
(setq helm--buffer-in-new-frame-p nil) (setq helm--buffer-in-new-frame-p nil)
;; Reset helm-pattern so that value of previous session doesn't ;; No need to reinitialize helm-pattern here now it is done only
;; interfere with next session (bug#2530), however store last value ;; once in init function bug#2530.
;; of helm-pattern in `helm-last-query'. (setq helm-last-query helm-pattern)
(setq helm-last-query helm-pattern
helm-pattern ""
helm-input "")
;; This is needed in some cases where last input ;; This is needed in some cases where last input
;; is yielded infinitely in minibuffer after helm session. ;; is yielded infinitely in minibuffer after helm session.
(helm-clean-up-minibuffer)) (helm-clean-up-minibuffer))

View File

@ -296,6 +296,19 @@ available APPEND is ignored."
;; that no change to file is done. ;; that no change to file is done.
;; This also lead to ask confirmation for every files even when not ;; This also lead to ask confirmation for every files even when not
;; modified and when `wdired-use-interactive-rename' is nil. ;; modified and when `wdired-use-interactive-rename' is nil.
;; Obviously, we could make an :around advice like this:
;; (defun helm--advice-wdired-get-filename (old--fn &rest args)
;; (let* ((file (apply old--fn args))
;; (split (and file (split-string file "//"))))
;; (if (and (cdr split)
;; (string-match (format "\\(%s/\\)\\1" (car split)) file))
;; (replace-match "" nil nil file 1)
;; file)))
;; But for some reasons the original function in emacs-28 is returning
;; nil in some conditions and operation fails with no errors but with
;; something like "(no change performed)", so use an old version of
;; `wdired-get-filename' with its output modified and advice it with
;; :override.
(defun helm--advice-wdired-get-filename (&optional no-dir old) (defun helm--advice-wdired-get-filename (&optional no-dir old)
;; FIXME: Use dired-get-filename's new properties. ;; FIXME: Use dired-get-filename's new properties.
(let (beg end file) (let (beg end file)

Some files were not shown because too many files have changed in this diff Show More