Skip to content

Commit

Permalink
Add Operator support to the HCL Lexer (#2047)
Browse files Browse the repository at this point in the history
  • Loading branch information
X-Guardian committed May 1, 2024
1 parent 618c239 commit 815fff4
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 0 deletions.
1 change: 1 addition & 0 deletions lib/rouge/lexers/hcl.rb
Expand Up @@ -26,6 +26,7 @@ class Hcl < RegexLexer
state :primitives do
rule %r/[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?([kKmMgG]b?)?/, Num::Float
rule %r/[0-9]+([kKmMgG]b?)?/, Num::Integer
rule %r/[-+*\/!%&<>|=:?]/, Operator

rule %r/"/, Str::Double, :dq
rule %r/'/, Str::Single, :sq
Expand Down
14 changes: 14 additions & 0 deletions spec/visual/samples/hcl
Expand Up @@ -84,3 +84,17 @@ resource "aws_subnet" "main" {
resource "aws_cloudfront_distribution" "s3_distribution" {
aliases = ["www.${replace(var.domain_name, "/\\.$/", "")}"]
}

## operators
locals {
op01 = var.var1 != var.var2 ? var.var1 : var.var2
op02 = var.var1 == var.var2 ? var.var1 : var.var2
op05 = var.var1 < var.var2 ? var.var1 : var.var2
op06 = var.var1 <= var.var2 ? var.var1 : var.var2
op07 = var.var1 > var.var2 ? var.var1 : var.var2
op08 = var.var1 >= var.var2 ? var.var1 : var.var2
op09 = var.var1 && var.var2 ? var.var1 : var.var2
op10 = var.var1 || var.var2 ? var.var1 : var.var2
op11 = !var.var1 ? var.var1 : var.var2
op12 = 1 + 2 * 3 / 4 % 5 - 6
}

0 comments on commit 815fff4

Please sign in to comment.