rust-script VS rust-analyzer

Compare rust-script vs rust-analyzer and see what are their differences.

rust-script

Run Rust files and expressions as scripts without any setup or compilation step. (by fornwall)

rust-analyzer

A Rust compiler front-end for IDEs [Moved to: https://github.com/rust-lang/rust-analyzer] (by rust-analyzer)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
rust-script rust-analyzer
24 207
1,099 9,320
- -
8.0 10.0
about 2 months ago almost 2 years ago
Rust Rust
Apache License 2.0 GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

rust-script

Posts with mentions or reviews of rust-script. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-15.
  • How to convince my boss that Rust is usable
    2 projects | /r/rust | 15 Jun 2023
    To address your concerns about non-trivial building process making Rust less suitable for small scripts : https://rust-script.org/ Work is actively being done. (not by me)
  • I made a scriptable spaced repetition CLI with Rust and Rhai!
    2 projects | /r/rust | 7 May 2023
    I started this as a little script made with rust-script, which took only a few hours to mock up, and then I was able to refactor the core logic into a much larger scriptable system over only about a day. And, Rust being Rust, it worked first time once I got it compiling! Also, I have to say, having a full-blown custom scripting engine just work is a novelty coming from web programming, and Rhai is a great choice if you need this sort of functionality in your own projects!
  • Organizing a large collection of Rust "scripts"?
    3 projects | /r/rust | 12 Apr 2023
    Use rust-script ! Instead of having a folder for each script, your script could be a single file, just like you would in python. Then you can put all the files in a single directory with a readme describing the functionality and use-case of each script.
  • Pre-RFC: `cargo-script` for everyone
    2 projects | /r/rust | 7 Apr 2023
    In case you didn't notice in the Prior Art section, rust-script is the most actively maintained descendant of cargo-script (from which the cargo-eval crate is forked as well).
  • Rust tech stack
    11 projects | /r/rust | 23 Mar 2023
    Someone even wrote https://rust-script.org/ to make that "shell scripting using Rust" use-case more convenient.
  • would you use rust for scripting?
    6 projects | /r/rust | 20 Mar 2023
    Is rust-script close enough?
    6 projects | /r/rust | 20 Mar 2023
    So personally, I use: - bash for super super basic things - ifs and loops are pretty much off the table - Rust for anything more complex than that - I've had a good time using https://rust-script.org/ , it's got some really cool features, and a very Unix-y feel
    6 projects | /r/rust | 20 Mar 2023
  • Why is Rust always advertised as system programming not general purpose programming?
    3 projects | /r/rust | 3 Dec 2022
    That may have been more of the originator of the idea, but what I believe I had used was rust-script, looking into it more. That one isn't maintained.
  • How has learning Rust been a benefit to you in other programming areas?
    2 projects | /r/rust | 15 Nov 2022
    If you want that, check out rust-script.

rust-analyzer

Posts with mentions or reviews of rust-analyzer. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-17.
  • rust-analyzer changelog #164
    3 projects | /r/rust | 17 Jan 2023
    I would like changes like https://github.com/rust-analyzer/rust-analyzer/pull/13799 to be listed in 'Breaking Changes' category, to приманка draw the users' attention.
  • Mun v0.4.0 released
    4 projects | /r/rust_gamedev | 13 Dec 2022
    For those of you who haven’t heard of Mun before, Mun is an embeddable programming language empowering creation through iteration. The idea to create Mun originated out of frustration with the Lua dynamic scripting language and a desire to have similar hot reloading functionality available in Rust. As such, it’s not a direct competitor with Rust, but instead is intended to be used with Rust (or C/C++) as a host/embedded language pairing. Actually, Mun is completely written in Rust, building on similar crates as rust-analyzer and rustc. Its key features include:
  • rust-analyzer changelog #159
    2 projects | /r/rust | 12 Dec 2022
    #13728 upgrade chalk to make solver fuel work again (works around most trait solving hangs).
  • Does Rust need proc-macros 2.0?
    2 projects | /r/rust | 27 Jul 2022
    Rust-analyzer has a good overview: https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/dev/syntax.md
  • rust-analyzer changelog #134
    7 projects | /r/rust | 20 Jun 2022
    #12517 (first contribution) fix completion for methods in trait generated by macro.
    7 projects | /r/rust | 20 Jun 2022
  • LSP Rust Analyzer keeps telling me `Error NO_RESULT_CALLBACK_FOUND`
    3 projects | /r/neovim | 12 Jun 2022
    -- all the opts to send to nvim-lspconfig -- these override the defaults set by rust-tools.nvim -- see https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#rust_analyzer server = { -- on_attach is a callback called when the language server attachs to the buffer -- on_attach = on_attach, settings = { -- to enable rust-analyzer settings visit: -- https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/user/generated_config.adoc ["rust-analyzer"] = { -- enable clippy on save checkOnSave = { command = "clippy" }, assist = { importGranularity = "module", importPrefix = "self", }, cargo = { loadOutDirsFromCheck = true }, procMacro = { enable = true }, } } },
  • rust-analyzer changelog #130
    2 projects | /r/rust | 23 May 2022
    #12349 publish universal VSIX to make Code happy.
    2 projects | /r/rust | 23 May 2022
    Big fan of #12263!
  • Anyone have autocomplete working with rust-tools, nvm-cmp, etc.?
    6 projects | /r/neovim | 14 Apr 2022
    -- Provide some indication that rust-analyzer is busy! local lsp_status = require('lsp-status') lsp_status.register_progress() -- Basic rust/lsp/cmp settings from https://sharksforarms.dev/posts/neovim-rust/ local nvim_lsp = require('lspconfig') local opts = { tools = { -- rust-tools options autoSetHints = true, hover_with_actions = true, inlay_hints = { show_parameter_hints = false, parameter_hints_prefix = "", other_hints_prefix = "=> ", }, }, -- all the opts to send to nvim-lspconfig -- these override the defaults set by rust-tools.nvim -- see https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#rust_analyzer server = { -- on_attach is a callback called when the language server attachs to the buffer on_attach = lsp_status.on_attach, capabilities = lsp_status.capabilities, settings = { -- to enable rust-analyzer settings visit: -- https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/user/generated_config.adoc -- and more: https://github.com/simrat39/rust-tools.nvim/wiki/Server-Configuration-Schema ["rust-analyzer"] = { -- enable clippy on save checkOnSave = { command = "clippy" }, } } }, } require('rust-tools').setup(opts) -- Setup Completion -- See https://github.com/hrsh7th/nvim-cmp#basic-configuration -- Used for super-tab functionality local has_words_before = function() local line, col = unpack(vim.api.nvim_win_get_cursor(0)) return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil end local feedkey = function(key, mode) vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(key, true, true, true), mode, true) end local lspkind = require('lspkind') local cmp = require'cmp' cmp.setup({ completion = { autocomplete = true }, -- Enable LSP snippets snippet = { expand = function(args) vim.fn["vsnip#anonymous"](args.body) end, }, mapping = { [''] = cmp.mapping.select_prev_item(), [''] = cmp.mapping.select_next_item(), [''] = cmp.mapping.scroll_docs(-4), [''] = cmp.mapping.scroll_docs(4), [''] = cmp.mapping.complete(), [''] = cmp.mapping.close(), [''] = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Insert, select = true, }), -- Add tab support [""] = cmp.mapping(function(fallback) if cmp.visible() then cmp.select_next_item() elseif vim.fn["vsnip#available"](1) == 1 then feedkey("(vsnip-expand-or-jump)", "") elseif has_words_before() then cmp.complete() else fallback() -- The fallback function sends a already mapped key. In this case, it's probably ``. end end, { "i", "s" }), [""] = cmp.mapping(function() if cmp.visible() then cmp.select_prev_item() elseif vim.fn["vsnip#jumpable"](-1) == 1 then feedkey("(vsnip-jump-prev)", "") end end, { "i", "s" }), }, -- Installed sources sources = { { name = 'nvim_lsp' }, --, trigger_characters={'.', ":"} }, { name = 'vsnip' }, { name = 'path' }, { name = 'buffer' }, { name = 'nvim_lsp_signature_help' }, { name = 'nvim_lsp_document_symbol' }, }, -- Fancy symbols formatting = { format = lspkind.cmp_format({ mode = 'symbol_text', -- show both symbol & text for now maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) -- The function below will be called before any actual modifications from lspkind -- so that you can provide more controls on popup customization. (See [#30](https://github.com/onsails/lspkind-nvim/pull/30)) --before = function (entry, vim_item) --... --return vim_item --end }) }, completion = { autocomplete = true }, })

What are some alternatives?

When comparing rust-script and rust-analyzer you can also consider the following projects:

vscode-rust - Rust extension for Visual Studio Code

Clippy - A bunch of lints to catch common mistakes and improve your Rust code. Book: https://doc.rust-lang.org/clippy/

intellij-rust - Rust plugin for the IntelliJ Platform

rustfmt - Format Rust code

eglot - A client for Language Server Protocol servers

rust - Empowering everyone to build reliable and efficient software.

coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.

ale - Check syntax in Vim/Neovim asynchronously and fix files, with Language Server Protocol (LSP) support

sublime-rust - The official Sublime Text 4 package for the Rust Programming Language

vim-lsp - async language server protocol plugin for vim and neovim

vscode-rust

vim-lsp-settings - Auto configurations for Language Server for vim-lsp