dsh-case
文件与数据 活跃维护

dsh-case

ZhijiangTang/dsh-case

轻量级命名格式转换插件,支持 camelCase、snake_case、kebab-case、PascalCase 等主流命名规则自由切换,输入目标格式即可自动完成转换,适配各类代码开发场景的命名规范调整需求。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
JavaScript
主要语言
MIT
开源协议
6 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:ZhijiangTang/dsh-case
git clone https://github.com/ZhijiangTang/dsh-case.git
git clone git@github.com:ZhijiangTang/dsh-case.git
README.md main

dsh-case

DSH 插件:命名/大小写风格转换工具,注册一个 case_convert 工具。

纯 ESM、零依赖、无构建步骤。

安装

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 对象):

{ "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 主要作为结果中的标注,不影响转换正确性。