我正在尝试从TM_DIRECTORY变量(提供完整路径(中获取"基目录"以转换为PascalCase(在snake_case中(。
所以,为了/this/is/path/to/base_dir
,我想得到BaseDir
这是我到目前为止得到的:
${TM_DIRECTORY/(^.+\/(.*)$)/${2:/capitalize}/g}
由此而来
这给了我:
/this/is/path/to/base_dir
Base_dir
我觉得我必须以某种方式合并${TM_DIRECTORY/((^[a-z])|_([a-z]))/${2:/upcase}${3:/upcase}/g}
但不知道如何。
使用这个:
"${TM_DIRECTORY/(^.+\/(.*)$)/${2:/pascalcase}/}",
不幸的是,pascalcase
选项没有记录在案。
如果该选项不可用,我会建议这样做:
"${TM_DIRECTORY/.*\/(.*)_(.*)$/${1:/capitalize}${2:/capitalize}/}",
这个想法是获取两个捕获组中的最后一个目录,将每个捕获组大写并忽略下划线分隔符(即,它不会出现在转换部分中(。
概括地说,如果您的目录名称中除了下划线之外还有其他名称分隔符,则可以在该中间部分使用此[_-]
- 只需包含其他可能的分隔符。