领域特定语言
本文檔是關於 [DSL] (https://en.wikipedia.org/wiki/Domain-specific_language)。
使用給定的名稱、版本和描述聲明一個包:
(package "ert-runner" "0.7.0" "Opinionated Ert testing workflow")
所有參數都是字符串。 該版本必須是 Emacs 內置的 version-to-list
可以理解的版本。
聲明包網站。
(website-url "https://github.com/owner/repo.git")
聲明包關鍵字。
(keywords "tool" "utility" "emacs")
聲明包的作者。
(author "使用者名稱" "user.name@example.com")
聲明包的作者。
(license "GPLv3")
從文件的包頭定義此包及其運行時依賴項(僅用於包開發)。
(package-file "foo.el")
通過指定文件中包含的包描述符直接聲明所有包元數據,名稱由文件給出。
(package-descriptor "foo-pkg.el")
指定包含在此項目中的文件列表。
(files "foo.el")
(files "*.el" "core/*.el")
添加內置腳本及其預設的生命週期事件以及任意腳本。
(script "test" "echo This is a test!")
添加包存檔以從中安裝依賴項。
(source "gnu")
(source "gnu" "https://elpa.gnu.org/packages/")
可用別名:
gnu
(https://elpa.gnu.org/packages/)nongnu
(https://elpa.nongnu.org/nongnu/)celpa
(https://celpa.conao3.com/)jcs-elpa
(https://jcs-emacs.github.io/jcs-elpa/packages/)marmalade
(https://marmalade-repo.org/packages/)melpa
(https://melpa.org/packages/)melpa-stable
(https://stable.melpa.org/packages/)org
(https://orgmode.org/elpa/)shmelpa
(https://shmelpa.commandlinesystems.com/packages/)ublt
(https://elpa.ubolonton.org/packages/)
可用 devel
別名:
gnu-devel
(https://elpa.gnu.org/devel/)nongnu-devel
(https://elpa.nongnu.org/nongnu-devel/)
💡 使用**–insecure讓https轉http**,但不推薦!
設置 archive 優先級。
(source-priority "gnu" 5)
指定此包的依賴項。
指定 archives 中列出的依賴項:
(depends-on "emacs" "26.1")
(depends-on "dash")
(depends-on "company")
以 recipe 格式指定依賴項:
(depends-on "auto-rename-tag"
:repo "jcs-elpa/auto-rename-tag"
:fetcher 'github)
(depends-on "lsp-ui"
:repo "emacs-lsp/lsp-ui"
:fetcher 'github
:files '(:defaults "lsp-ui-doc.html" "resources"))
💡 使用命令 eask install-deps 安裝依賴項!
將正文中所有 depends-on
表達式的範圍限定為開發依賴。
(development
(depends-on "ert-runner")
(depends-on "elsa"))
💡 您需要為開發依賴項指定 –dev 選項!
指定要添加到 load-path
的路徑。
(load-paths "/lisp/")
指定要添加到 exec-path
的路徑。
(load-paths "/bin/")