require 'slaw/grammars/schedules_nodes'
module Slaw
module Grammars grammar Schedules rule schedules_container schedules:schedules <ScheduleContainer> end rule schedules children:schedule+ <GroupNode> end rule schedule schedule_title body:body? <Schedule> end rule schedule_title new_schedule_title / legacy_schedule_title end rule new_schedule_title space? 'SCHEDULE' eol heading:schedule_heading? subheading:schedule_subheading? <ScheduleTitle> end rule schedule_heading 'HEADING' space? title:inline_items? eol end rule schedule_subheading 'SUBHEADING' space? title:inline_items? eol end # The legacy schedule mechanism is retained because it matches PDF imports well. # Subsequent edits will use the new schedule format. rule legacy_schedule_title space? schedule_title_prefix [ \t:.-]* heading:inline_items? subheading:(newline space? inline_items)? eol <LegacyScheduleTitle> end rule schedule_title_prefix 'schedule'i 's'i? end end end
end