class Rouge::Lexers::Sieve
def self.actions
def self.actions @actions ||= Set.new( # action commands (rfc5228 § 2.9) %w(keep fileinto redirect discard) + # Editheader Extension (rfc5293) %w(addheader deleteheader) + # Reject and Extended Reject Extensions (rfc5429) %w(reject ereject) + # Extension for Notifications (rfc5435) %w(notify) + # Imap4flags Extension (rfc5232) %w(setflag addflag removeflag) + # Vacation Extension (rfc5230) %w(vacation) + # MIME Part Tests, Iteration, Extraction, Replacement, and Enclosure (rfc5703) %w(replace enclose extracttext) ) end
def self.controls
def self.controls @controls ||= %w(if elsif else require stop) end
def self.tests
def self.tests @tests ||= Set.new( # test commands (rfc5228 § 5) %w(address allof anyof exists false header not size true) + # Body Extension (rfc5173) %w(body) + # Imap4flags Extension (rfc5232) %w(hasflag) + # Spamtest and Virustest Extensions (rfc5235) %w(spamtest virustest) + # Date and Index Extensions (rfc5260) %w(date currentdate) + # Extension for Notifications (rfc5435) %w(valid_notify_method notify_method_capability) + # Extensions for Checking Mailbox Status and Accessing Mailbox # Metadata (rfc5490) %w(mailboxexists metadata metadataexists servermetadata servermetadataexists) ) end