DEPRECATED: This package is deprecated. Please use package.el.
Technical Notes: Package maintainers assume that the packages they develop will be installed at run-time with package.el. Therefore, they may ask the user for interactive input during installation. I conclude that this makes headless multiplexing difficult, as it is not known until the actual installation.
feather.el is a wrapper for package.el that supports parallel fetching/byte-compiling.
It have already prepared front end for leaf.el in leaf-keywword.el, and you can seamlessly manage Emacs packages with feather.el.
When feather-mode is enabled, feather.el advices package-install in package.el.
So, all installation using package.el is handled by feather.el.
feather.el is a package.el wrapper that supports parallel fetch/byte-compilation.
When feather-mode is enabled, feather.el sets advice to package-install, handles all package installations, and executes them asynchronously.
Originally conceived as a completely new package manager,
but in the middle of development it was thought that simply handling package-install would be sufficient to achieve the goal,
so it provides your Emacs with a powerful asynchronous installation that preserves the package.el experience.
feather is available via el-get
(leaf feather
:el-get conao3/feather.el
:config (feather-mode))Just enable feather-mode and install some package via package.el (package-install, list-package,,,)
feather sets the advice to run package-install asynchronously.
That is, package-install returns the moment it is executed, and the subsequent S-exp is executed (if any).
Therefore, the following configuration will result in an error.
(package-install 'leaf-keywords)
(leaf-keywords-init)If you want execute leaf-keywords-init after leaf-keywords is installed as intended, you need to register an S-exp with father.
This allows feather to execute the registered S-exp after the package is installed.
(package-install 'leaf-keywords)
(feather-add-after-installed-hook-sexp leaf-keywords
(leaf-keywords-init))However, this is generally cumbersome, so the easiest solution is to use leaf.
Using the :feather keyword as a trigger, the S-exp that should be executed after the package is installed is automatically registered with the feather.
(leaf leaf-keywordsq
:feather t
:config (leaf-keywords-init))If you want to switch to a feather install for all the :ensure keywords, you can do so by setting leaf-alias-keyword-alist.
With leaf-alias-keyword-alist is ((:ensure . :feather)), the leaf block below has the same meaning as a leaf block using the :feather keyword.
(leaf leaf-keywords
:ensure t
:config (leaf-keywords-init))I love OSS and I am dreaming of working on it as full-time job.
With your support, I will be able to spend more time at OSS!
All feedback and suggestions are welcome!
You can use github issues, but you can also use Slack if you want a more casual conversation.
Feel free to send PR!
General Public License Version 3 (GPLv3) Copyright (c) Naoya Yamashita - https://conao3.com https://github.com/conao3/feather.el/blob/master/LICENSE
- Naoya Yamashita (conao3)
- Not yet… Now send PR and add your name!!


