leetcode-cli 0.5.1

Leetcode command-line interface in rust.
docs.rs failed to build leetcode-cli-0.5.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: leetcode-cli-0.5.0

leetcode-cli

Rust crate doc downloads telegram LICENSE

May the code be with you.

Install

# Required dependencies: gcc, libssl-dev, libdbus-1-dev, libsqlite3-dev
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 — leetcode-cli reads its cookies automatically (see Cookies for other browsers, manual setup, and environment variables).

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:

Command Alias What it does
pick p Pick a problem by id, --name, --tag, --query, --plan, or --daily
edit e Open a problem's code file; --lang overrides the configured language, --daily opens today's challenge
test t Run test cases; --watch re-runs on save, --daily targets today's challenge
exec x Submit the solution
list l List/filter problems by category, tag, id range, or --query
stat s Show a chart of your submissions
data d Manage the local cache (--update, --delete)
completions c Generate shell completions (bash, elvish, fish, powershell, zsh)

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