Rust On the FLY completion for neovim

Related tags

IDEs rofl.nvim
Overview

rofl.nvim

Rust On the FLy completion engine for Neovim.

Why Rust?

It's 2021. I think the question you should be asking yourself is "Why NOT Rust?!?? (btw)"

Goals

  • All configuration should be done on the Lua side of things.
    • I will pretend vimL doesn't exist as much as possible at the moment.
    • All completion is done via functions. I don't like variables. They are hard to deal with.
  • Able to add completion sources via Lua
  • Able to add completion sources via Rust (I don't know if this is possible, but it seems cool)
    • Related to this might be the ability to add things via any remote plugin... idk.
  • Snippets & related expansion
    • I don't know how complicated we'll get with these, but I want to do some stuff with snippets so that I can figure out how we can implement the right stuff in Neovim core :)
  • Builtin sources
    • Builtin LSP
    • Buffer
      • Fuzzy buffer completion with bonus points for being close to the cursor
    • File
    • ... your ideas here
    • Can we bundle neovim, access the C codes for some completion sources and use them "async"-y from neovim itself...?
      • Could be a fun project for messing around with C & Rust interop.
Comments
  • Only changing libraries

    Only changing libraries

    Let me know if you disagree with any of my changes. This pr mostly just deletes all the stuff I did in the previous one and just changes the libraries. I changed from async_std to tokio. Instead of using the #[tokio::main], which just expands to building the runtime with defaults, I am building the runtime manually to enable the threaded_scheduler. Futures is usually added for more async abstractions. For logging you seemed to be using simple-logging which is unmaintained so I changed to the more popular simplelog which has the option to log to a file which I used. directories-next is added to be able to find the proper directories to store the log file.

    opened by oberblastmeister 0
  • Comparison and possible deprecation in favor of coq_nvim

    Comparison and possible deprecation in favor of coq_nvim

    The project goal should be evaluated as coq_nvim has as goal the very same goals.

    Python is already more dense and still the project has 6.5k LOC Python. Link here: https://github.com/ms-jpq/coq_nvim

    It would probably make more sense to evaluate what can be optimised in coq_nvim and provide libraries for it rather than rewriting those 6.5k LOC.

    opened by matu3ba 0
  • self-profiler to minimize input delay

    self-profiler to minimize input delay

    nvim-compe has no self-profiling, which makes it unfeasible to minimize input delays. However, Rust or Zig can easily do this.

    I would consider lua also not a good choice for "hard" real-time requirements like with completion-suggestion on typing (get as much information as fast as possible from different sources in ideally sub-ms time), but at least we have something working "quite okay, unless you are too impatient".

    This becomes notable, when I type too fast and do corrections continuing typing. Then it has heavy lags (up to 2-3seconds).

    The same occurs with completion-nvim.

    opened by matu3ba 0
  • Resolve `completionItem/resolve` request

    Resolve `completionItem/resolve` request

    I don't know if this should be implemented in a completion plugin or upstream, but I'd love if rofl could resolve completionItem/resolve so it can auto-import stuff for me (it's tedious to import stuff manually and sometimes codeactions doesn't work). This is one of the reason why I like nvim-compe, it would be great if rofl.nvim also supports this :)

    opened by elianiva 0
  • Method brackets autocompletion

    Method brackets autocompletion

    Some language servers like typescript-language-server don't support autoinserting braces for methods. Pyright doesn't support lsp snippets at all. So it would be nice to have an option for braces autocompletion.

    opened by kuator 0
  • Can we use linter for all rust code?

    Can we use linter for all rust code?

    Hey guys!

    Would be nice to have some lint and format standard on all rust code to improve the readbility and improve the code as soon as possible. Can we use something like clippy and rustfmt on the pipeline process? I can made a PR to integrate these tools.

    Thanks!

    opened by lucastrvsn 3
Owner
TJ DeVries
Software developer. I like using Neovim (core team) and stream here: https://www.twitch.tv/teej_dv
TJ DeVries
On the fly syntax checking for GNU Emacs

https://www.flycheck.org Modern on-the-fly syntax checking extension for GNU Emacs. Try it! For a more gentle introduction read the Installation instr

Flycheck 2.3k Dec 30, 2022
A *seriously* no-bullshit Neovim GUI written in Rust and Tauri

