I solve problems in LeetCode everyday, so I tried to set up LeetCode and Rust to write with vim.
Submit LeetCode through terminal
1. Install leetcode-cli
through npm
.
npm install -g leetcode-cli
2. Update config.json
The config file was created in ~/.lc/config.json
.
Update lang to set default language used in coding.
{
"code": {
"lang": "rust"
}
}
3. Create directory and download problem
show
command is used to generate source file in .leetcode
mkdir ~/.leetcode
cd ~/.leetcode
leetcode show -g ${question by name or id}
4. Run test
command to confirm your code
After writing code, you should run test
command before submit
.
leetcode test ${file name}
Run submit
command
Once the tests pass, submit your code to LeetCode.
You could solve problem in LeetCode with only terminal!
Setup Rust in vim
1. Add mason.nvim
and mason-lspconfig.nvim
mason is a package manager specializing in language-related functions, for example lsp.
2. Set mason
config
Set the server configured in lspconfig to be installed automatically
~/nvim/after/plugin/mason
.
local status, mason = pcall(require, "mason")
if (not status) then return end
local status2, lspconfig = pcall(require, "mason-lspconfig")
if (not status2) then return end
mason.setup({})
lspconfig.setup {
automatic_installation = true
}
3. Set lspconfig
Add rust-analyzer
in lspconfig
.
local status, nvim_lsp = pcall(require, "lspconfig")
if (not status) then return end
-- Rust
nvim_lsp.rust_analyzer.setup{
filetypes = { "rust" }
}
After this setting, you can
4. Add rust-tools
local status, rust_tools = pcall(require, "rust-tools")
if (not status) then return end
rust_tools.setup({
tools = {
autoSetHints = true,
},
server = {},
})
vim.g.rustfmt_autosave = 1
autoSetHints
is very useful.
it shows variable type.
I add vim.g.rustfmt_autosave = 1
to format automatically when I save files.
Summarize
Finally, I can comfortably write Rust in vim and submit code to LeetCode through terminal.
Top comments (0)