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

  •        213

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).

https://github.com/emacs-lsp/lsp-mode

Tags
Implementation
License
Platform

   




Related Projects

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.

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.

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).


LSP

  •    Java

LSP is an advanced web template language based on XML technology. LSP provides powerful and easy to use presentation logic, but keeps business logic and technical details out of templates. LSP is compiled into Java bytecode for efficient execution.

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.

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.

Graphiql - An in-browser IDE for exploring GraphQL.

  •    Javascript

GraphiQL is the reference implementation of this monorepo, GraphQL IDE, an official project under the GraphQL Foundation. The code uses the permissive MIT license. The graphql-language-service-interface should be your go-to for language server protocol spec (LSP) implementations, which is now our first order IDE spec.

swift-mode - Emacs support for Apple's Swift programming language.

  •    Emacs

Major-mode for Apple's Swift programming language. Install swift-mode package from MELPA.

lsp - lsp is like ls command but more human-friendly

  •    Go

-t key for when you are interested in modification time. It turns to the mode that makes most sense to me when I want to look up modtimes, sorted within file groups from recent to latest: Sometimes relative times are not very readible as well (like when you are interested in a specific date), use two flags -sl to show the full UTC timestamp in properties. The file information is collected asynchronously, BFS-like, with a separate thread for each file and a timeout threshold.

omnisharp-emacs - Troll coworkers - use Emacs at work for csharp!

  •    Emacs

omnisharp-emacs is a port of the awesome omnisharp-roslyn server to the Emacs text editor. It provides IDE-like features for editing files in C# solutions in Emacs, provided by an OmniSharp server instance that works in the background. Note that C# syntax highlighting and indenting is provided by csharp-mode which is a dependency of this package. See Configuration section below on how to enable omnisharp-mode via the csharp-mode hook.

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.

irony-mode - A C/C++ minor mode for Emacs powered by libclang

  •    Emacs

irony-mode is an Emacs minor-mode that aims at improving the editing experience for the C, C++ and Objective-C languages. It works by using a combination of an Emacs package and a C++ program (irony-server) exposing libclang. These dependencies will be installed automatically when using the standard installation procedure described below.

Project LSP

  •    C

Project LSP aims to create various scripts, plugins and useful programs for the Linux-based operating systems. LSP stands for quot;Linux Scripts and Pluginsquot;.

go-mode.el - Emacs mode for the Go programming language

  •    Emacs

This is go-mode, the Emacs mode for editing Go code.It is a complete rewrite of the go-mode that shipped with Go 1.0.3 and before, and was part of Go 1.1 until Go 1.3. Beginning with Go 1.4, editor integration will not be part of the Go distribution anymore, making this repository the canonical place for go-mode.

markdown-mode - Emacs Markdown Mode

  •    Emacs

markdown-mode is a major mode for editing Markdown-formatted text. The latest stable version is markdown-mode 2.3, released on August 31, 2017. See the release notes for details. markdown-mode is free software, licensed under the GNU GPL, version 3 or later. The primary documentation for Markdown Mode is available below, and is generated from comments in the source code. For a more in-depth treatment, the Guide to Markdown Mode for Emacs covers Markdown syntax, advanced movement and editing in Emacs, extensions, configuration examples, tips and tricks, and a survey of other packages that work with Markdown Mode. Finally, Emacs is also a self-documenting editor. This means that the source code itself contains additional documentation: each function has its own docstring available via C-h f (describe-function), individual keybindings can be investigated with C-h k (describe-key), and a complete list of keybindings is available using C-h m (describe-mode).

clojure-mode - Emacs support for the Clojure(Script) programming language

  •    Emacs

Provides Emacs font-lock, indentation, navigation and refactoring for the Clojure(Script) programming language. This document assumes you're familiar with Emacs. More thorough walkthroughs, targeting Emacs beginners, are available at clojure-doc.org and Clojure for the Brave and the True. Keep in mind, however, that they might be out-of-date.

meghanada-emacs - A Better Java Development Environment for Emacs

  •    Emacs

Meghanada is a new minor-mode (meghanada-mode) that aims at improving the editing experience for the Java. It works by using a combination of an Emacs package and meghanada-server. Meghanada is tested under linux and Windows (maybe macOS OK).

emacs-ycmd - Emacs client for ycmd, the code completion system.

  •    Emacs

emacs-ycmd is a client for ycmd, the code completion system. It takes care of managing a ycmd server and fetching completions from that server. emacs-ycmd comprises a core set of functionality for communicating with ycmd as well as integration with the Emacs completion framework company-mode.