| title | 领域特定语言 |
|---|---|
| weight | 200 |
本文檔是關於 [DSL] (https://en.wikipedia.org/wiki/Domain-specific_language)。
{{< toc >}}
使用給定的名稱、版本和描述聲明一個包:
(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/)
{{< hint ok >}} 💡 使用**--insecure讓https轉http**,但不推薦! {{< /hint >}}
設置 archive 優先級。
(source-priority "gnu" 5)指定此包的依賴項。
指定 archives 中列出的依賴項:
(depends-on "emacs" "26.1")
(depends-on "dash")
(depends-on "company")以 file 格式指定依賴項:
(depends-on "auto-rename-tag" :file "/path/to/auto-rename-tag")
(depends-on "lsp-ui" :file "/path/to/lsp-ui")以 vc 格式指定依賴項:
(depends-on "auto-rename-tag" :vc "jcs-elpa/auto-rename-tag")
(depends-on "lsp-ui" :vc "emacs-lsp/lsp-ui")以 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")){{< hint ok >}} 💡 使用命令 eask install-deps 安裝依賴項! {{< /hint >}}
將正文中所有 depends-on 表達式的範圍限定為開發依賴。
(development
(depends-on "ert-runner")
(depends-on "elsa")){{< hint ok >}} 💡 您需要為開發依賴項指定 --dev 選項! {{< /hint >}}
指定要添加到 load-path 的路徑。
(load-paths "/lisp/")指定要添加到 exec-path 的路徑。
(load-paths "/bin/")