Commit Graph

326 Commits

Author SHA1 Message Date
James Nugent
6cf355fb61 Use Go convention of docs with "Package" prefix 2015-11-26 14:57:49 +02:00
James Nugent
692d016087 Merge pull request #65 from hashicorp/b-map-identifiers
Fix scanning of identifiers of the form 'map.key'
2015-11-24 17:42:28 +02:00
James Nugent
c190e41403 Fix scanning of identifiers of the form 'map.key'
This is used in `.tfvars` files for Terraform in order to allow
overriding values in maps, for example:

    map.key1 = "Value"
    map.key2 = "OtherValue"
2015-11-24 15:13:07 +02:00
Mitchell Hashimoto
1688f22977 Merge pull request #64 from svanharmelen/b-fix-flattening-empty-objects
Fix flattening of empty objects
2015-11-20 09:26:51 -08:00
Sander van Harmelen
cf83c24abf Fix flattening of empty objects 2015-11-20 17:56:37 +01:00
Paul Hinze
5f90c29834 Merge pull request #63 from hashicorp/phinze/handle-multiple-interpolations-in-string
Handle multiple interpolations in string.
2015-11-19 14:08:33 -06:00
Paul Hinze
5612ebd968 Handle multiple interpolations in string.
A user testing an RC release of Terraform 0.6.7 found the following
string unexpectedly caused a syntax error:

    "echo ${var.region}${element(split(",",var.zones),0)}"

This fixes the error and covers it with a test.
2015-11-19 13:56:32 -06:00
Paul Hinze
da2740d4c5 Merge pull request #62 from hashicorp/phinze/handle-escaped-quotes-within-interpolations
Restore old behavior for \" within interpolations
2015-11-19 12:05:59 -06:00
Paul Hinze
feb701804f Restore old behavior for \" within interpolations
Before the parser rewrite, HCL would silently convert `\"` within
interpolation braces to `"`.

After the conversion, this became a syntax error.

We've found several instances of Terraform configs in the wild using
this syntax. It results in a hard "syntax error" message during config
parsing. While avoiding the extra escape on double quotes within
interpolations is definitely preferred, the UX of the syntax error feels
harsh enough to be worth inserting this backwards compatibility for now,
leaving us the option of deprecating it with a warning down the line.
2015-11-19 12:04:02 -06:00
James Nugent
6f3c2b512d Merge pull request #61 from svanharmelen/b-fix-object-flattening
Fix a bug in the flattener so that objects are flattened correctly
2015-11-19 18:49:26 +02:00
Sander van Harmelen
2f117c801c This fixes a bug in the flattener so that objects are flattened as one list object 2015-11-19 17:42:55 +01:00
Fatih Arslan
2deb1d1db2 Merge pull request #58 from derekdowling/patch-2
Travis Test/Build Status Badge
2015-11-18 00:53:55 +02:00
Derek Dowling
230ee45693 Travis Test/Build Status Badge
Always a good indicator when debugging, and good social pressure as well.
2015-11-17 14:51:24 -08:00
Mitchell Hashimoto
cc08d3d56a Merge pull request #56 from derekdowling/patch-1
Adding Godoc link
2015-11-16 14:12:51 -08:00
Derek Dowling
66088e3d0c Adding Godoc link
Makes understanding the consumable API much simpler rather than digging through source code.
2015-11-16 14:05:31 -08:00
Mitchell Hashimoto
2a326381fd Merge pull request #55 from hashicorp/f-error-pos
hcl/parser: store position on every parse err [GH-54]
2015-11-15 15:08:40 -08:00
Mitchell Hashimoto
201420aad0 hcl/parser: store position on every parse err [GH-54] 2015-11-15 15:03:31 -08:00
Mitchell Hashimoto
fbd0456768 Merge pull request #53 from hashicorp/add-rewrite
ast: add Rewrite() to rewrite AST
2015-11-14 17:38:20 -08:00
Fatih Arslan
d45f5d133c ast: change signature of Walk() to allow rewriting AST
With the previous Walk function it's not easy to rewrite the node as we
don't have any kind of reference to the parent. If we want to rewrite a
given AST, we have to manually traverse it as Walk is not usable. To
allow us rewriting the AST we change the signature of the function
passed to Walk. It'll allow us to rewrite the AST and return back.
Internally Walk() overrides the returned AST.

