Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitd14a828

Browse files
committed
Fix HCL -> YAML conversion
1 parentcc7735c commitd14a828

File tree

3 files changed

+25
-5
lines changed

3 files changed

+25
-5
lines changed

‎args/args.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,20 @@ type Config struct {
1515

1616
typeEncodingrune
1717

18+
func (eEncoding)String()string {
19+
switche {
20+
caseFlagYAML:
21+
return"YAML"
22+
caseFlagTOML:
23+
return"TOML"
24+
caseFlagJSON:
25+
return"JSON"
26+
caseFlagHCL:
27+
return"HCL"
28+
}
29+
return""
30+
}
31+
1832
const (
1933
YAMLEncoding=FlagYAML
2034
TOMLEncoding=FlagTOML

‎main.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ Convert YAML, TOML, JSON, or HCL to YAML, TOML, JSON, or HCL.
4242
-cj -c = HCL to JSON
4343
-cc = HCL to HCL
4444
-n Do not covert Infinity, -Infinity, and NaN to/from strings
45-
-e Escape HTML (JSON/HCL output only)
45+
-e Escape HTML (JSON output only)
4646
-k Attempt to parse keys as objects or numbers types (YAML output only)
4747
-h Show this help message
4848
@@ -97,12 +97,12 @@ func Run(stdin io.Reader, stdout, stderr io.Writer, osArgs []string) (code int)
9797
// TODO: if from == to, don't do yaml decode/encode to avoid stringifying the keys
9898
rep,err:=from(input,config)
9999
iferr!=nil {
100-
fmt.Fprintf(stderr,"Error: %s\n",err)
100+
fmt.Fprintf(stderr,"Error parsing %s: %s\n",config.From,err)
101101
return1
102102
}
103103
output,err:=to(rep,config)
104104
iferr!=nil {
105-
fmt.Fprintf(stderr,"Error: %s\n",err)
105+
fmt.Fprintf(stderr,"Error writing %s: %s\n",config.To,err)
106106
return1
107107
}
108108
fmt.Fprintf(stdout,"%s",output)
@@ -147,7 +147,7 @@ func fromJSON(input []byte, _ *args.Config) (interface{}, error) {
147147
returndata,json.Unmarshal(input,&data)
148148
}
149149

150-
funcfromHCL(input []byte,config*args.Config) (interface{},error) {
150+
funcfromHCL(input []byte,_*args.Config) (interface{},error) {
151151
iflen(bytes.TrimSpace(input))==0 {
152152
returnnil,nil
153153
}

‎yaml/encoder.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ func (e *Encoder) yamlify(in interface{}) interface{} {
3131
out[e.yamlifyKey(k)]=e.yamlify(v)
3232
}
3333
returnout
34-
casemap[interface{}]interface{}:// test!
34+
casemap[interface{}]interface{}://TODO:test
3535
out:=map[interface{}]interface{}{}
3636
fork,v:=rangein {
3737
switchk:=k.(type) {
@@ -48,6 +48,12 @@ func (e *Encoder) yamlify(in interface{}) interface{} {
4848
out[i]=e.yamlify(v)
4949
}
5050
returnout
51+
case []map[string]interface{}:// TODO: test
52+
out:=make([]interface{},len(in))
53+
fori,v:=rangein {
54+
out[i]=e.yamlify(v)
55+
}
56+
returnout
5157
default:
5258
returne.yamlifyOther(in)
5359
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp