Crates.io | lcode |
lib.rs | lcode |
version | 0.9.7 |
source | src |
created_at | 2023-08-08 13:43:07.744529 |
updated_at | 2024-09-13 11:58:37.841494 |
description | An application of terminal write leetcode.一个终端刷力扣的应用 |
homepage | https://github.com/saying121/lcode |
repository | https://github.com/saying121/lcode |
max_upload_size | |
id | 939179 |
size | 281,210 |
dependencies:
sqlite
libsecret
(Linux Optional)libdbus
(Linux notify)mdcat
(render markdown)build-dependencies:
gcc
pkg-config
(when without cross feature)libdbus-1-dev
(when without cross feature)[!NOTE]
add
~/.cargo/bin
to your$PATH
cargo binstall lcode
AUR contains completion scripts packaged for bash, zsh, and fish.
yay -S lcode-bin
# or
paru -S lcode-bin
rustup default nightly
cargo install --locked --force lcode
# or
# cargo install --features cross --locked --force lcode
use cargo-update
cargo install-update --all
Generate 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 -c
Synchronize basic data first.
lcode S
View the documentation for assistance.
lcode -h
Begin selecting a question.
lcode fzy <edit>
# zsh
echo 'eval $(lcode --generate zsh)' >>~/.zshrc
# bash
echo 'eval $(lcode --generate bash)' >>~/.bashrc
# ...
zi ice lucid wait as'completion' blockf has'lcode'
zi snippet https://github.com/saying121/lcode/blob/main/completions/_lcode
https://github.com/saying121/lcode/assets/74663483/57a633e5-6bae-4816-a224-d7d61d2141af
https://github.com/saying121/lcode/assets/74663483/9ad6ad58-b401-42f6-b8dc-359f78a37729
The configuration located
~/.config/lcode/
~/.config/lcode/
C:\Users\user\AppData\Roaming\lcode
The code default located
~/.local/share/lcode/
~/Library/Application Support/lcode
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
~/.local/share/lcode/
~/Library/Caches/lcode
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/com
page, click network.
Find the Cookie field, copy the csrftoken
=<$content>;
and LEETCODE_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
-> CocCoc
try 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
You can checkout the info/tab3 in tui for ensure cookies is valid.