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
adeditor. - 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