π© Commands and options (original) (raw)
- π© Creating
- π© Core
- π eask init
- π eask info
- π eask status
- π eask install
- π eask install-deps
- π eask install-file
- π eask install-vc
- π eask uninstall
- π eask reinstall
- π eask package
- π eask compile
- π eask recompile
- π eask package-directory
- π eask path
- π eask load-path
- π eask files
- π eask recipe
- π eask keywords
- π eask bump
- π eask cat
- π eask concat
- π eask loc
- π© Documentation
- π© Execution
- π© Management
- π© Generating
- π eask generate autoloads
- π eask generate pkg-file
- π eask generate recipe
- π eask generate license
- π eask generate ignore
- π eask generate test ert
- π eask generate test ert-runner
- π eask generate test buttercup
- π eask generate test ecukes
- π eask generate workflow circle-ci
- π eask generate workflow github
- π eask generate workflow gitlab
- π eask generate workflow travis-ci
- π© Linking
- π© Cleaning
- π© Linting
- π© Testing
- π© Formatting
- π© Control DSL
- π© Utilities
- π© Checker
- π© Global Options
- π βglobal, -g
- π βconfig, -c
- π βall, -a
- π βquick, -q
- π βforce, -f
- π βdebug
- π βstrict
- π βallow-error
- π βinsecure
- π βtimestamps
- π βlog-level
- π βlog-file, βlf
- π βno-color
- π βelapsed-time, βet
- π βverbose, -v
- π βversion
- π βhelp
- π© Proxy Options
The general syntax of the eask program is:
eask [GLOBAL-OPTIONS] [COMMAND] [COMMAND-OPTIONS] [COMMAND-ARGUMENTS]
π© Creating
π eask create package
Create a new elisp project with the default Eask-file and CI/CD support.
eask [GLOBAL-OPTIONS] create package <name>
Note
π eask create elpa
Create a new ELPA using github-elpa.
eask [GLOBAL-OPTIONS] create elpa <name>
Note
π eask create el-project
Create a new project with el-project.
eask [GLOBAL-OPTIONS] create el-project
π© Core
Often use commands that are uncategorized.
π eask init
Initialize the current directory to start using Eask.
eask [GLOBAL-OPTIONS] init
Eask will generate the file like this:
(package "PACKAGE-NAME"
"VERSION"
"YOUR PACKAGE SUMMARY")
(website-url "https://example.com/project-url/")
(keywords "KEYWORD1" "KEYWORD2")
(package-file "PACKAGE-FILE")
(script "test" "echo \"Error: no test specified\" && exit 1")
(source "gnu")
(depends-on "emacs" "26.1")
[RECOMMENDED] If you already have an elisp project, you can convert the.el file to Eask-file:
eask init --from source /path/to/source.el
If you already have a Cask project, you can convert Cask-file to Eask-file:
eask init --from cask /path/to/Cask
If you already have a Eldev project, you can convert Eldev-file to Eask-file:
eask init --from eldev /path/to/Eldev
If you already have a Keg project, you can convert Keg-file to Eask-file:
eask init --from keg /path/to/Keg
Note
π‘ See section Examples for more Eask-file examples!
π eask info
Show information about the project or configuration.
eask [GLOBAL-OPTIONS] info
π eask status
Show the workspace status.
eask [GLOBAL-OPTIONS] status
π eask install
To install packages from archives or install from the workspace.
eask [GLOBAL-OPTIONS] install [PACKAGES..]
Install packages by specifying arguments:
eask install auto-complete helm magit
Or else, it will install the package from the current development:
π eask install-deps
To install all dependencies.
Alias: install-dependencies, prepare
eask [GLOBAL-OPTIONS] install-deps [--dev]
Note
π‘ Specify option [βdev] to install dependencies from the development scope.
π eask install-file
Install packages from files, .tar files, or directories.
eask [GLOBAL-OPTIONS] install-file [FILES..]
π eask install-vc
Fetch and install packages directly via version control.
eask [GLOBAL-OPTIONS] install-vc [SPECS..]
π eask uninstall
To uninstall/delete packages.
eask [GLOBAL-OPTIONS] uninstall [PACKAGES..]
Uninstall packages by specifying arguments:
Or else, it will uninstall the package from the current workspace:
π eask reinstall
To reinstall packages from archives.
eask [GLOBAL-OPTIONS] reinstall [PACKAGES..]
π eask package
Build the package artifact.
Alias: pack
eask package [DESTINATION]
If [DESTINATION] is not specified, it will generate to the /dist folder by default.
π eask compile
Byte-compile .el files.
Compile files by specifying arguments:
eask compile file-1.el file-2.el
Or compile files that are already specified in your Eask-file.
π eask recompile
Byte-recompile .el files.
Note
π‘ Similar to
eask compile, but it will also remove old.elcfiles before compiling.
π eask package-directory
Print the path to package directory, where all dependencies are installed.
eask [GLOBAL-OPTIONS] package-directory
π eask path
Print the PATH environment variable of this project.
Alias: exec-path
eask [GLOBAL-OPTIONS] path [PATTERNS..]
Optionally, you can pass in [PATTERNS..] to perform the search.
π eask load-path
Print the load path containing the dependencies of the current project.
eask [GLOBAL-OPTIONS] load-path [PATTERNS..]
Optionally, you can pass in [PATTERNS..] to perform the search.
π eask files
Print the list of all package files.
eask [GLOBAL-OPTIONS] files [PATTERNS..]
If [PATTERNS..] are defined, it will display files that match that pattern.
π eask recipe
Suggest a recipe format.
eask [GLOBAL-OPTIONS] recipe [FILES..]
π eask keywords
Display the available keywords for use in the header section.
eask [GLOBAL-OPTIONS] keywords
π eask bump
Bump version for your project and/or Eask-file.
eask [GLOBAL-OPTIONS] bump [LEVELS..]
Note
π‘ Argument [LEVELS..] accepts major, minor and/or patch!
π eask cat
View filename(s).
The positional argument [PATTERNS..] is an array of wildcard patterns.
eask [GLOBAL-OPTIONS] cat [PATTERNS..]
Note
π‘ This command uses the package e2ansito accomplish the syntax highlighting.
π eask concat
Concatenate all Emacs Lisp files into one file.
eask [GLOBAL-OPTIONS] concat [FILES..]
π eask loc
Print LOC information.
eask [GLOBAL-OPTIONS] loc [FILES..]
π© Documentation
Commands used to build documentation site.
π eask docs
Build documentation.
eask [GLOBAL-OPTIONS] docs [NAMES..]
π© Execution
Commands allow you to execute on top of the Eask core.
Basically, this allows you to do anything you want!
π eask load
Load Emacs Lisp files in order.
eask [GLOBAL-OPTIONS] load [FILES..]
π eask exec
Execute the system command with the given arguments.
eask [GLOBAL-OPTIONS] exec [COMMAND] [ARGUMENTS ...]
π eask emacs
Execute emacs with the appropriate environment.
eask [GLOBAL-OPTIONS] emacs [ARGUMENTS ...]
π eask eval
Evaluate FORM as a lisp form.
eask [GLOBAL-OPTIONS] eval [FORM]
π eask repl
Start an Elisp REPL.
eask [GLOBAL-OPTIONS] repl [FILES..]
Alias: ielm
π eask run script
Run the script.
eask [GLOBAL-OPTIONS] run script [NAMES..]
π eask run command
Run the command.
Alias: cmd
eask [GLOBAL-OPTIONS] run command [NAMES..]
π eask docker
Launch specified Emacs version in a Docker container.
eask [GLOBAL-OPTIONS] docker <VERSION> [ARGUMENTS ...]
For example:
This is the same as jumping right into Emacs 26.1 (in docker) and executingeask info.
π© Management
Commands that help you manage your packageβs dependencies.
π eask archives
List out all package archives.
eask [GLOBAL-OPTIONS] archives
π eask search
Search packages from archives.
eask [GLOBAL-OPTIONS] search [QUEIRES..]
π eask upgrade
Upgrade all packages from archives.
eask [GLOBAL-OPTIONS] upgrade
π eask list
List all installed packages in dependency tree form.
eask [GLOBAL-OPTIONS] list [--depth]
π eask outdated
List out all outdated packages.
eask [GLOBAL-OPTIONS] outdated [--depth]
π eask refresh
Download descriptions of all configured package archives.
eask [GLOBAL-OPTIONS] refresh
π© Generating
Generate files that are used for the development.
π eask generate autoloads
Generate the autoload file.
Write a package autoloads to project-autoloads.el in the project root.
eask [GLOBAL-OPTIONS] generate autoloads
project is the project name, as declared in Eask-file. SeeMulti-file Packages (elisp)for details.
π eask generate pkg-file
Generate the pkg file.
Write a package descriptor file to project-pkg.el in the project root.
Alias: pkg, pkg-el
eask [GLOBAL-OPTIONS] generate pkg-file
project is the project name, as declared in Eask-file. SeeMulti-file Packages (elisp)for details.
π eask generate recipe
Generate the recipe file.
eask [GLOBAL-OPTIONS] generate recipe [DESTINATION]
If [DESTINATION] is not specified, it will generate to the /recipes folder by default.
π eask generate license
Generate a LICENSE file.
eask [GLOBAL-OPTIONS] generate license <name>
name is the type of the license, see https://api.github.com/licenses for all the choices.
Note
π‘ This command uses the package license-templatesto generate ignore file.
π eask generate ignore
Generate an ignore file.
eask [GLOBAL-OPTIONS] generate ignore <name>
Note
π‘ This command uses the package gitignore-templatesto generate ignore file.
π eask generate test ert
Create a new test project for the ert tests.
eask [GLOBAL-OPTIONS] generate test ert [NAMES..]
π eask generate test ert-runner
Create a new test project for the ert-runner.
eask [GLOBAL-OPTIONS] generate test ert-runner [NAMES..]
π eask generate test buttercup
Create a new Buttercup setup for the project.
eask [GLOBAL-OPTIONS] generate test buttercup
π eask generate test ecukes
Create a new Ecukes setup for the project.
eask [GLOBAL-OPTIONS] generate test ecukes
π eask generate workflow circle-ci
Generate the CircleCI workflow yaml file.
The default filename is config.yml.
eask [GLOBAL-OPTIONS] generate workflow circle-ci [--file]
This will generate the yaml file under .circleci/!
π eask generate workflow github
Generate the GitHub Actions workflow yaml file.
The default filename is test.yml.
eask [GLOBAL-OPTIONS] generate workflow github [--file]
This will generate the yaml file under .github/workflow/!
π eask generate workflow gitlab
Generate the GitLab Runner workflow yaml file.
The default filename is .gitlab-ci.yml.
eask [GLOBAL-OPTIONS] generate workflow gitlab [--file]
π eask generate workflow travis-ci
Generate the Travis CI workflow yaml file.
The default filename is .travis.yml.
eask [GLOBAL-OPTIONS] generate workflow travis-ci [--file]
π© Linking
Link between this package and a dependency on the local filesystem. A linked dependency avoids the need to download a dependency from a remote archive. The package linked to must either have a Eask-file or a -pkg.el-file.
π eask link add
Links the given source directory into the package directory of this project, under the given package name.
eask [GLOBAL-OPTIONS] link add <NAME> <PATH>
π eask link delete
Delete locally linked packages.
Alias: remove
eask [GLOBAL-OPTIONS] link delete [NAMES..]
π eask link list
List all links.
eask [GLOBAL-OPTIONS] link list
π© Cleaning
Delete various files produced during building.
π eask clean workspace
Delete the .eask from the current workspace.
Alias: .eask
eask [GLOBAL-OPTIONS] clean workspace
βοΈ Donβt specify the option --config, -c, or else it will delete your entire ~/.emacs.d.
π eask clean elc
Delete all .elc files. This would respect to your Eask file.
eask [GLOBAL-OPTIONS] clean elc
π eask clean dist
Delete the dist directory where the build output is stored.
Alias: distribution
eask [GLOBAL-OPTIONS] clean dist
π eask clean autoloads
Remove the generated autoloads file.
eask [GLOBAL-OPTIONS] clean autoloads
π eask clean pkg-file
Remove the generated pkg-file.
eask [GLOBAL-OPTIONS] clean pkg-file
π eask clean log-file
Remove all generated log files.
eask [GLOBAL-OPTIONS] clean log-file
π eask clean all
This command is the combination of all other clean commands.
clean workspaceclean elcclean distclean autoloadsclean pkg-fileclean log-file
Alias: everything
eask [GLOBAL-OPTIONS] clean all
π© Linting
Commands that lint your Emacs package.
π eask lint package
Run package-lint.
eask [GLOBAL-OPTIONS] lint package [FILES..]
π eask lint checkdoc
Run checkdoc (built-in).
eask [GLOBAL-OPTIONS] lint checkdoc [FILES..]
π eask lint elint
Run elint (built-in).
eask [GLOBAL-OPTIONS] lint elint [FILES..]
π eask lint elisp-lint
Run elisp-lint.
eask [GLOBAL-OPTIONS] lint elisp-lint [FILES..]
This does respect the .dir-locals.el file! π
π eask lint elsa
Run elsa.
eask [GLOBAL-OPTIONS] lint lint elsa [FILES..]
π eask lint indent
Run indent-lint.
eask [GLOBAL-OPTIONS] lint indent [FILES..]
π eask lint declare
Run check-declare (built-in).
eask [GLOBAL-OPTIONS] lint declare [FILES..]
π eask lint regexps
Run relint.
Alias: lint relint
eask [GLOBAL-OPTIONS] lint regexps [FILES..]
π eask lint keywords
Run keywords checker (built-in).
eask [GLOBAL-OPTIONS] lint keywords
π eask lint license
Run license check.
eask [GLOBAL-OPTIONS] lint license
π eask lint org
Run org-lint on Org files.
eask [GLOBAL-OPTIONS] lint org [FILES..]
π© Testing
Run regression/unit tests.
π eask test activate
Activate package; use to test the package activation
eask [GLOBAL-OPTIONS] activate [FILES..]
Note
π‘ You can pass in [FILES..] so you can test your package activation fully!
[FILES..] will be loaded after the package is activated.
π eask test ert
Run ert tests.
eask [GLOBAL-OPTIONS] test ert [FILES..]
π eask test ert-runner
Run ert test using ert-runner.
eask [GLOBAL-OPTIONS] test ert-runner
π eask test buttercup
Run buttercup tests.
eask [GLOBAL-OPTIONS] test buttercup
π eask test ecukes
Run ecukes tests.
eask [GLOBAL-OPTIONS] test ecukes [FILES..]
π eask test melpazoid
Run melpazoid tests.
eask [GLOBAL-OPTIONS] test melpazoid [DIRECTORIES..]
Note
π‘ If [DIRECTORIES..] is not passed in; it will use the current workspace instead.
π© Formatting
Commands that formats your Emacs source files.
π eask format elisp-autofmt
Run elisp-autofmt formatter.
eask [GLOBAL-OPTIONS] format elisp-autofmt [FILES..]
π eask format elfmt
Run elfmt formatter.
eask [GLOBAL-OPTIONS] format elfmt [FILES..]
π© Control DSL
List of commands that control DSL.
π eask source add
Add an archive source.
eask [GLOBAL-OPTIONS] source add <NAME> [URL]
π eask source delete
Remove an archive source.
Alias: remove
eask [GLOBAL-OPTIONS] source delete <NAME>
π eask source list
List all source information.
eask [GLOBAL-OPTIONS] source list
Note
π‘ This command is the same as
eask archives!
π© Utilities
Other helper commands.
π eask upgrade-eask
Upgrade Eask to the latest version.
Alias: upgrade-self
eask [GLOBAL-OPTIONS] upgrade-eask
Note
π‘ This will only work if you install it from the source!
π eask locate
Show the location where Eask is installed.
eask [GLOBAL-OPTIONS] locate
π© Checker
Commands to check your Eask-file.
π eask analyze
Lint an Eask-file.
eask [GLOBAL-OPTIONS] analyze [FILES..]
Example:
# lint all Eask-files in the current directory and subdirectories
eask analyze
# lint specific files
eask analyze Eask Eask.27
# lint all Eask-files in specified directory and subdirectories
eask analyze src/
# print result as JSON
eask analyze --json
For more detail, run eask analyze --help.
π© Global Options
The following options are available on all Eask commands:
π βglobal, -g
This will use ~/.eask/ instead of the package development environment.
This is used for other tasks. e.g., cat, etc.
π βconfig, -c
This will use ~/.emacs.d/ instead of the package development environment.
This is used for doing stuff for your Emacs configuration. e.g., package management, etc.
π βall, -a
Enable the all flag.
π βquick, -q
Start cleanly without loading the configuration files.
π βforce, -f
Force commandβs execution.
Force to uninstall the package dash even itβs a dependency from another packages.
π βdebug
Enable debug information.
This is equivalent to:
π βstrict
Trigger error instead of warnings.
For instance, in eask compile:
(setq byte-compile-error-on-warn t)
π βallow-error
Continue the execution without killing the Emacs.
π βinsecure
Connect archives with HTTP instead of HTTPS.
π βtimestamps
Enable/Disable timestamps.
π βlog-level
Enable/Disable log header.
π βlog-file, βlf
Weather to generate log files.
π βno-color
Disable color output.
π βelapsed-time, βet
Show elapsed time between each operation.
π βverbose, -v <integer>
Set verbosity from 0 to 5.
eask --verbose 4 [COMMAND]
π βversion
Show version number.
π βhelp
Show help.
π© Proxy Options
π βproxy <proxy>
Set Emacs proxy for HTTP and HTTPS:
eask --proxy "localhost:8888" [COMMAND]
π βhttp-proxy <proxy>
Set Emacs proxy for HTTP only.
π βhttps-proxy <proxy>
Set Emacs proxy for HTTPS only.
π βno-proxy <pattern>
Do not use a proxy for any URL matching pattern.
<pattern>is an Emacs regular expression.