coc.nvim - Language Server Protocol (LSP) support for vim & neovim, featured as VSCode

  •        146

Coc is an intellisense engine for vim8 & neovim. Checkout doc/coc.txt for vim interface.


@chemzqm/neovim : 4.3.24
@chemzqm/tsconfig : 0.0.3
debounce : ^1.2.0
diff : ^3.5.0
fast-diff : ^1.2.0
fb-watchman : ^2.0.0
find-up : ^3.0.0
fuzzaldrin : ^2.1.0
glob : ^7.1.3
jsonc-parser : ^2.0.2
log4js : ^3.0.6
minimatch : ^3.0.4
mkdirp : ^0.5.1
node-json-db : ^0.9.1
node-serial : ^0.1.1
pify : ^4.0.0
semver : ^5.6.0
tslib : ^1.9.3
uuid : ^3.3.2
vscode-languageserver-protocol : ^3.13.0
vscode-languageserver-types : ^3.13.0
vscode-snippet-parser : ^0.0.5
vscode-uri : ^1.0.6
which : ^1.3.1



Related Projects

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

  •    Vim

Async Language Server Protocol plugin for vim8 and neovim. Note: async.vim is required and is used to normalize jobs between vim8 and neovim.

ale - Asynchronous linting/fixing for Vim and Language Server Protocol (LSP) integration

  •    Vim

ALE (Asynchronous Lint Engine) is a plugin for providing linting in NeoVim 0.2.0+ and Vim 8 while you edit your text files, and acts as a Vim Language Server Protocol client. ALE makes use of NeoVim and Vim 8 job control functions and timers to run linters on the contents of text buffers and return errors as text is changed in Vim. This allows for displaying warnings and errors in files being edited in Vim before files have been saved back to a filesystem.

javascript-typescript-langserver - JavaScript and TypeScript code intelligence through the Language Server Protocol

  •    TypeScript

This is a language server for JavaScript and TypeScript that adheres to the Language Server Protocol (LSP). It uses TypeScript's LanguageService to perform source code analysis. This language server implements some LSP extensions, prefixed with an x.

php-language-server - PHP Implementation of the VS Code Language Server Protocol 🆚↔🖥

  •    PHP

A pure PHP implementation of the open Language Server Protocol. Provides static code analysis for PHP for any IDE. Uses the great Tolerant PHP Parser, phpDocumentor's DocBlock reflection and an event loop for concurrency.

lsp-mode - Emacs client/library for the Language Server Protocol

  •    Emacs

A Emacs Lisp library for implementing clients for servers using Microsoft's Language Server Protocol (v3.0). The library is designed to integrate with existing Emacs IDE frameworks (completion-at-point, xref (beginning with Emacs 25.1), flycheck, etc).

language-server-protocol - Defines a common protocol for language servers.


Note: A blog covering the background and mechanics of the protocol has been added to the Visual Studio Code site.The Language Server protocol is used between a tool (the client) and a language smartness provider (the server) to integrate features like auto complete, goto definition, find all references and alike into the tool. The following diagram illustrates the communication between a tool and the language server.

go-langserver - Go language server to add Go support to editors and other tools that use the Language Server Protocol (LSP)

  •    Go

go-langserver is a Go language server that speaks Language Server Protocol. It supports editor features such as go-to-definition, hover, and find-references for Go projects. Since these capture the active resource usage, it's best to run these commands while the issue is occurring (i.e. while memory or CPU is high).

cquery - C/C++ language server supporting multi-million line code base, powered by libclang

  •    C++

cquery is a highly-scalable, low-latency language server for C/C++/Objective-C. It is tested and designed for large code bases like Chromium. cquery provides accurate and fast semantic analysis without interrupting workflow. cquery is able to respond to queries quickly because it caches a huge amount of information. When a request comes in, cquery just looks it up in the cache without running many computations. As a result, there's a large memory overhead. For example, a full index of Chrome will take about 10gb of memory. If you exclude v8, webkit, and third_party, it goes down to about 6.5gb.

haskell-ide-engine - The engine for haskell ide-integration. Not an IDE

  •    Haskell

This project aims to be the universal interface to a growing number of Haskell tools, providing a full-featured and easy to query backend for editors and IDEs that require Haskell-specific functionality. We are currently focusing on using the Language Server Protocol as the interface via which we talk to clients.

