Neovim - Why I'm switching to Native LSP over CoC

This page summarizes the projects mentioned and recommended in the original post on /r/neovim

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • alacritty

    A cross-platform, OpenGL terminal emulator.

  • Judging by his dotfiles, he is running alacritty which is a minimalist gpu-accelerated terminal emulator, see below for alternatives. Another one could be the keyboard repeat rate - if you are running a linux system, try something like

  • typescript-language-server

    TypeScript & JavaScript Language Server

  • JavaScript and TypeScript are still using typescript-language-server. I've been able to get auto imports working with compe.nvim and have figured out all the other features I care about, but the overall experience still lags behind CoC (and takes much more work to set up). In terms of suggestions, the experience is very similar, but code actions in particular are far worse.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • neovim-rust

    Sample neovim and vim configurations for Rust development

  • Interesting, then I don’t know what it is. I tried a few completion plugins and all variations of sharkforarm’s rust configs. Nothing is fast and I am on a Ryzen 7 4800H on kitty terminal. I even disabled most other plugins like gitgutter. And then currently all of a sudden my inlay hints are gone without changing anything in my init. Really frustrating. Maybe it is because of bigger project and larger dependencies. The expansion does not work for me in any of the native lsp completion plugins besides coc. No idea why. I even tried several of the snippets plugins but also does not work.

  • kitty

    Cross-platform, fast, feature-rich, GPU based terminal

  • kitty - feature-rich and also blazingly fast GPU-accelerated terminal emulator

  • neovide

    No Nonsense Neovim Client in Rust

  • GPU-accelerated GUI like Neovide (there are a few) which has a lot of "no non-sense" around the cursor ;)

  • alacritty

    A cross-platform, GPU-accelerated terminal emulator (by zenixls2)

  • I'm using this branch which supports ligatures.

  • diagnostic-languageserver

    diagnostic language server integrate with linters

  • Aside from that, the biggest difference versus CoC is the ecosystem, which affects setup / tweaking time and code actions. I was able to set up ESLint diagnostics with diagnostic-languageserver, but it doesn't integrate with typescript-language-server at all, and I haven't been able to set up ESLint fixing + Prettier, either, All of that is trivial with CoC.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • nvim-compe

    Discontinued Auto completion Lua plugin for nvim

  • I only recently switched to it, so I might have missed something, but nvim-compe is fast and supports loads of different sources out of the box. No weird configuration, no "binding together". Just enable the sources you want in your init.vim / init.lua.

  • nvim-lspconfig

    Quickstart configs for Nvim LSP

  • I would try the one I wrote and see if omnifunc is laggy, that eliminate us as the bottleneck: https://github.com/neovim/nvim-lspconfig/blob/master/test/minimal_init.lua

  • nix-dotfiles

    Discontinued A graveyard of broken dreams.

  • You can also try my full config: https://github.com/mjlbach/nix-dotfiles/blob/master/nixpkgs/configs/neovim/init.lua

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts