Crate ad_editor

Crate ad_editor 

Source
Expand description

ad :: the adaptable editor

Re-exports§

pub use cli::CliAction;
pub use cli::Cmd9p;
pub use cli::ConfigSource;
pub use cli::ParsedArgs;
pub use cli::USAGE;
pub use config::Config;
pub use editor::Editor;
pub use editor::EditorMode;
pub use exec::Edit;
pub use exec::Program;
pub use log::LogBuffer;
pub use plumb::PlumbingRules;

Modules§

buffer
A Buffer represents a single file or in memory text buffer open within the editor.
cli
CLI parser See main.rs for the usage of the parsed arguments
config
A minimal config file format for ad
dot
Sam style dot manipulation
editor
The main control flow and functionality of the ad editor.
exec
Sam style language for executing structural regular expressions against ad Buffers
fsys
An Acme style filesystem interface for ad
input
Fetching and parsing input from the user
key
Keypresses and related user interactions.
log
Handling of our internal logs so they can be viewed in the editor itself
lsp
Built-in minimal LSP support for ad
mode
Modal editing support.
plumb
A plumbing interface for user defined “loading” of text inspired by plan 9’s plumber.
regex
A simple regex engine for operating on character streams and supporting the Sam text editor’s structural regular expressions.
syntax
Syntax highlighting support
system
An abstraction around system interactions to support testing and platform specific behaviour
term
Terminal TUI support.
trie
A simple trie data structure for supporting key bindings and autocompletions in a composible way with the rest of the ad internal APIs.
ui
The ad user interface
util
Utility functions
ziplist
Copied from the penrose crate Stack impl.

Macros§

config_handle
Helper for accessing config stored on self as an Arc<Mutex<Config>>
die
Helper for panicking the program but first ensuring that we have restored the terminal state in the same way that we do when the Editor is dropped cleanly
keymap
Construct a new Trie based keymap
ziplist

Enums§

Source
acme makes a distinction between direct writes to /body and /tag vs text entering the buffer via one of the other fsys files but I’m not sure if I need that initially? As and when it looks useful I can add it.

Constants§

LOG_LEVEL_ENV_VAR
The environment variable to set to control logging within ad
VERSION
The current version of the editor