rust-analyzer

A Rust compiler front-end for IDEs [Moved to: https://github.com/rust-lang/rust-analyzer] (by rust-analyzer)

Rust-analyzer Alternatives

Similar projects and alternatives to rust-analyzer

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better rust-analyzer alternative or higher similarity.

Suggest an alternative to rust-analyzer

rust-analyzer reviews and mentions

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 2022-07-27.
  • Does Rust need proc-macros 2.0?
    2 projects | reddit.com/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 | reddit.com/r/rust | 20 Jun 2022
    #12517 (first contribution) fix completion for methods in trait generated by macro.
    7 projects | reddit.com/r/rust | 20 Jun 2022
  • LSP Rust Analyzer keeps telling me `Error NO_RESULT_CALLBACK_FOUND`
    3 projects | reddit.com/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 | reddit.com/r/rust | 23 May 2022
    #12349 publish universal VSIX to make Code happy.
    2 projects | reddit.com/r/rust | 23 May 2022
    Big fan of #12263!
  • rust-analyzer changelog #126
    1 project | reddit.com/r/rust | 25 Apr 2022
    #12037 remove rust-analyzer.inlayHints.enable and set language scope when toggling hints.
  • Anyone have autocomplete working with rust-tools, nvm-cmp, etc.?
    6 projects | reddit.com/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 }, })
  • Rust-Analyzer - A rust compiler front-end for ides
    1 project | reddit.com/r/rust | 14 Apr 2022
    1 project | reddit.com/r/github_trends | 14 Apr 2022
  • rust-analyzer changelog #123
    1 project | reddit.com/r/rust | 4 Apr 2022
    This seems to solve a bug when using Pest
  • rust-analyzer changelog #122
    1 project | reddit.com/r/rust | 28 Mar 2022
    Note that the new diagnostic is disabled by default. It might have some false positives (when rust-analyzer infers the wrong type) and false negatives (when the type is incorrect but rust-analyzer isn't able to infer the type).
  • When is necessary to preserve whitespaces/comments directly in a concrete syntax tree?
    2 projects | reddit.com/r/ProgrammingLanguages | 22 Mar 2022
  • rust-analyzer changelog #121
    2 projects | reddit.com/r/rust | 21 Mar 2022
    It's not very complex, but it's still annoying if you have to do it 10 times only for the available inlay hint settings.
  • Ask HN: What's the Deal with HN and Rust?
    5 projects | news.ycombinator.com | 15 Mar 2022
    The current issue is really to prevent rebuilding of entire compilation units. Incremental compilation helps somewhat but I haven't found it to be good enough when the size increases. My gut feeling is that it comes from linear or n^2 searches across the entire module due to e.g. parts of the trait system. There's no issue depending on huge crates, when they have been compiled.

    To solve this you can move to a workspace structure with internal crates, this makes local changes and tests very fast to compile. For the larger structure you only recompile what is needed starting at where the change originates in true DAG form. On the other hand you have to not create any dependency cycles when breaking things apart.

    For a workspace setup look at for example Rust-Analyzer:

    https://github.com/rust-analyzer/rust-analyzer/blob/master/C...

Stats

Basic rust-analyzer repo stats
201
9,320
10.0
4 months ago

rust-analyzer/rust-analyzer is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
Find remote jobs at our new job board 99remotejobs.com. There is 0 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.