From 67f3244b2e857129424a88077bb43e507b938cca Mon Sep 17 00:00:00 2001 From: Tan Le Date: Wed, 18 Sep 2024 23:29:54 +1000 Subject: [PATCH] Support special escape sequences in Terraform (#2073) --- lib/rouge/lexers/terraform.rb | 5 +++-- spec/visual/samples/terraform | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/lib/rouge/lexers/terraform.rb b/lib/rouge/lexers/terraform.rb index 1732b93af9..2a26a6d0be 100644 --- a/lib/rouge/lexers/terraform.rb +++ b/lib/rouge/lexers/terraform.rb @@ -39,8 +39,9 @@ def self.builtins state :strings do rule %r/\\./, Str::Escape + rule %r/(\$[\$]+|%[%]+)(\{)/, Str rule %r/\$\{/ do - token Keyword + token Punctuation push :interpolation end end @@ -66,7 +67,7 @@ def self.builtins state :interpolation do rule %r/\}/ do - token Keyword + token Punctuation pop! end diff --git a/spec/visual/samples/terraform b/spec/visual/samples/terraform index 511d04be87..8b188efdf2 100644 --- a/spec/visual/samples/terraform +++ b/spec/visual/samples/terraform @@ -84,3 +84,18 @@ resource "aws_subnet" "main" { resource "aws_cloudfront_distribution" "s3_distribution" { aliases = ["www.${replace(var.domain_name, "/\\.$/", "")}"] } + +# Directives in string templates +locals { + policy = <