├── LICENSE ├── README.md ├── Rakefile ├── assets ├── lexer.rex └── parse.y ├── lib ├── hcl.rb └── hcl │ ├── lexer.rb │ └── parser.rb ├── spec ├── lexer_test.rb └── parser_test.rb └── tests ├── fixtures ├── basic.hcl ├── basic.json ├── basic_squish.hcl ├── decode_policy.hcl ├── decode_policy.json ├── decode_tf_variable.hcl ├── decode_tf_variable.json ├── empty.hcl ├── escape.hcl ├── flat.hcl ├── float.hcl ├── float.json ├── multiline.json ├── multiline_bad.hcl ├── scientific.hcl ├── scientific.json ├── structure.hcl ├── structure.json ├── structure2.hcl ├── structure2.json ├── structure_flat.json ├── structure_flatmap.hcl ├── structure_list.hcl ├── structure_list.json ├── structure_list_deep.json ├── structure_multi.hcl ├── structure_multi.json ├── terraform_heroku.hcl └── terraform_heroku.json └── lex-fixtures ├── assign_colon.hcl ├── assign_deep.hcl ├── comment.hcl ├── complex.hcl ├── list.hcl ├── list_comma.hcl ├── multiple.hcl ├── old.hcl ├── structure.hcl ├── structure_basic.hcl ├── structure_empty.hcl └── types.hcl /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/README.md -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/Rakefile -------------------------------------------------------------------------------- /assets/lexer.rex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/assets/lexer.rex -------------------------------------------------------------------------------- /assets/parse.y: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/assets/parse.y -------------------------------------------------------------------------------- /lib/hcl.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/lib/hcl.rb -------------------------------------------------------------------------------- /lib/hcl/lexer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/lib/hcl/lexer.rb -------------------------------------------------------------------------------- /lib/hcl/parser.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/lib/hcl/parser.rb -------------------------------------------------------------------------------- /spec/lexer_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/spec/lexer_test.rb -------------------------------------------------------------------------------- /spec/parser_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/spec/parser_test.rb -------------------------------------------------------------------------------- /tests/fixtures/basic.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/basic.hcl -------------------------------------------------------------------------------- /tests/fixtures/basic.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/basic.json -------------------------------------------------------------------------------- /tests/fixtures/basic_squish.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/basic_squish.hcl -------------------------------------------------------------------------------- /tests/fixtures/decode_policy.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/decode_policy.hcl -------------------------------------------------------------------------------- /tests/fixtures/decode_policy.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/decode_policy.json -------------------------------------------------------------------------------- /tests/fixtures/decode_tf_variable.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/decode_tf_variable.hcl -------------------------------------------------------------------------------- /tests/fixtures/decode_tf_variable.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/decode_tf_variable.json -------------------------------------------------------------------------------- /tests/fixtures/empty.hcl: -------------------------------------------------------------------------------- 1 | resource "foo" {} 2 | -------------------------------------------------------------------------------- /tests/fixtures/escape.hcl: -------------------------------------------------------------------------------- 1 | foo = "bar\"baz\\n" 2 | -------------------------------------------------------------------------------- /tests/fixtures/flat.hcl: -------------------------------------------------------------------------------- 1 | foo = "bar" 2 | Key = 7 3 | -------------------------------------------------------------------------------- /tests/fixtures/float.hcl: -------------------------------------------------------------------------------- 1 | a = 1.02 2 | -------------------------------------------------------------------------------- /tests/fixtures/float.json: -------------------------------------------------------------------------------- 1 | { 2 | "a": 1.02 3 | } 4 | -------------------------------------------------------------------------------- /tests/fixtures/multiline.json: -------------------------------------------------------------------------------- 1 | { 2 | "foo": "bar\nbaz" 3 | } 4 | -------------------------------------------------------------------------------- /tests/fixtures/multiline_bad.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/multiline_bad.hcl -------------------------------------------------------------------------------- /tests/fixtures/scientific.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/scientific.hcl -------------------------------------------------------------------------------- /tests/fixtures/scientific.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/scientific.json -------------------------------------------------------------------------------- /tests/fixtures/structure.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/structure.hcl -------------------------------------------------------------------------------- /tests/fixtures/structure.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/structure.json -------------------------------------------------------------------------------- /tests/fixtures/structure2.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/structure2.hcl -------------------------------------------------------------------------------- /tests/fixtures/structure2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/structure2.json -------------------------------------------------------------------------------- /tests/fixtures/structure_flat.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/structure_flat.json -------------------------------------------------------------------------------- /tests/fixtures/structure_flatmap.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/structure_flatmap.hcl -------------------------------------------------------------------------------- /tests/fixtures/structure_list.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/structure_list.hcl -------------------------------------------------------------------------------- /tests/fixtures/structure_list.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/structure_list.json -------------------------------------------------------------------------------- /tests/fixtures/structure_list_deep.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/structure_list_deep.json -------------------------------------------------------------------------------- /tests/fixtures/structure_multi.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/structure_multi.hcl -------------------------------------------------------------------------------- /tests/fixtures/structure_multi.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/structure_multi.json -------------------------------------------------------------------------------- /tests/fixtures/terraform_heroku.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/terraform_heroku.hcl -------------------------------------------------------------------------------- /tests/fixtures/terraform_heroku.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/fixtures/terraform_heroku.json -------------------------------------------------------------------------------- /tests/lex-fixtures/assign_colon.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/lex-fixtures/assign_colon.hcl -------------------------------------------------------------------------------- /tests/lex-fixtures/assign_deep.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/lex-fixtures/assign_deep.hcl -------------------------------------------------------------------------------- /tests/lex-fixtures/comment.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/lex-fixtures/comment.hcl -------------------------------------------------------------------------------- /tests/lex-fixtures/complex.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/lex-fixtures/complex.hcl -------------------------------------------------------------------------------- /tests/lex-fixtures/list.hcl: -------------------------------------------------------------------------------- 1 | foo = [1, 2, "foo"] 2 | -------------------------------------------------------------------------------- /tests/lex-fixtures/list_comma.hcl: -------------------------------------------------------------------------------- 1 | foo = [1, 2, "foo",] 2 | -------------------------------------------------------------------------------- /tests/lex-fixtures/multiple.hcl: -------------------------------------------------------------------------------- 1 | foo = "bar" 2 | key = 7 3 | -------------------------------------------------------------------------------- /tests/lex-fixtures/old.hcl: -------------------------------------------------------------------------------- 1 | default = { 2 | "eu-west-1": "ami-b1cf19c6", 3 | } 4 | -------------------------------------------------------------------------------- /tests/lex-fixtures/structure.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/lex-fixtures/structure.hcl -------------------------------------------------------------------------------- /tests/lex-fixtures/structure_basic.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/lex-fixtures/structure_basic.hcl -------------------------------------------------------------------------------- /tests/lex-fixtures/structure_empty.hcl: -------------------------------------------------------------------------------- 1 | resource "foo" "bar" {} 2 | -------------------------------------------------------------------------------- /tests/lex-fixtures/types.hcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sikula/ruby-hcl/HEAD/tests/lex-fixtures/types.hcl --------------------------------------------------------------------------------