Skip to main content

Crate leetcode_cli

Crate leetcode_cli 

Source
Expand description

§leetcode-cli

Rust crate doc downloads telegram LICENSE

May the code be with you.

§Install

# Linux build deps: system SQLite + OpenSSL headers + pkg-config
#   (Debian/Ubuntu: libsqlite3-dev libssl-dev pkg-config). macOS ships both.
cargo install leetcode-cli

Python filtering scripts (the --plan flag) require the optional pym feature:

cargo install leetcode-cli --features pym

Nix users can nix build / nix develop against the bundled flake.nix.

§Quickstart

Sign in to LeetCode in Chrome first — on macOS and Linux leetcode-cli reads its cookies automatically (on Windows, set them manually). See Cookies for manual setup and environment-variable overrides.

leetcode pick 1        # pick a problem and print its description
leetcode edit 1        # open the solution file in your editor
leetcode test 1        # run the sample test cases
leetcode exec 1        # submit the solution

Run leetcode --help (or leetcode <command> --help) for the full, always-current list of commands and flags. The headline ones:

CommandAliasWhat it does
pickpPick a problem by id, --name, --tag, --query, --plan, or --daily
editeOpen a problem’s code file; --lang overrides the configured language, --daily opens today’s challenge
testtRun test cases; --watch re-runs on save, --daily targets today’s challenge
execxSubmit the solution
listlList/filter problems by category, tag, id range, or --query
statsShow a chart of your submissions
datadManage the local cache (--update, --delete)
completionscGenerate shell completions (bash, elvish, fish, powershell, zsh)
Shell completions

By default the shell is inferred from $SHELL:

eval "$(leetcode completions)"

Copy that line into .bash_profile or .zshrc. Pass a shell explicitly to target another:

leetcode completions fish

§Documentation

  • Configuration — the full leetcode.toml reference: editor, code generation, filename templates, and storage paths.
  • Cookies — automatic Chrome cookies, manual setup from any browser, leetcode.cn support, and environment-variable overrides.
  • Editors & LSP — getting rust-analyzer (and other language servers) working with generated solution files.
  • Scripting — filtering problems with custom Python plans.

§Contributing

Feel free to add your name and email to the authors field of Cargo.toml, and open a pull request.

§License

MIT

Re-exports§

pub use cache::Cache;
pub use config::Config;
pub use err::Error;
pub use err::Result;

Modules§

cache
Save bad network's ass.
cli
Clap Commanders
cmd
All subcommands in leetcode-cli
config
Soft-link with config.toml
err
Errors in leetcode-cli
helper
A set of helper traits
plugins
Leetcode-cli plugins