Bundle
dsh-case
DSH plugin: case/naming conversion tool (case_convert).
- Source
- ZhijiangTang
- stars
- 1 stars
- License
- MIT
- Updated
- Updated 14 days ago
Readme
# dsh-case
DSH 插件:命名/大小写风格转换工具,注册一个 `case_convert` 工具。
纯 ESM、零依赖、无构建步骤。
## 安装
```sh
dsh plugin --profile <name> add file:./plugins/dsh-case
# 或发布后
dsh plugin --profile <name> add dsh-case
```
## 工具 `case_convert`
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `text` | string | 是 | 待转换文本 |
| `target` | string(enum) | 是 | 目标风格 |
| `source` | string(enum) | 否 | 源风格,默认 `auto` 自动检测 |
返回值(规范 JSON 对象):
```json
{ "input": "...", "target": "camelCase", "source": "snake_case", "output": "...", "words": ["..."] }
```
## 各 target 示例
以 `hello_world`(snake_case)为输入:
| target | 输出 |
|---|---|
| `camelCase` | `helloWorld` |
| `PascalCase` | `HelloWorld` |
| `snake_case` | `hello_world` |
| `kebab-case` | `hello-world` |
| `CONSTANT_CASE` | `HELLO_WORLD` |
| `UPPER` | `HELLO WORLD` |
| `lower` | `hello world` |
| `Title Case` | `Hello World` |
## 分词规则
1. 按分隔符 `-`、`_`、空白、`.` 切词。
2. 在无分隔符片段内按大小写边界切词:
- 小写 → 大写(`helloWorld` → `hello` / `World`)
- 连续大写后接小写(`HTTPApi` → `HTTP` / `Api`)
- 数字后接「大写 + 小写」(`my2Factor` → `my2` / `Factor`)
3. 数字粘合到相邻单词,不单独成词:`version2` → `version2`;开头的 `2FA` 保持为一个整体不拆分。
4. 空输入或纯符号输入原样返回,`words` 为空数组。
`source` 用于 `auto` 检测时的判定(分隔符 + 连续大写规则);分词算法对全部分隔符与大小写边界一视同仁,因此 `source` 主要作为结果中的标注,不影响转换正确性。
Install
dsh plugin --profile web add github:ZhijiangTang/dsh-case
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-case from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.