Module: Expressir::Express::RemarkItemFormatter

Included in:
Formatter
Defined in:
lib/expressir/express/formatters/remark_item_formatter.rb

Overview

Formatter for RemarkItem declarations

Instance Method Summary collapse

Instance Method Details

#format_remark_item(node) ⇒ String

Format a RemarkItem as an EXPRESS remark

Parameters:

Returns:

  • (String)

    Formatted remark



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/expressir/express/formatters/remark_item_formatter.rb', line 8

def format_remark_item(node)
  return "" unless node.remarks&.any?

  # Check if any remark contains newlines
  has_newlines = node.remarks.any? { |r| r.to_s.include?("\n") }

  if has_newlines
    # Multi-line format: (*"path" remarks *)
    remarks_text = node.remarks.join("\n")
    "(*\"#{node.path}\"\n#{remarks_text}\n*)"
  else
    # Single-line format: --"path"
    "--\"#{node.path}\""
  end
end