sem

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 28, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

Package sem collects semantically charged strings.

These strings are written bytteratim to text files without further context and thus must not under any circumstance be changed.

Index

Constants

View Source
const (
	TimeLayoutUiDate         = time.RFC3339
	TimeLayoutUiDateZoneless = "2006-01-02T15:04:05"

	TimeLayoutUiDocket = time.RFC3339Nano

	TimeLayoutExact = time.RFC3339Nano
	TimeLayoutMail  = time.RFC1123Z
)
View Source
const (
	ENV_BRIEF_ROOT   = "BRIEF_ROOT"
	ENV_BRIEF_EDITOR = "BRIEF_EDITOR"
	ENV_BRIEF_DEBUG  = "BRIEF_DEBUG"

	// standard UNIX environment variables
	ENV_EDITOR = "EDITOR"

	// standard UNIX text editor
	StandardEditor = "/usr/bin/ed"
)

brief-specific environment variables

View Source
const (
	INBOX   = "INBOX"
	OUTBOX  = "OUTBOX"
	Sent    = "Sent"
	Unnamed = "Unnamed"

	// [2023-10-18, jfrech] TODO consider deeply
	Rubbish = "Rubbish"
)

mailbox names

View Source
const (
	DotBrief = ".brief"
	DotEml   = ".eml"

	DotBad = ".bad"
)

extensions

View Source
const (
	ConfigXml              = "config.xml"
	ComposingEml           = "composing.eml"
	DotComposingEditingEml = ".composing.editing.eml"

	IndexCacheGob = "index-cache.gob"

	PathComposingEml           = DotBrief + "/" + ComposingEml
	PathDotComposingEditingEml = DotBrief + "/" + DotComposingEditingEml
)

internal (regular) file names

View Source
const (
	XBrief_         = "X-Brief-"
	XBriefComposing = XBrief_ + "Composing"
	XBriefIsolator  = XBrief_ + "Isolator"
)

RFC-822-like header field names

View Source
const (
	DocketKeyTransferStatus = "transfer-status"

	// the mail has been composed, is locally introduced to the sack and is
	// scheduled to be introduced to the global mail system
	// DOCKET EXAMPLE
	//     2023-07-19T00:00:00+00:00 transfer-status outgoing
	TransferStatusOutgoing = "outgoing"

	// Network processes (most likely SMTP) have been started to introduce the
	// mail into the global mail system. Note that e.g. for "Bcc: " mails, this
	// process might require multiple SMTP commands and is thus never atomic.
	// If an accompanying "sent" is not seen, either the introduction is still
	// on-going or has failed.
	// DOCKET EXAMPLE
	//     2023-07-19T00:00:00+00:01 transfer-status sending smtp://user%40domain.tld@email-provider.tld:587#STARTTLS
	TransferStatusSending = "sending"
	// The mail has successfully been introduced to the global mail system. The
	// method SHOULD match the previous sending docket one's.
	// DOCKET EXAMPLE
	//     2023-07-19T00:00:00+00:02 transfer-status sent smtp://user%40domain.tld@email-provider.tld:587#STARTTLS
	TransferStatusSent = "sent"

	// [2023-10-14, jfrech] I have brooded over changing {"retrieving",
	// "retrieved"} too {"receiving", "received"} for a few weeks and now
	// decided *against* this renaming, as "retrieving" -- in line with
	// "sending" carries the meaning of an action being performed. And the
	// entire point of recording the transfer status is recording attempted
	// and completed *actions* of brief.
	//
	// The mail is currently being retrieved from the global mail system. If
	// retrieval succeeded, a TransferStatusRetrieved line MUST follow.
	TransferStatusRetrieving = "retrieving"
	// The mail has been retrieved from the global mail system.
	// DOCKET EXAMPLE
	//     2023-07-19T00:00:00+00:03 transfer-status retrieved pop://user%40domain.tld@email-provider.tld:110#STARTTLS
	// TODO [2023-07-19, jfrech] consider
	//     2023-07-19T00:00:00+00:04 transfer-status retrieved file:///absolute/path/to/mail.eml
	TransferStatusRetrieved = "retrieved"
)

"transfer-status" is expected to change.

View Source
const (
	// Alternate representations are different forms of a message, all having
	// the same Message-Id.
	// This can happen as intermediaries add information or transform which
	// changes the raw bytes of a message while keeping the message intact in
	// some interpretation.
	// pkg.jfrech.com/brief/sack cannot cope with different blobs of bytes
	// having the same Message-Id. This is solved by introducing modified
	// Message-Ids and linking them to the first Message-Id.
	DocketKeyAlternateRepresentationOf                     = "alternate-representation-of"
	DocketKeyAlternateRepresentationOriginalChecksum       = "alternate-representation-original-checksum"
	DocketKeyAlternateRepresentationOriginalMessageIdBytes = "alternate-representation-original-message-id-bytes"
)

TODO: This interface will change.

"alternate-representation" is not expected to change.

[2023-10-14, jfrech] One idea:

alternate-representation/representing
alternate-representation/original-message-id-bytes
alternate-representation/original-message-checksum
View Source
const (
	DocketKeyMailbox = "mailbox"
)

"mailbox" is expected to change.

View Source
const (
	// [2023-12-11, jfrech] NOTE: Brief explicitly does not add MIME flavour
	// information (e.g. "1.0 (Brief)") so that naive parsing yields MIME
	// compliance for other MUAs.
	MimeVersion = "1.0"
)
View Source
const (
	UseUnprofiledOptimisations = true
)

build config

Variables

This section is empty.

Functions

func EnvKeys

func EnvKeys() []string

EnvKeys returns all environment variable keys Brief can respond to.

TODO ugly name?

func XMailer

func XMailer() string

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL