Crate bacon

Source

Modules§

app
burp
Utilities related to BURP See https://dystroy.org/blog/bacon-everything-roadmap/#introduce-burp

Structs§

AppState
Currently rendered state of the TUI application
Args
Launch arguments
CommandBuilder
CommandOutput
some output lines
CommandOutputLine
a line coming either from stdout or from stderr
ConcreteJobRef
A “concrete” job ref is one which can be used from the start, without referring to the job stack
Config
A configuration item which may be stored in various places, eg as bacon.toml along a Cargo.toml file or as prefs.toml in the xdg config directory.
Context
information on the paths which are relevant for a mission
Example
A bacon launch example to display in the –help message
ExportConfig
A generic configuration for all exports, whatever the exporter.
ExportSettings
Settings for one export
ExportsSettings
Settings for all exports
Failure
data of a failed command
FocusFileCommand
A command to focus on the diagnostics related to a specific file
Found
position in a TLine of a found pattern
GitIgnorer
An object able to tell whether a file is excluded by gitignore rules
GlobIgnorer
HelpLine
HelpPage
IgnorerSet
A set of ignorers
ItemAccumulator
Receives lines and accumulates them into items, used at end to build a sorted list of lines.
Job
One of the possible jobs that bacon can run
JobStack
The stack of jobs that bacon ran, allowing to get back to the previous one, or to scope the current one
KeyBindings
A mapping from key combinations to actions.
Line
A report line
LineAnalysis
result of the “parsing” of the line
LinePattern
A pattern dedicated to line matching.
Message
A message to be displayed to the user, one line max
Mission
the description of the mission of bacon after analysis of the args, env, and surroundings
MissionExecutor
an executor calling a cargo (or similar) command in a separate thread when asked to and sending the lines of output in a channel, and finishing by None. Channel sizes are designed to avoid useless computations.
Pattern
Period
A small wrapper over time::Duration, to allow reading from a string in config. There’s no symetric serialization and the input format is quite crude (eg “25ms” or “254ns” or “none”)
PlaySoundCommand
A command to play a sound
RawCommandOutputLine
a line coming either from stdout or from stderr, before TTY parsing
Report
the usable content of cargo watch’s output, lightly analyzed
ReportMaker
Dedicated to a mission, the report maker receives the command output lines and builds a report at end, complete with starts.
Scope
A dynamic reduction of a job execution
SearchState
Search related state, part of the app state
Server
Settings
The settings used in the application.
SoundConfig
SoundPlayer
A dummy sound player which does nothing
Stats
number of lines per type in a report
TLine
a simple representation of a line made of homogeneous parts.
TLineBuilder
A builder consuming a string assumed to contain TTY sequences and building a TLine.
TRange
A position in a tline
TString
a simple representation of a colored and styled string.
Task
Settings for one execution of a job’s command
TaskExecutor
Dedicated to one execution of the job (so there’s usually several task executors during the lifetime of a mission executor)
Volume
Watcher
A file watcher, providing a channel to receive notifications
WrappedCommandOutput
A wrapped cmd_output, only valid for the cmd_output it was computed for, contains references to the start and end of lines wrapped for a given width
WrappedReport

Enums§

Action
An action that can be executed in the system, eg mapped to a key.
AnalyzerRef
A stateless operator building a report from a list of command output lines.
AutoRefresh
CommandExecInfo
a piece of information about the execution of a command
CommandResult
what we get from the execution of a command
CommandStream
ContextNature
The kind of projec/context, as it impacts computing features, files to watch, etc.
Exporter
JobRef
Kind
a kind of section
LineType
NameOrAlias
OnChangeStrategy
ParseActionError
ParseVolumeError
ScrollCommand
A scroll related command
Search
SearchMode

Constants§

CSI_BLUE
Used for “Blocking”
CSI_BOLD
CSI_BOLD_BLUE
CSI_BOLD_ORANGE
CSI_BOLD_RED
CSI_BOLD_YELLOW
CSI_FOUND
CSI_FOUND_SELECTED
CSI_GREEN
CSI_ITALIC
CSI_RED
CSI_RESET

Statics§

DEFAULT_PACKAGE_CONFIG
DEFAULT_PREFS
EXAMPLES
Examples to display in the –help message
EXAMPLES_TEMPLATE

Traits§

Analyzer
Ignorer
LineAnalyzer

Functions§

bacon_prefs_path
If the system can manage application preferences, return the canonical path to the bacon preferences file
clear_line
Clear from the current position to the end of the line
config_path_from_env
Return the path given by the env var, if it exists (doesn’t check whether it’s a correct configuration file)
default_analyser_path
default_analysis_path
default_json_report_path
default_locations_line_format
default_locations_path
draw
fix_scroll
goto
Move the curstor to the x, y position
goto_line
Move the curstor to the start of the provided line
is_thumb
load_config_from_cargo_toml
print_jobs
run
search_item_idx
send_action
wrap
Wrap lines into sublines containing positions in the original lines
writer
return the writer used by the application

Type Aliases§

W
The Write type used by all GUI writing functions