#autocomplete #trie #cli #suggest

bin+lib arbor-cli

A trie-based auto-completion tool

1 unstable release

new 0.1.0 Nov 5, 2024

#1 in #suggest

Download history 114/week @ 2024-11-02

114 downloads per month

Custom license

70KB
646 lines

Arbor

Arbor is a command-line application written in Rust, designed to provide quick, trie-based autocomplete suggestions. Arbor lets users enter words interactively and suggests completions based on the input prefix.

Interactive Mode

In interactive mode, Arbor will prompt you to enter words or prefixes. Based on the entered text, it will provide autocomplete suggestions.

  1. Adding Words: Type a word and press Enter to add it to the trie.
  2. Autocomplete Suggestions: Type a prefix and press Enter to see a list of words that match the prefix.

Example:

Features

  • Interactive Autocomplete - Provides word suggestions based on prefixes entered by the user.
  • Efficient and Lightweight - Built with Rust for high performance and low memory usage.
  • Easy Installation - Can be installed directly via Cargo.

Installation

You can install Arbor using Cargo:

cargo install arbor-cli

Usage

After installation, simply run arbor in your terminal:

arbor-cli

Command-Line Options

  • -l, --language <LANGUAGE>: Specifies the language for suggestions (e.g., en-US).
  • -t, --thread-count <THREAD_COUNT>: Sets the number of threads for processing (e.g., 4).
  • -m, --max-suggestion <MAX_SUGGESTION>: Limits the number of suggestions returned for a prefix (e.g., 5).
  • -b, --backup: Enables backup mode. When this flag is set, you must also specify the --output option.
  • -o, --output <FILE>: Specifies the file path for saving backup suggestions (only applicable if --backup is enabled).

To exit the application, you can use Ctrl+C or Esc.

Contributing

Contributions are welcome! Feel free to fork the repository, open issues, or submit pull requests.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Dependencies

~6–16MB
~221K SLoC