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!!