Clippy
rust.vim
Clippy | rust.vim | |
---|---|---|
120 | 23 | |
11,294 | 3,893 | |
0.7% | 0.7% | |
10.0 | 0.0 | |
8 days ago | 4 months ago | |
Rust | Vim Script | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Clippy
-
More than you've ever wanted to know about errors in Rust
I couldn't find it in the API guidelines either. From what I understand, the idea is that any trait bounds, which includes generic type parameter bounds and lifetime bound on a type (struct or enum) would be repeated back in the impl block
there is a nice discussion on this issue here: https://github.com/rust-lang/rust-clippy/issues/1689
-
New clippy lint: detecting `&mut` which could be `&` in function arguments
You should not blindly follow clippy lints. They are sometimes wrong. Another example https://github.com/rust-lang/rust-clippy/issues/9782 .
- Let else will finally be formatted by rustfmt soon
-
My deduplication solution written in Rust beats everything else: casync, borg...
I often write () = f() to assert that f() is unit. Unfortunately clippy warns on such code ( https://github.com/rust-lang/rust-clippy/issues/9048 ). There are very recent pull requests for this bug, so hopefully this bug will be fixed very soon. But meanwhile I invented this workaround: [()] = [f()] :)
-
Any open source projects willing to take in juniors?
Apart from running clippy on many projects being essential, clippy is also an exceptionally welcoming project, no matter your prior knowledge.
-
Any new Opensource projects in (rust) looking for contributors. I want to start my journey as an OSS contributor.
clippy is a great place to get started :) though it isn't exactly new.
-
I want to contribute in a big project
clippy is also pretty compiler-adjacent and unlike rust-analyzer uses rustc's internal APIs. Don't let the size of the code base scare you off! It's actually feasible for a newcomer to contribute even such a substantial change as a new lint, and we have issues labeled as "good first issue" that come with mentorship, so you don't need to go it alone.
-
rustc-plugin: A framework for writing plugins that integrate with the Rust compiler
Yes, you could use it to write a lint. Although you might find it easier to just fork Clippy and add your own lints to their existing framework.
-
Reading Rust
Check out the readme for more information.
-
Rust Tips and Tricks #PartOne
They are two of my favorite Rust tools. If you haven’t tried them yet, I highly recommend giving them a try. Clippy can detect various lints in your code and guide you towards writing more idiomatic code. To install Clippy, simply run rustup component add clippy, and to run it within your workspace, execute cargo clippy. For more details, visit Clippy’s GitHub repository.
rust.vim
-
How to prevent rust-analyzer (rust lsp) from checking code on each save
I am using rustaceanvim and rust.vim.
-
Issue with syntax highlighting in rust with rust-analyzer
When the file first loads, it uses the syntax defined in the $VIMRUNTIME/syntax/rust.vim file from rust.vim, which is what I want, but after a few seconds (probably once rust-analyzer loads and runs), it changes the highlighting to use different colours (there's probably a better way to describe it, but a video is easier to show). This colour change also happens when I write the file (and rust-analyzer runs again).
-
Can’t run specific test via LSP
Or this https://github.com/rust-lang/rust.vim, it has example with running tests
-
Struggling to get basic diagnostic working with LSP
If you need basic syntax checking on leaving insert mode (without saving file), https://github.com/rust-lang/rust.vim can be used
-
Is it possible to have Rust doc test comments highlighted in Neovim?
Seems like there's a tree-sitter solution, but I do want to note that this works out of the box with rust.vim: https://github.com/rust-lang/rust.vim/issues/63. It might be the built-in Rust support is out of date -- using that repo as a plugin would do the trick.
-
Default mappings override user mappings in Rust ( [[ and ]] mappings )
Most of the customizations in the $VIMRUNTIME's rust ftplugin are guarded behind a flag (g:rust_fold, g:rustfmt_autosave,g:rust_recommended_style, etc.) to control enabling and disabling them, but for some reason the navigation mappings are unconditionally defined, with no flag to turn them off... It might be worth going through the issues in https://github.com/rust-lang/rust.vim to see if that ever came up before.
-
Config For rust dev
Is having rust.vim necessary if I'm using rust-tools already?
-
Need help for setting up neovim.
Primeagen has a series, you could also try spacevim or lunarvim( i prefer lunarvim). If you want to read the docs and setup yourself 1. lsp and code completion mentioned in #5. 2. treesitter 3. lsp handles that, you have to install java's lsp, this improves its look. 4. Make your own remaps, some languages have a plugin for this but i can't find one for java, this is the one for rust. 5. Install cmp and one of the snippet engines.
-
Rust with Vim
writing rust is the same regardless of which editor you use and using vim is the same regardless of what programming language you are in, so i dont think you need a tutorial neccissarily. ive been using this plugin for rust-specific features https://github.com/rust-lang/rust.vim
-
Configure NeoVim for Rust Dev
As for plugins for Rust development, I’d recommend Conquer of Completion (using the coc-rust-analyser coc plugin), Rust lang’s rust plugin, and the Toml plugin
What are some alternatives?
rustfmt - Format Rust code
coc-rust-analyzer - rust-analyzer extension for coc.nvim
vscode-rust
doom-emacs - An Emacs framework for the stubborn martian hacker [Moved to: https://github.com/doomemacs/doomemacs]
rust-analyzer - A Rust compiler front-end for IDEs [Moved to: https://github.com/rust-lang/rust-analyzer]
YouCompleteMe - A code-completion engine for Vim
Rust for Visual Studio Code
Rustlings - :crab: Small exercises to get you used to reading and writing Rust code!
sublime-rust - The official Sublime Text 4 package for the Rust Programming Language
rusty-tags - Create ctags/etags for a cargo project
intellij-rust - Rust plugin for the IntelliJ Platform
refactoring.nvim - The Refactoring library based off the Refactoring book by Martin Fowler