This idea was also talked here:
https://groups.google.com/forum/#!topic/golang-nuts/cRZQV36IckM
extensively.
2015-11-14 21:58:31 +02:00
Mitchell Hashimoto
8ec7833c13 Merge pull request #51 from hashicorp/fix-comma
parser: fix syntax error on missing comma
2015-11-12 08:17:48 -08:00
Mitchell Hashimoto
21da63e4d5 Merge pull request #52 from hashicorp/add-travis
Add travis.yml file
2015-11-12 08:16:43 -08:00
Fatih Arslan
285f30bf10 Add travis.yml file
We have many tests, having this would simplify contributing also easier
because Github would show us the CI result on PR's.
2015-11-12 17:56:38 +02:00
Fatih Arslan
99ce7c7e2c parser: fix syntax error on missing comma
Fixes hashicorp/terraform#3877
2015-11-12 15:26:23 +02:00
Mitchell Hashimoto
fa160f1206 Merge pull request #49 from hashicorp/b-heredoc
Heredoc support
2015-11-10 15:09:49 -08:00
Mitchell Hashimoto
aed824cf55 add more heredoc tests 2015-11-10 15:08:59 -08:00
Mitchell Hashimoto
616214bb2e hcl/printer: cleanup how we handle heredocs 2015-11-10 15:06:32 -08:00
Mitchell Hashimoto
7b107c7b54 hcl/printer: clear trailing newline from heredoc 2015-11-10 15:02:21 -08:00
Mitchell Hashimoto
16dcdb88fa hcl/printer: unindent for heredocs 2015-11-10 14:54:46 -08:00
Mitchell Hashimoto
db97e1a99c hcl/token: Value for heredoc 2015-11-10 14:09:01 -08:00
Mitchell Hashimoto
0f965478b6 hcl/parser: parse heredocs 2015-11-10 14:03:29 -08:00
Mitchell Hashimoto
6c34ace97d hcl/token: heredoc token 2015-11-10 14:02:37 -08:00
Mitchell Hashimoto
82ad2beb52 hcl/scanner: scan heredocs 2015-11-10 14:01:56 -08:00
Mitchell Hashimoto
e5d4045cf0 Test for GH-46 2015-11-09 20:02:20 -08:00
Mitchell Hashimoto
2829433f7c Merge pull request #45 from hashicorp/f-new-parser
New HCL and JSON parser in pure Go, printer support
2015-11-09 10:34:29 -08:00
Mitchell Hashimoto
d726517f58 hcl/ast: tests for Filter 2015-11-09 09:08:05 -08:00
Mitchell Hashimoto
8362abbcb9 update README 2015-11-08 16:42:43 -08:00
Mitchell Hashimoto
9e5a4f89ab Merge pull request #44 from hashicorp/f-new-json
Convert JSON parser to pure Go
2015-11-08 16:29:24 -08:00
Mitchell Hashimoto
637d86c42d json/parser: can parse lists of objects 2015-11-08 16:28:18 -08:00
Mitchell Hashimoto
eabb04dcd5 hcl/ast: filter should compare value string 2015-11-08 16:25:40 -08:00
Mitchell Hashimoto
407a4ff94c json/parser: flatten 2015-11-08 16:20:34 -08:00
Mitchell Hashimoto
278bb105f2 hcl/ast: style 2015-11-08 16:20:22 -08:00
Mitchell Hashimoto
7ccda83497 json/parser: can parse multiple objects 2015-11-08 16:11:15 -08:00
Mitchell Hashimoto
340f0af3c0 json/token: fix issues with unquoting sttrings from JSON 2015-11-08 16:08:36 -08:00
Mitchell Hashimoto
e9e082dff4 json/token: remove Value 2015-11-08 15:54:48 -08:00
Mitchell Hashimoto
b3a9867999 replace parse with new json parser 2015-11-08 15:53:33 -08:00
Mitchell Hashimoto
cf0da81e50 Remove json files, add flatten.go to json/parse 2015-11-08 15:52:57 -08:00
Mitchell Hashimoto
f5a27d4be4 json/parser 2015-11-08 15:50:37 -08:00
Mitchell Hashimoto
ca0ea00fe9 json/token: add comma token 2015-11-08 14:39:58 -08:00
Mitchell Hashimoto
0fce9beccf json/scanner: beef up tests with real example 2015-11-08 14:39:43 -08:00
Mitchell Hashimoto
87a91d1019 json: scanner and token 2015-11-07 18:14:32 -08:00