Looking for a shareable component template? Go here --> sveltejs/component-template svelte app This is a project template for Svelte apps. It lives at

null 13 Nov 21, 2022
Language Server Protocol (LSP) support for vim and neovim.

For legacy python implementation, see branch master. LanguageClient-neovim Language Server Protocol support for vim and neovim. More recordings at Upd

Junfeng Li 3.5k Dec 29, 2022
N vim win! Neovim UI designed for Sway/i3.

Nwin This is an experimental Neovim UI that creates a new OS window for each Neovim window, all backed by the same neovim server. This enables perform

Ghjuvan Lacambre 86 Dec 29, 2022
LSP inline hints for Lua, intended for use with Neovim.

luahint LSP inline hints for Lua, intended for use with Neovim. Now that inline hints are working in Neovim nightly, I figured I'd attempt to build an

Will Hopkins 15 Jun 15, 2023
Rust IDE support for Atom, powered by the Rust Language Server (RLS)

IDE-Rust Rust language support for Atom-IDE, powered by rust-analyzer. Features Auto-completion Diagnostics (errors and warnings from rustc) Document

The Rust Programming Language 239 Dec 14, 2022
rust-analyzer is a modular compiler frontend for the Rust language

rust-analyzer is a modular compiler frontend for the Rust language. It is a part of a larger rls-2.0 effort to create excellent IDE support for Rust.

null 11.2k Jan 8, 2023
Rust language support in Atom - LOOKING FOR MAINTAINER, see #144

Rust language support in Atom Adds syntax highlighting and snippets to Rust files in Atom. Install Install the package language-rust in Atom (Preferen

Andreas Neuhaus 118 Oct 11, 2022
Eclipse Corrosion - Rust edition in Eclipse IDE

Eclipse Corrosion Rust edition and debug in Eclipse IDE Corrosion is a Rust development plugin for the Eclipse IDE, providing a rich edition experienc

Eclipse Foundation 194 Dec 23, 2022
RustDT is an Eclipse based IDE for the Rust programming language:

Project website: http://rustdt.github.io/ As of 2017, RustDT is no longer actively maintained, see this blog post for more information. If you are int

null 351 Aug 20, 2022
Emacs configuration for Rust

Table of Contents Introduction Installation Melpa Manual installation Feature guide Indentation Code formatting Running / testing / compiling code Cli

The Rust Programming Language 919 Jan 4, 2023
Rust development environment for Emacs

Rustic Table of Contents Rustic Intro Installation straight Compilation Faces rustc errors Rustfmt edition 2018 LSP Server Client eglot lsp-mode lsp-e

null 612 Dec 30, 2022
Better Rust/Cargo support for Flycheck

flycheck-rust — Flycheck for Rust This Flycheck extension configures Flycheck automatically for the current Cargo project. Setup Install from MELPA or

Flycheck 112 Sep 21, 2022
NetBeans Rust plugin

Rust NetBeans Plugin A NetBeans plugin for Rust. Linux / OSX Windows Requirements NetBeans 8.2.x Java 8+ Rust Cargo Rustup Features So far, it include

drrb 52 Oct 10, 2022
Rust plugin for the IntelliJ Platform

Rust plugin for the IntelliJ Platform Build Status Check Stable Beta Nightly Installation & Usage Available installation options and features are desc

IntelliJ Rust 4.2k Jan 2, 2023
Rust IDE

This branch contains the development of a "new ride" that maintain a small impact on the ui library. This is for a few reasons. Can customize the colo

Gustav Jansson 171 Dec 24, 2022
An IDE for Rust

Introduction SolidOak is a simple IDE for Rust. See the website for binary releases. It has the following features: An embedded copy of Neovim as its

Zach Oakes 907 Dec 29, 2022
The official Sublime Text 3 package for the Rust Programming Language

Rust Enhanced About This is a Sublime Text 3 package which supports Rust starting with version 1.0, it makes no attempt at supporting earlier incompat

The Rust Programming Language 704 Jan 7, 2023
Vim configuration for Rust.

rust.vim Description This is a Vim plugin that provides Rust file detection, syntax highlighting, formatting, Syntastic integration, and more. It requ

The Rust Programming Language 3.4k Jan 8, 2023