設定
本頁列出 lip 的全部設定:兩個設定檔、它們的格式、每個鍵的取值、預設值和作用,以及修改它們的方法。
兩個檔案
| 作用域 | 檔案 | 適用於 | 修改方式 |
|---|---|---|---|
| 使用者 | 設定目錄中的 config.toml | lip 為你做的所有事情。 | lip config ... |
| 工作區 | 工作區中的 .lip/config.toml | 該工作區。 | 在工作區中執行 lip config ... --workspace |
設定目錄在 Windows 上是 %APPDATA%\lip,在其他系統上是 $XDG_CONFIG_HOME/lip,預設即 ~/.config/lip。
每個作用域有自己的鍵。一個作用域的鍵不是另一個作用域的鍵:不帶 --workspace 的 lip config get restart 會失敗。
格式
每個檔案都是 TOML 1.0 檔案,包含 format = 4 和所屬作用域的鍵:
format = 4
github_proxy = "https://proxy.example.com/"
language = "zh-Hans"format = 4
restart = "on-failure"- 檔案中沒有的鍵取預設值。沒有預設值的鍵此時沒有值。
- 不屬於該作用域的鍵會被忽略。
- 檔案不存在、無法讀取或無效時,視為空檔案:該作用域的所有鍵都不存在。只要有一個鍵的值不被接受,整個檔案就無效。
- 只有在你修改某個值時,lip 才會寫檔案。它寫入
format和你設定過的鍵,省略處於預設值的鍵和沒有值的鍵。 - 寫
.lip/config.toml時,如果.lip不存在就建立它。這不需要任何鎖,所以伺服器執行時也可以修改。
這兩個檔案由以 TOML 書寫的 JSON Schema config.schema.toml 和 workspace-config.schema.toml 描述。
使用者設定
| 鍵 | 取值 | 預設值 |
|---|---|---|
github_proxy | 一個 URI,或空字串。 | 無 |
language | en、zh-Hans 或 zh-Hant。 | 無 |
github_proxy
lip 怎樣向 GitHub 傳送網路請求:git 儲存庫和下載。
| 值 | 作用 |
|---|---|
一個 URI,例如 https://proxy.example.com/ | lip 通過這個 URI 前綴傳送請求。通過它失敗的請求會直接發往 GitHub。 |
空字串(lip config set github_proxy "") | lip 直接向 GitHub 傳送請求。 |
沒有值(lip config delete github_proxy) | lip 直接向 GitHub 傳送請求,並且 github_proxy 未設定。 |
後兩種只對介面有區別:github_proxy 未設定時,介面在啟動時檢查能否連上 GitHub,連不上就詢問你怎樣連線。只要它有值(包括空字串),介面就不再詢問。
無論 github_proxy 是什麼,lip self-update 都直接從 GitHub 讀取發佈清單和校驗和,只有更新檔案本身通過它下載。
language
介面的語言:en 為英文,zh-Hans 為簡體中文,zh-Hant 為繁體中文。
沒有值時,介面跟隨系統語言:在 Windows 上是顯示語言,在其他系統上是 LC_ALL、LC_MESSAGES 和 LANG 中第一個指明瞭語言的變數。如果它既不是英文也不是中文,介面使用英文。
language 隻影響介面。命令的消息和結果始終是英文。
工作區設定
| 鍵 | 取值 | 預設值 |
|---|---|---|
restart | never 或 on-failure。 | never |
restart
工作區的伺服器以非 0 結束代碼結束時,是否重新啟動它。
| 值 | 作用 |
|---|---|
never | 不重新啟動伺服器。 |
on-failure | lip 寫一條消息,等待 5 秒,然後再次啟動伺服器;10 分鐘內最多 5 次。你要求停止的伺服器不會被重新啟動。 |
lip 在伺服器每次結束時讀取 restart,所以可以在伺服器執行時修改它。參見 lip run。
修改設定
用命令修改,參見 lip config:
lip config list
lip config set github_proxy https://proxy.example.com/
lip config delete github_proxy
lip config set restart on-failure --workspace值不被該鍵接受時,lip config set 失敗,不做任何變更。
在介面中,設定頁修改的是同樣的檔案:
| 設定頁中的項 | 鍵 | 等同於 |
|---|---|---|
| 語言 | language | lip config set language <value>;跟隨系統即 lip config delete language。 |
| GitHub 代理伺服器 | github_proxy | lip config set github_proxy <URI>;直接連線設定為空字串;重設即 lip config delete github_proxy。 |
| 自動重新啟動 | 目前工作區的 restart | 開啟時為 lip config set restart on-failure --workspace,關閉時為 never。 |
當你回答介面關於如何連線 GitHub 的詢問時,介面也會寫入 github_proxy:填寫代理伺服器則設定為該 URI,直接連線設定為空字串,稍後再說不做任何變更。
你也可以手動編輯這些檔案。lip 在命令需要時讀取它們。
liprc.json
lip v0.x 把設定儲存在設定目錄的 liprc.json 中。如果設定目錄中沒有 config.toml 而有 liprc.json,lip 會從中讀取 github_proxy,寫成 config.toml,然後刪除 liprc.json。這隻發生一次,在第一條命令讀取設定之前。
試執行以同樣的方式讀取 liprc.json,但不寫 config.toml,也保留 liprc.json。
另請參閱
lip config- 設定 lip:同樣的內容,以指南的形式。
- 介面中的設定頁。
- 檔案:各系統上這些檔案的位置。