lppedd / idea-conventional-commit

Context and template-based completion for conventional/semantic commits.
https://plugins.jetbrains.com/plugin/13389-conventional-commit
MIT License
336 stars 18 forks source link

Allow any character - except whitespace - in regexp patterns #44

Closed lppedd closed 3 years ago

lppedd commented 3 years ago

See \p{L}.

https://www.regular-expressions.info/unicode.html

Ping for @cn-src

lppedd commented 3 years ago

@cn-src @agileago

Any international symbol will be allowed by the regex.

^[^\p{Sc}\p{Sk}\p{Sm}\p{Po}\p{Ps}\p{Pe}\p{Pi}\p{Pf}\p{Cc}\p{Co}\p{Cn}\p{Z}]+$

Also I implemented a naming convention inspection for type, scope and footer type.

image

Here I set the valid patterns for type and scope.

image

In case of bad pattern, you get warned and cannot persist.

image

What do you think?

lppedd commented 3 years ago

@ymind your opinion is also important here 😄

agileago commented 3 years ago

@lppedd perfect!! Your work is amazing!Looking forward to an early release

lppedd commented 3 years ago

Fixed with commit a623a6051b7847ed76c33d94a56e5a365229a622

agileago commented 3 years ago

@lppedd maybe we can support git emoji ? it is like https://gitmoji.dev/

{
  "types": {
    "🎉 重构": {
      "description": "重构:    代码重构,注意和特性、修复区分开"
    },
    "修复": {
      "description": "修复:    修复一个Bug"
    },
    "特性": {
      "description": "特性:    一个新的特性"
    },
    "构建": {
      "description": "构建:   开发环境构建",
      "scopes": {
        "npm": {},
        "gulp": {},
        "broccoli": {}
      }
    },
    "设计": {
      "description": "设计:   修改代码设计"
    },
    "格式": {
      "description": "格式:    空格, 分号等格式修复"
    },
    "测试": {
      "description": "测试:    添加一个测试"
    },
    "文档": {
      "description": "文档:    变更的只有文档"
    },
    "性能": {
      "description": "性能:    提升性能"
    },
    "工具": {
      "description": "工具:    开发工具变动(构建、脚手架工具等)"
    },
    "回滚": {
      "description": "回滚:    代码回退"
    }
  },
  "commonScopes": {
    "模块一": {
      "description": "我是模块一"
    }
  },
  "footerTypes": [
    {
      "name": "BREAKING CHANGE",
      "description": "The commit introduces breaking API changes"
    },
    {
      "name": "Closes",
      "description": "The commit closes issues or pull requests"
    },
    {
      "name": "Implements",
      "description": "The commit implements features"
    },
    {
      "name": "Co-authored-by",
      "description": "The commit is co-authored by another person.<br/>For multiple people use one line each"
    },
    {
      "name": "Refs",
      "description": "The commit references other commits by their hash ID.<br/>For multiple hash IDs use a comma as separator"
    }
  ]
}