# leetcode.nvim
🔥 在 [Neovim] 中解决 [LeetCode] 问题 🔥
🇺🇸
English, 🇨🇳 简体中文
https://github.com/kawre/leetcode.nvim/assets/69250723/aee6584c-e099-4409-b114-123cb32b7563
> [!CAUTION]
> 此插件仅与`Java`进行了专门测试。
> 如果您在使用其他语言时遇到任何错误,请打开一个问题报告它们。
## ✨ 特性
- 📌 直观的仪表板,轻松导航 [leetcode.nvim] 内
- 😍 更好的可读性的问题描述格式
- 📈 在 [Neovim] 中显示 [LeetCode] 个人统计信息
- 🔀 支持每日和随机问题
- 💾 缓存以优化性能
## 📬 环境要求
- [Neovim] >= 0.9.0
- [telescope.nvim]
- [nui.nvim]
- [nvim-treesitter] _**(可选,但强烈推荐)**_
用于格式化问题描述。
确保安装 `html` 解析器。
- [nvim-notify] _**(可选)**_
- [Nerd Font][nerd-font] & [nvim-web-devicons] _**(可选)**_
## 📦 安装
- [lazy.nvim]
```lua
{
"kawre/leetcode.nvim",
build = ":TSUpdate html",
dependencies = {
"nvim-telescope/telescope.nvim",
"nvim-lua/plenary.nvim", -- telescope 所需
"MunifTanjim/nui.nvim",
-- 可选
"nvim-treesitter/nvim-treesitter",
"rcarriga/nvim-notify",
"nvim-tree/nvim-web-devicons",
},
opts = {
-- 配置放在这里
cn = {
enabled = true,
},
},
}
```
## 🛠️ 配置
要查看完整的配置类型,请参见 [template.lua](./lua/leetcode/config/template.lua)
### ⚙️ 默认配置
```lua
{
---@type string
arg = "leetcode.nvim",
---@type lc.lang
lang = "cpp",
cn = { -- leetcode.cn
enabled = false, ---@type boolean
translator = true, ---@type boolean
translate_problems = true, ---@type boolean
},
---@type lc.storage
storage = {
home = vim.fn.stdpath("data") .. "/leetcode",
cache = vim.fn.stdpath("cache") .. "/leetcode",
},
---@type table