Skip to content

Commit ef0d713

Browse files
authored
♻️ Merge pull request #35 from HidemaruOwO/feature/commit-message-length
✨ コミットメッセージに含まれるFilePathの長さが指定された長さを超えたらトリミングするように変更
2 parents 3d166bd + 1e74b49 commit ef0d713

File tree

6 files changed

+80
-31
lines changed

6 files changed

+80
-31
lines changed

src/cmd/alias/add.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ func AliasAddCmd(alias string, prefix string) {
1414
}
1515

1616
func aliasAdd(alias string, prefix string) {
17-
aliases := lib.GetAlias()
17+
aliases := lib.GetAppConfig()
1818

1919
if alias != strings.TrimSpace(alias) || prefix != strings.TrimSpace(prefix) {
2020
log.Warnf("Please do not include spaces in alias and emoji prefixes\n")
@@ -43,7 +43,7 @@ func aliasAdd(alias string, prefix string) {
4343
os.Exit(0)
4444
}
4545

46-
aliases.Alias = append(aliases.Alias, []string{alias, prefix, emoji})
46+
*aliases.Alias = append(*aliases.Alias, []string{alias, prefix, emoji})
4747

4848
lib.WriteConfig(aliases)
4949
log.Infof(

src/cmd/alias/delete.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ func AliasDeleteCmd(targets []string) {
1313
}
1414

1515
func aliasDelete(targets []string) {
16-
alias := lib.GetAlias()
17-
slice := alias.Alias
16+
alias := lib.GetAppConfig()
17+
slice := *alias.Alias
1818

1919
log.Debugf(config.IS_DEBUG, "Removing %v\n", targets)
2020

@@ -29,7 +29,7 @@ func aliasDelete(targets []string) {
2929
}
3030
wg.Wait()
3131

32-
alias.Alias = slice
32+
*alias.Alias = slice
3333
lib.WriteConfig(alias)
3434
}
3535

src/cmd/alias/reset.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ func aliasReset() {
2727

2828
input = strings.TrimSpace(input)
2929
if input == "y" || input == "Y" {
30-
var alias lib.Alias
30+
var alias lib.AppConfig
3131
if err := json.Unmarshal([]byte(config.BASE_JSON_DATA), &alias); err != nil {
3232
log.Criticalf("JSON encoding failed\n")
3333
log.ErrorExit(err)

src/cmd/root.go

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -65,26 +65,35 @@ func gitCommit(prefix string, subject string) {
6565
wg.Wait()
6666

6767
_, emoji := lib.IncludeGitimoji(prefix)
68+
appConfig := lib.GetAppConfig()
6869

69-
aliases := lib.GetAlias()
7070
gitChange = strings.ReplaceAll(gitChange, "\n", ", ")
7171

72-
var commitMsg string
72+
var commigMessage string
7373

74-
if aliases.WriteEmoji {
74+
var message string
7575

76+
if *appConfig.WriteEmoji {
7677
if emoji != "" {
7778
prefix = emoji
78-
commitMsg = fmt.Sprintf("%s %s (%s)", prefix, subject, gitChange)
7979
} else {
80-
commitMsg = fmt.Sprintf(":%s: %s (%s)", prefix, subject, gitChange)
80+
prefix = fmt.Sprintf(":%s:", prefix)
81+
}
82+
}
83+
84+
if *appConfig.UseLimitPathesLength {
85+
if *appConfig.LimitPathesLength < len([]rune(gitChange)) {
86+
gitChange = fmt.Sprintf("%s...", gitChange[:*appConfig.LimitPathesLength])
8187
}
8288

89+
message = fmt.Sprintf("%s (%s)", subject, gitChange)
8390
} else {
84-
commitMsg = fmt.Sprintf(":%s: %s (%s)", prefix, subject, gitChange)
91+
message = fmt.Sprintf("%s", subject)
8592
}
8693

87-
cmd := exec.Command("git", "commit", "-m", commitMsg)
94+
commigMessage = fmt.Sprintf("%s %s", prefix, message)
95+
96+
cmd := exec.Command("git", "commit", "-m", commigMessage)
8897
_, err = cmd.Output()
8998
if err != nil {
9099
log.ErrorExit(err)

src/config/config.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,13 @@ import (
77
"github.com/HidemaruOwO/nuts/log"
88
)
99

10-
const VERSION string = "v1.2.3"
10+
const VERSION string = "v1.2.4"
1111

1212
// const BaseJsonData string = `{
1313
const BASE_JSON_DATA string = `{
1414
"writeEmoji": true,
1515
"useAlias": true,
16+
"useLimitPathesLength": 50,
1617
"alias": [
1718
["s", "sparkles", "✨"],
1819
["t", "tada", "🎉"],

src/lib/config-manager.go

Lines changed: 56 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,12 @@ type Gitmojis struct {
2727
Name string `json:"name"`
2828
Semver string `json:"semver"`
2929
}
30-
type Alias struct {
31-
WriteEmoji bool `json:"writeEmoji"`
32-
UseAlias bool `json:"useAlias"`
33-
Alias [][]string `json:"alias"`
30+
type AppConfig struct {
31+
WriteEmoji *bool `json:"writeEmoji"`
32+
UseAlias *bool `json:"useAlias"`
33+
UseLimitPathesLength *bool `json:"useLimitPathesLength"`
34+
LimitPathesLength *int `json:"limitPathesLength"`
35+
Alias *[][]string `json:"alias"`
3436
}
3537

3638
func Init(path string) {
@@ -61,13 +63,13 @@ func Init(path string) {
6163
log.Debugf(config.IS_DEBUG, "Create gitimoji.json\n")
6264
store.Save("gitimoji.json", gitmoji)
6365

64-
var alias Alias
65-
if err := json.Unmarshal([]byte(config.BASE_JSON_DATA), &alias); err != nil {
66+
var appConfig AppConfig
67+
if err := json.Unmarshal([]byte(config.BASE_JSON_DATA), &appConfig); err != nil {
6668
log.Criticalf("JSON encoding failed\n")
6769
log.ErrorExit(err)
6870
}
6971
log.Debugf(config.IS_DEBUG, "Create config.json\n")
70-
store.Save("config.json", alias)
72+
store.Save("config.json", appConfig)
7173
}
7274
}
7375

@@ -81,33 +83,70 @@ func GetGitmoji() Gitmoji {
8183
return gitimoji
8284
}
8385

84-
func GetAlias() Alias {
85-
var alias Alias
86+
func GetAppConfig() AppConfig {
87+
var appConfig AppConfig
8688
store.SetApplicationName("pummit")
87-
if err := store.Load("config.json", &alias); err != nil {
89+
if err := store.Load("config.json", &appConfig); err != nil {
8890
log.Criticalf("Loading alias list failed\n")
8991
log.ErrorExit(err)
9092
}
91-
return alias
93+
checkConfig(appConfig)
94+
return appConfig
9295
}
9396

94-
func GetAliasList() [][]string {
95-
var alias Alias
97+
func resetConfig() {
98+
var appConfig AppConfig
9699
store.SetApplicationName("pummit")
97-
if err := store.Load("config.json", &alias); err != nil {
98-
log.Criticalf("Loading alias list failed\n")
100+
if err := json.Unmarshal([]byte(config.BASE_JSON_DATA), &appConfig); err != nil {
101+
log.Criticalf("JSON encoding failed\n")
102+
log.ErrorExit(err)
103+
}
104+
log.Debugf(config.IS_DEBUG, "Reset config.json\n")
105+
if err := store.Save("config.json", appConfig); err != nil {
99106
log.ErrorExit(err)
100107
}
101-
return alias.Alias
102108
}
103109

104-
func WriteConfig(configData Alias) {
110+
func GetAliasList() [][]string {
111+
var config = GetAppConfig()
112+
return *config.Alias
113+
}
114+
115+
func WriteConfig(configData AppConfig) {
105116
store.SetApplicationName("pummit")
106117
if err := store.Save("config.json", configData); err != nil {
107118
log.ErrorExit(err)
108119
}
109120
}
110121

122+
// configの値が正常が見るわ!
123+
func checkConfig(appConfig AppConfig) {
124+
log.Debugf(config.IS_DEBUG, "%+v\n", appConfig)
125+
// TODO configにプロパティを追加する度に書く必要があるわ!
126+
if appConfig.UseAlias == nil {
127+
defaultValue := true
128+
appConfig.UseAlias = &defaultValue
129+
}
130+
if appConfig.WriteEmoji == nil {
131+
defaultValue := true
132+
appConfig.WriteEmoji = &defaultValue
133+
}
134+
if appConfig.UseLimitPathesLength == nil {
135+
defaultValue := true
136+
appConfig.UseLimitPathesLength = &defaultValue
137+
}
138+
if appConfig.LimitPathesLength == nil {
139+
defaultValue := 50
140+
appConfig.LimitPathesLength = &defaultValue
141+
}
142+
if appConfig.Alias == nil {
143+
defaultValue := [][]string{}
144+
appConfig.Alias = &defaultValue
145+
}
146+
147+
WriteConfig(appConfig)
148+
}
149+
111150
func PlatformPath(path string) string {
112151
if runtime.GOOS == "windows" {
113152
return fmt.Sprintf("%s\\%s", os.Getenv("APPDATA"), path)

0 commit comments

Comments
 (0)