Qob
GitHub Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage
Edit page

🔨 使用基礎

Eask 的 CLI 功能齊全但易於使用,即使對於那些使用命令行的經驗非常有限的人也是如此。

以下是您在開發 Eask 項目時將使用的最常用命令的說明。 請參閱 命令和選項 以全面了解 Eask 的 CLI。

一旦你安裝了 Eask,確保它在你的 PATH 中。 您可以通過 help 命令測試 Eask 是否已正確安裝:

$ qob --help
💡 或者,您可以使用 --show-hidden 來顯示所有可用的命令和選項!

您在控制台中看到的輸出應類似於以下內容:

NAME:
  qob - CLI for building, running, testing, and managing your Common Lisp dependencies

USAGE:
  qob [global-options] [<command>] [command-options] [arguments ...]

OPTIONS:
      --help           display usage information and exit
      --no-color       enable/disable color output
      --version        display version and exit
  -a, --all            enable all flag
  -g, --global         change default workspace to ~/.qob/
  -v, --verbose <INT>  set verbosity from 0 to 5 [default: 3]

COMMANDS:
  build          Build the executable
  clean          Delete various files produced during building
  create         Create a new Common Lisp project
  dists          List out all installed dists
  eval           Evaluate lisp form with a proper PATH
  files          Print all system files
  package        Build a system artifact
  info           Display information about the current system(s)
  init           Initialize project to use Qob
  install        Install systems
  install-deps   Automatically install system dependencies
  install-dists  Install dists
  list           List the registered systems
  load           Load lisp files
  locate         Print out Qob installed location
  status         Display the state of the workspace
  uninstall      Uninstall systems

AUTHORS:
  Jen-Chieh Shen <jcs090218@gmail.com>

LICENSE:
  MIT

🗃️ qob 命令

最常見的用法可能是在當前目錄作為輸入目錄的情況下運行 eask。 然後你運行 eask 後跟一個子命令:

$ eask info             # 打印出Eask文件信息

Notice the subcommand can be nested:

$ eask clean workspace  # 刪除你的 .eask 文件夾

傳遞選項 --help 以查找有關您正在使用的命令的更多信息:

$ eask clean --help

輸出,它顯示支持 7 個子命令:

Delete various files produced during building

Usage: eask clean <type> [options..]

Commands:
  clean all                  Do all cleaning tasks                                                                                                                                          [aliases: everything]
  clean autoloads            Remove generated autoloads file
  clean dist [destination]   Delete dist subdirectory                                                                                                                                     [aliases: distribution]
  clean elc                  Remove byte compiled files generated by eask compile
  clean log-file             Remove all generated log files
  clean pkg-file             Remove generated pkg-file
  clean workspace            Clean up .eask directory                                                                                                                                            [aliases: .eask]

Positionals:
  <type>  type of the cleaning task

...

以下是已知的嵌套子命令列表:

  • eask create
  • eask clean
  • eask generate
  • eask generate workflow
  • eask link
  • eask lint
  • eask run
  • eask source
  • eask test

📌 了解你的 elpa 目錄

Eask 創建了一個隔離的環境,因此在播放、測試和運行您的 elisp 包後它不會產生任何副作用。 但了解當前 Eask 會話指向的 elpa 目錄(您可以將其視為您的 .emacs.d)非常重要,這樣您 才能釋放該工具的全部潛力!

以下是 Eask 在不同場景下的幕後工作方式:

名稱描述選項路徑
local默認行為,使用 Eask 作為包開發工具n/a./.eask
config使用 Eask 作為您的包管理器 (它也可以用作測試工具)-c or --config~/.emacs.d
globalEask 作為通用工具使用,與其他範圍無關-g or --global~/.eask

您可能會想到為什麼要創建這些規則。

configlocal 範圍很容易理解,因為許多其他構建工具使用 local 範圍來創建隔離環境。 config 範圍是一項附加功能,適用於喜歡使用外部工具而不是內置 package.el 或配置基礎 straight.el 管理包的人, 因此您可以節省啟動時間 檢查是否為您的 Emacs 運行安裝了軟件包。

那麼 Eask 的 global 範圍是什麼? 為什麼需要它?

Eask 現在不僅僅是一個構建工具。 一些命令不需要它們的依賴項作為包依賴項。 例如,cat 命令:

$ eask cat [PATTERNS..]

cat 是一個模仿 Linux 的默認 cat 命令的簡單命令,但它會為您突出顯示語法! 它是如何實施的? 該命令依賴於外部包 e2ansi,這既不是 package 也不是 config 依賴項(它可能是,但假設我們不需要它)。

我們如何使用這個命令而不會對您的項目或個人 emacs 配置產生副作用? 針對這個問題引入了全局範圍。 現在我們可以添加任何有用的命令而不用擔心你的環境被搞砸了。

下面是描述 Eask 生命週期的流程圖:

默認情況下,Eask 使用您的當前目錄作為您的工作區,因為大多數時候您只想為您的 elisp 包運行作業。