Emacs Eask
GitHubDiscordToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeBack to homepage
Edit page

领域特定语言

本文檔是關於 [DSL] (https://en.wikipedia.org/wiki/Domain-specific_language)。

🚩 包元資料

🔍 package (name version description)

使用給定的名稱、版本和描述聲明一個包:

(package "ert-runner" "0.7.0" "Opinionated Ert testing workflow")

所有參數都是字符串。 該版本必須是 Emacs 內置的 version-to-list 可以理解的版本。

🔍 website-url (url)

聲明包網站。

(website-url "https://github.com/owner/repo.git")

🔍 keywords (&rest keywords)

聲明包關鍵字。

(keywords "tool" "utility" "emacs")

🔍 author (name &optional email)

聲明包的作者。

(author "使用者名稱" "user.name@example.com")

🔍 license (name)

聲明包的作者。

(license "GPLv3")

🚩 Package contents

🔍 package-file (file version description)

從文件的包頭定義此包及其運行時依賴項(僅用於包開發)。

(package-file "foo.el")

🔍 package-descriptor (pkg-file)

通過指定文件中包含的包描述符直接聲明所有包元數據,名稱由文件給出。

(package-descriptor "foo-pkg.el")

🔍 files (&rest patterns)

指定包含在此項目中的文件列表。

(files "foo.el")
(files "*.el" "core/*.el")

🚩 測試

🔍 script (name command &rest args)

添加內置腳本及其預設的生命週期事件以及任意腳本。

(script "test" "echo This is a test!")

🚩 依賴

🔍 source (alias)

🔍 source (name url)

添加包存檔以從中安裝依賴項。

(source "gnu")
(source "gnu" "https://elpa.gnu.org/packages/")

可用別名:

可用 devel 別名:

💡 使用**–insecurehttpshttp**,但不推薦!

🔍 source-priority (name priority)

設置 archive 優先級。

(source-priority "gnu" 5)

🔍 depends-on (package-name &optional minimum-version)

🔍 depends-on (package-name &rest recipe)

指定此包的依賴項。

指定 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 安裝依賴項!

🔍 development (&rest body)

將正文中所有 depends-on 表達式的範圍限定為開發依賴。

(development
 (depends-on "ert-runner")
 (depends-on "elsa"))
💡 您需要為開發依賴項指定 –dev 選項!

🔍 load-paths (&rest paths)

指定要添加到 load-path 的路徑。

(load-paths "/lisp/")

🔍 exec-paths (&rest paths)

指定要添加到 exec-path 的路徑。

(load-paths "/bin/")