All Projects → emacs-lsp → Lsp Mode

emacs-lsp / Lsp Mode

Licence: gpl-3.0
Emacs client/library for the Language Server Protocol

Programming Languages

emacs lisp
2029 projects

Projects that are alternatives of or similar to Lsp Mode

Eslint Plugin Wc
ESLint rules for Web Components
Stars: ✭ 35 (-99.05%)
Mutual labels:  eslint, hacktoberfest
Eslint Plugin Ava
ESLint rules for AVA
Stars: ✭ 209 (-94.34%)
Mutual labels:  eslint, hacktoberfest
Typescript Eslint
✨ Monorepo for all the tooling which enables ESLint to support TypeScript
Stars: ✭ 10,831 (+193.44%)
Mutual labels:  eslint, hacktoberfest
Eslint d.js
Makes eslint the fastest linter on the planet
Stars: ✭ 615 (-83.34%)
Mutual labels:  eslint, emacs
LuaHelper
LuaHelper is a High-performance lua VSCode plugin, Language Server Protocol for lua.
Stars: ✭ 170 (-95.39%)
Mutual labels:  language-server-protocol, language-server-client
Tslint To Eslint Config
Converts your TSLint configuration to the closest possible ESLint equivalent. 🚀
Stars: ✭ 680 (-81.58%)
Mutual labels:  eslint, hacktoberfest
Eslint Config Wesbos
No-Sweat™ Eslint and Prettier Setup - with or without VS Code
Stars: ✭ 2,293 (-37.88%)
Mutual labels:  eslint, hacktoberfest
Build Emacs For Macos
Somewhat hacky script to automate building of Emac.app on macOS.
Stars: ✭ 192 (-94.8%)
Mutual labels:  hacktoberfest, emacs
protocol
Package protocol implements Language Server Protocol specification in Go
Stars: ✭ 41 (-98.89%)
Mutual labels:  language-server-protocol, language-server-client
lxtk
Language Client/Server Toolkit
Stars: ✭ 22 (-99.4%)
Mutual labels:  language-server-protocol, language-server-client
Horaires Ratp Api
Webservice pour les horaires et trafic RATP en temps réel
Stars: ✭ 232 (-93.71%)
Mutual labels:  hacktoberfest, json
Elm Language Server
Language server implementation for Elm
Stars: ✭ 298 (-91.93%)
Mutual labels:  hacktoberfest, language-server-protocol
Json 2 Csv
Convert JSON to CSV *or* CSV to JSON!
Stars: ✭ 210 (-94.31%)
Mutual labels:  hacktoberfest, json
Mevn Cli
Light speed setup for MEVN(Mongo Express Vue Node) Apps
Stars: ✭ 696 (-81.14%)
Mutual labels:  eslint, hacktoberfest
Literate Calc Mode.el
🧮 Literate programming for M-x calc
Stars: ✭ 201 (-94.55%)
Mutual labels:  hacktoberfest, emacs
Eslint Plugin I18n Json
Fully extendable eslint plugin for JSON i18n translation files.
Stars: ✭ 101 (-97.26%)
Mutual labels:  eslint, json
Circe
Yet another JSON library for Scala
Stars: ✭ 2,223 (-39.77%)
Mutual labels:  hacktoberfest, json
Mtgjson
MTGJSON build scripts for Magic: the Gathering
Stars: ✭ 191 (-94.83%)
Mutual labels:  hacktoberfest, json
Eslint Plugin Mocha
ESLint rules for mocha
Stars: ✭ 249 (-93.25%)
Mutual labels:  eslint, hacktoberfest
Jackson Databind
General data-binding package for Jackson (2.x): works on streaming API (core) implementation(s)
Stars: ✭ 2,959 (-19.83%)
Mutual labels:  hacktoberfest, json
title description
LSP Mode - Language Server Protocol support for Emacs
Language Server Protocol support with multiples languages support for Emacs

Language Server Protocol Support for Emacs

LSP mode


homepageinstallationlanguagessettingstutorialstroubleshootingscreenshotsFAQ


Why?

  • ❤️ Community Driven
  • 💎 Fully featured - supports all features in Language Server Protocol v3.14.
  • 🚀 Fast - see performance section.
  • 🌟 Flexible - choose between full-blown IDE with flashy UI or minimal distraction free.
  • ⚙️ Easy to configure - works out of the box and automatically upgrades if additional packages are present.

Overview

Client for Language Server Protocol (v3.14). lsp-mode aims to provide IDE-like experience by providing optional integration with the most popular Emacs packages like company, flycheck and projectile.

  • Non-blocking asynchronous calls
  • Real-time Diagnostics/linting via flycheck (recommended) or flymake when Emacs > 26 (requires flymake>=1.0.5)
  • Code completion - company-capf / completion-at-point (note that company-lsp is no longer supported).
  • Hovers - using lsp-ui
  • Code actions - via lsp-execute-code-action, modeline (recommended) or lsp-ui sideline.
  • Code outline - using builtin imenu or helm-imenu
  • Code navigation - using builtin xref, lsp-treemacs tree views or lsp-ui peek functions.
  • Code lens
  • Symbol highlights
  • Formatting
  • Project errors on modeline
  • Debugger - dap-mode
  • Breadcrumb on headerline
  • Helm integration - helm-lsp
  • Ivy integration - lsp-ivy
  • Consult integration - consult-lsp
  • Treemacs integration - lsp-treemacs
  • Semantic tokens as defined by LSP 3.16 (compatible language servers include recent development builds of clangd and rust-analyzer)
  • which-key integration for better discovery
  • iedit
  • dired
  • ido

Presentations/demos

See also

  • lsp-docker - provide docker image with preconfigured language servers with corresponding emacs configuration.
  • company-box - company frontend with icons.
  • dap-mode - Debugger integration for lsp-mode.
  • eglot - An alternative minimal LSP implementation.
  • which-key - Emacs package that displays available keybindings in popup
  • projectile - Project Interaction Library for Emacs
  • emacs-tree-sitter - Faster, fine-grained code highlighting via tree-sitter.
  • gccemacs - modified Emacs capable of compiling and running Emacs Lisp as native code.

Contributions

Contributions are very much welcome.

Support the project

The emacs-lsp organization has more than 20.000 lines of code, to keep all of this working, we need to implement new features and help the community on a lot of issues.

You can help us keep going and improving it by supporting the project

Members

Here it is a list of the current lsp-mode members and what they are primary working on/responsible for.

kurnevsky
kurnevsky

Scala | Rust
seagle0128
seagle0128

Go | Python MS
sebastiansturm
sebastiansturm

lsp-mode core | C++
vibhavp
vibhavp

lsp-mode core
yyoncho
yyoncho

lsp-mode core | Java
ericdallo
ericdallo

Dart/Flutter | Clojure
danielmartin
danielmartin

C++ | Swift
kiennq
kiennq

completions | pwsh
nbfalcon
nbfalcon

lsp-mode core | iedit
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].