Module: Expressir::Express::Formatters::RemarkItemFormatter

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



5
6
7
8
# File 'lib/expressir/express/formatters/remark_item_formatter.rb', line 5

def self.included(base)
  base.register_formatter Model::Declarations::RemarkItem,
                          :format_remark_item
end

Instance Method Details

#format_remark_item(node) ⇒ Object



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

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