nvim-completion-manager - :warning: PLEASE USE INSTEAD

  •    Python

This is a fast, extensible, async completion framework for neovim. For more information about plugin implementation, please read the Why section. Future updates, announcements, screenshots will be posted here. Subscribe it if you are interested.

PowerShellEditorServices - A common platform for PowerShell development support in any editor or application!

  •    CSharp

PowerShell Editor Services is a PowerShell module that provides common functionality needed to enable a consistent and robust PowerShell development experience in almost any editor or integrated development environment (IDE). Check out our documentation site for information about how to use this project. You can also read our plans for future feature development by looking at the Development Roadmap.

neovim-remote - :ok_hand: Support for --remote and friends.

  •    Python

If you encounter any issues, e.g. permission denied errors or you can't find the nvr executable, read Nvim always starts a server. Get its address via :echo $NVIM_LISTEN_ADDRESS or :echo v:servername. Or specify an address at startup: NVIM_LISTEN_ADDRESS=/tmp/nvimsocket nvim.

nvim-typescript - Typescript tooling for Neovim

  •    Javascript

First make sure you have Neovim 0.2.1 or highter. This includes the node-host that is required for this plugin. You will need a global install of the neovim client as well. This will make sure that neovim and node can communicate.

metals - 🚧 WIP Language Server for Scala 🚧

  •    Scala

This project is an experiment to implement a Language Server for Scala using Scalameta projects such as Scalafmt, Scalafix and SemanticDB. ⚠️ This project is under development and is not intended to be used for day-to-day coding. Expect bugs and incomplete documentation. Installation instructions are primarily intended for project contributors.

CleverAlgorithms - An open source book that describes a large number of algorithmic techniques from the the fields of Biologically Inspired Computation, Computational Intelligence and Metaheuristics in a complete, consistent, and centralized manner such that they are accessible, usable, and understandable

  •    TeX

Clever Algorithms: Nature-Inspired Programming Recipes is an open source book that describes a large number of algorithmic techniques from the the fields of Biologically Inspired Computation, Computational Intelligence and Metaheuristics in a complete, consistent, and centralized manner such that they are accessible, usable, and understandable. This is a repository for the book project used during the development and ongoing maintenance of the books’ content. Implementing an Artificial Intelligence algorithm is difficult. Algorithm descriptions may be incomplete, inconsistent, and distributed across a number of papers, chapters and even websites. This can result in varied interpretations of algorithms, undue attrition of algorithms, and ultimately bad science. This book is an effort to address these issues by providing a handbook of algorithmic recipes drawn from the fields of Metaheuristics, Biologically Inspired Computation and Computational Intelligence, described in a complete, consistent, and centralized manner. These standardized descriptions were carefully designed to be accessible, usable, and understandable. Most of the algorithms described were originally inspired by biological and natural systems, such as the adaptive capabilities of genetic evolution and the acquired immune system, and the foraging behaviors of birds, bees, ants and bacteria. An encyclopedic algorithm reference, this book is intended for research scientists, engineers, students, and interested amateurs. Each algorithm description provides a working code example in the Ruby Programming Language.

DCD - The D Completion Daemon is an auto-complete program for the D programming language

  •    D

The D Completion Daemon is an auto-complete program for the D programming language. DCD is not an IDE. DCD is designed to provide autocompletion for your favorite text editor. If you are looking for an IDE, try one of these.

Sourcegraph - Code search and intelligence, self-hosted and scalable

  •    Go

Sourcegraph is a fast, open-source, fully-featured code search and navigation engine. It provides Fast global code search with a hybrid backend that combines a trigram index with in-memory streaming, Code intelligence for many languages via the Language Server Protocol.


  •    C

Citadel is a collaboration suite (messaging and groupware). It provides support for Email, Calendaring/Scheduling, Address books, Bulletin boards, Mailing List Server, Instant Messaging, Wiki, Multiple domain support.

rls - Repository for the Rust Language Server (aka RLS)

  •    Rust

The RLS provides a server that runs in the background, providing IDEs, editors, and other tools with information about Rust programs. It supports functionality such as 'goto definition', symbol search, reformatting, and code completion, and enables renaming and refactorings. The RLS gets its source data from the compiler and from Racer. Where possible it uses data from the compiler which is precise and complete. Where it is not possible, (for example for code completion and where building is too slow), it uses Racer.