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

  •        47

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.



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.

jsprime - a javascript static security analysis tool

  •    Javascript

Today, more and more developers are switching to JavaScript as their first choice of language. The reason is simple JavaScript has now been started to be accepted as the mainstream programming for applications, be it on the web or on the mobile; be it on client-side, be it on the server side. JavaScript flexibility and its loose typing is friendly to developers to create rich applications at an unbelievable speed. Major advancements in the performance of JavaScript interpreters, in recent days, have almost eliminated the question of scalability and throughput from many organizations. So the point is JavaScript is now a really important and powerful language we have today and it's usage growing everyday. From client-side code in web applications it grew to server-side through Node.JS and it's now supported as proper language to write applications on major mobile operating system platforms like Windows 8 apps and the upcoming Firefox OS apps. But the problem is, many developers practice insecure coding which leads to many client side attacks, out of which DOM XSS is the most infamous. We tried to understand the root cause of this problem and figured out is that there are not enough practically usable tools that can solve real-world problems. Hence as our first attempt towards solving this problem, we want to talk about JSPrime: A JavaScript static analysis tool for the rest of us. It's a very light-weight and very easy to use point-and-click tool! The static analysis tool is based on the very popular Esprima ECMAScript parser by Aria Hidayat.

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.

Pyright - Static type checker for Python

  •    Python

Pyright is a fast type checker meant for large Python source bases. It can run in a “watch” mode and performs fast incremental updates when files are modified. Pyright does not require a Python environment or imported third-party packages to be installed. Pyright includes both a command-line tool and an extension for Visual Studio Code that implements the Language Server Protocol.

elixir-ls - A frontend-independent IDE "smartness" server for Elixir

  •    Elixir

The Elixir Language Server provides a server that runs in the background, providing IDEs, editors, and other tools with information about Elixir Mix projects. It adheres to the Language Server Protocol, a standard for frontend-independent IDE support. Debugger integration is accomplished through the similar VS Code Debug Protocol. You may want to install Elixir and Erlang from source, using the kiex and kerl tools. This will let you go-to-definition for core Elixir and Erlang modules.

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.

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.

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.

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.

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

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.

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.

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. A high-level overview of the architecture can be found here.

credo - A static code analysis tool for the Elixir language with a focus on code consistency and teaching

  •    Elixir

Credo is a static code analysis tool for the Elixir language with a focus on teaching and code consistency. It implements its own style guide.

bap - Binary Analysis Platform

  •    OCaml

The Carnegie Mellon University Binary Analysis Platform (CMU BAP) is a reverse engineering and program analysis platform that works with binary code and doesn't require the source code. BAP supports multiple architectures: ARM, x86, x86-64, PowerPC, and MIPS. BAP disassembles and lifts binary code into the RISC-like BAP Instruction Language (BIL). Program analysis is performed using the BIL representation and is architecture independent in a sense that it will work equally well for all supported architectures. The platform comes with a set of tools, libraries, and plugins. The documentation and tutorial are also available. The main purpose of BAP is to provide a toolkit for implementing automated program analysis. BAP is written in OCaml and it is the preferred language to write analysis, we have bindings to C, Python and Rust. The Primus Framework also provide a Lisp-like DSL for writing program analysis tools. BAP is developed in CMU, Cylab and is sponsored by various grants from the United States Department of Defense, Siemens AG, and the Korea government, see sponsors for more information.

DAX Editor for SQL Server


The DAX Editor for SQL Server an extension to Visual Studio 2010 that implements a language service for the DAX language. The DAX language is the expression languaged used for SQL Server Analysis Services tabular models. This extension can be used when editing DAX queries and ...

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

Theia - Cloud & desktop IDE framework implemented in TypeScript

  •    TypeScript

Theia is an extensible platform to develop full-fledged multi-language Cloud & Desktop IDE-like products with state-of-the-art web technologies. Theia is entirely written in TypeScript and clearly separates the UI frontend from the backend. The frontend runs in modern browsers or as a Desktop app using Electron with either local or remote (cloud) backends.

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.

languagetool - Style and Grammar Checker for 25+ Languages

  •    Java

LanguageTool is an Open Source proofreading software for English, French, German, Polish, Russian, and more than 20 other languages. It finds many errors that a simple spell checker cannot detect. LanguageTool is freely available under the LGPL 2.1 or later.