- 【中文文档】
- Open the editor of your choice for editing.
- Filter based on the category of the question.
- Fuzzy search.
- Test and submit the code.
- Modify the test case.
- Automatically get cookies to eliminate the need for manual copying from the browser, power by decrypt-cookies.
dependencies:
sqlitelibsecret(Linux Optional)libdbus(Linux notify)mdcat(render markdown)
build-dependencies:
gccpkg-config(when without cross feature)libdbus-1-dev(when without cross feature)
Note
add ~/.cargo/bin to your $PATH
- Install binaries directly using cargo-binstall
cargo binstall lcode- Archlinux can use AUR helper install
AUR contains completion scripts packaged for bash, zsh, and fish.
yay -S lcode-bin
# or
paru -S lcode-bin- Download from release
- Build by yourself
rustup default nightly
cargo install --locked --force lcode
# or# cargo install --features cross --locked --force lcodeuse cargo-update
cargo install-update --allGenerate configuration, manual modification of the configuration is also possible, and it will be automatically generated at runtime. Without -c, it will be generated in English.
lcode gencon -cSynchronize basic data first.
lcode SView the documentation for assistance.
lcode -hBegin selecting a question.
lcode fzy <edit># zshecho'eval $(lcode --generate zsh)'>>~/.zshrc
# bashecho'eval $(lcode --generate bash)'>>~/.bashrc
# ...- Use zi
zi ice lucid wait as'completion' blockf has'lcode'
zi snippet https://github.com/saying121/lcode/blob/main/completions/_lcodelcode-en.mp4
lcode.mp4
The configuration located
- Linux:
~/.config/lcode/ - macos:
~/.config/lcode/ - Windows:
C:\Users\user\AppData\Roaming\lcode
The code default located
- Linux:
~/.local/share/lcode/ - macOS:
~/Library/Application Support/lcode - Windows:
C:\Users\user\AppData\Local\lcode
code layout:
1_two-sum/
├── 1.cpp*
├── 1.rs*
├── 1_detail_cn.md*
├── 1_detail_en.md*
└── 1_test_case.txt*The cache located
- Linux:
~/.local/share/lcode/ - macOS:
~/Library/Caches/lcode - Windows:
C:\Users\user\AppData\Local\lcode
[First, login leetcode in browser for generate cookies]
General you just need filled browser at ~/.config/lcode/config.toml.
When use the section,be careful not to clear cookies when closing the browser.
browser = "edge"# `chrome`, `edge`, `firefox`, `librewolf` etc.# Not casesensitive, `eDgE` also ok.The detail: decrypt-cookies
~/.config/lcode/cookies.toml
csrf = ""session = ""[cookies] section
If the two fields are not empty, use the content filled by the user. And not use other method to get cookies。
Fill in manually:
Press F12 on the browser's
leetcode.com/compage, click network. Find the Cookie field, copy thecsrftoken=<$content>; andLEETCODE_SESSION=<$content>; copy the $content into the configuration.
If filled
browser, will try to use the browser to get cookies.If neither of the above two items is filled in, and then use this order
Firefox->Librewolf->Chrome->Edge->Chromium->Brave->Yandex->Vivaldi->Opera->OperaGX->CocCoctry to get cookies.
Execute lcode gencon for create new cofnig and lcode C edit.
# Show translated content or not.translate = false# Fill in `com` or `cn`, for set `leetcode.com` or `leetcode.cn`.url_suffix = "com"# When retrieving the **submissionlist**, how many columns should be displayed.column = 4# How many recent entries of the submissionlist information should be displayed.num_sublist = 10# How many questions should be displayed at once when interactively selecting a question.page_size = 25# Fill in your editor, it will attempt to retrieve it from# the environment variables `$EDITOR` and `$VISUAL`,# otherwise it will default to `vim`.## Specifically, when the editor is one of the ones below,# will vert split question and code.## - vim# - nvim# - helix## You can add additional parameters at the end.# Like `editor = ["vim", "--noplugin"]`editor = ["vim"]
# Set your selected programming language.lang = "rust"# Set the location for storing code and test cases.# You can also starting with `~`# Like `code_dir = "~/.local/share/lcode"`.code_dir = "/home/user/.local/share/lcode"# Checkout the [Cookies (Important)](#cookies-important) section above.browser = ""# For better rust coding. It will add a `Cargo.toml` file.cargo_integr = true# Use frontend id create code dir or not.dir_with_frontend_id = true# Show you lc avatar or not.# Works fine in kitty, may have problems in other terminals.show_avatar = falseYou can checkout the info/tab3 in tui for ensure cookies is valid.
- Cache cookies.