#guide #maker #tmux #tui #dotfiles #terminal

app conffee-maker

Conffee 可以引导您制作配置文件

1 个不稳定版本

0.1.0 2020年8月25日

#514 in 配置

MIT 协议

5KB

Conffee-maker

$cm 或 Confee Maker 是一个基于模板生成不同应用程序配置文件的命令行终端界面 TUI

您是否曾尝试配置 nvimtmuxalacritty 或其他基于 dotfiles 的应用程序配置?

如果您可以告诉 cm 引导这个过程会怎样?

$ cargo install cm

重要cm 并不会简单地为您生成配置文件,而是会引导您一步步进行,允许逐个选择每个选项,包括每个配置的解释,它 永远不会 允许您在不了解其目的的情况下设置某些配置值。

示例

$ cm --update-templates

[1%..... downloading community templates ..... 100%]

Updated Global templates:

- nvim
- tmux
- alacritty
...

传递要使用的模板名称,或者传递自定义模板的位置。

例如

$cm nvim

或者

$cm github.com/foo/bar:nvim

使用上述任一方法,cm TUI 将会打开并引导您完成过程


Welcome to Conffee Maker press [enter] to start
brewing your conffeeguration files for `nvim`
     ______________________
    (___________           |
      [XXXXX]   |          |
 __  /~~~~~~~\  |          |
/  \|@@@@@@@@@\ |   nvim   |
\   |@@@@@@@@@@||          |
    \@@@@@@@@@@||  ______  |
     \@@@@@@@@/ | |on|off| |
    __\@@@@@@/__|  ~~~~~~  |
   (____________|__________|
   |_______________________|


然后在下一步中,每个屏幕都会引导您

每个屏幕都是配置文件中的一行或一个部分的指南。

###########################################################
#
#        Cursor Line and Column
#
#   set cursorline    [x]    - use space bar to select
#   set cursorcolumn  [x]
#
#  Please choose which cursor lines you want to be ren-
#  derred.
#
#  Cursor lines are special markers on screen as shown
#  in ....
#                                 [enter or -> for next]
#
#  Stats:
#    - 56% of users set this options to `true`
#    - This option is popular among Python developers
#    - This is useful for selections in Visual Column Mode
#
###########################################################

cm 将为配置文件的每个部分显示一个屏幕,并在最后生成文件并询问用户是否想要更改其保存位置。

cm 将始终在找到现有文件时进行备份。

模板

模板是包含全局变量和每个选项模板(也称为 drops)的 YAML 文件。

nvim.yaml

---
cm: 0.1.0
defaults:
  output_path: "$XDG_HOME/.config/nvim/init.vim"
drops:
  - name: Cursor Line and Column
    spaced: true
    options:
      - "set cursorline   {flag}"
      - "set cursorcolumn {flag}"
    outputs:
      - "set cursorline"
      - "set cursorcolumn"
    help: Cursor lines are special markers on screen as shown in ...

  - name: Allow hidden buffers
    spaced: false
    options:
      - "set hidden {flag}"
    outputs:
      - "set hidden"
    help: Enables the closing of buffers without saving it.

多个模板可以合并和组合。

无运行时依赖