Back to rankings

supabase-community/postgres_lsp

Rustsupabase.com

A Language Server for Postgres

language-server-protocolpostgres
Star Growth
Stars
3.6k
Forks
67
Weekly Growth
Issues
22
2k2.5k3k3.5k
Apr 24Apr 24May 24Jun 24
Artifactscrates.iocargo add postgres_lsp
README

Postgres Language Server

Postgres Language Server

A collection of language tools and a Language Server Protocol (LSP) implementation for Postgres, focusing on developer experience and reliable SQL tooling.

Overview

This project provides a toolchain for Postgres development, built on Postgres' own parser libpg_query to ensure 100% syntax compatibility. It is built on a Server-Client architecture with a transport-agnostic design. This means all features can be accessed not only through the Language Server Protocol, but also through other interfaces like a CLI, HTTP APIs, or a WebAssembly module. The goal is to make all the great Postgres tooling out there as accessible as possible, and to build anything that is missing ourselves.

Currently, the following features are implemented:

  • Autocompletion
  • Syntax Error Highlighting
  • Type-checking (via EXPLAIN error insights)
  • Linter, inspired by Squawk

Our current focus is on refining and enhancing these core features while building a robust and easily accessible infrastructure. For future plans and opportunities to contribute, please check out the issues and discussions. Any contributions are welcome!

Contributors

Acknowledgements

A big thanks to the following projects, without which this project wouldn't have been possible:

  • libpg_query: For extracting the Postgres' parser
  • Biome: For implementing a toolchain infrastructure we could copy from
  • Squawk: For the linter inspiration
Related repositories
eclipse-theia/theia

Eclipse Theia is a cloud & desktop IDE framework implemented in TypeScript.

TypeScriptnpmEclipse Public License 2.0ideeditor
theia-ide.org
21.6k2.9k
dense-analysis/ale

Check syntax in Vim/Neovim asynchronously and fix files, with Language Server Protocol (LSP) support

Vim ScriptBSD 2-Clause "Simplified" Licenselintervim
14k1.5k
neovim/nvim-lspconfig

Quickstart configs for Nvim LSP

LuaApache License 2.0vimnvim
13.8k2.5k
spyder-ide/spyder

Official repository for Spyder - The Scientific Python Development Environment

PythonPyPIMIT Licensespyderpython
spyder-ide.org
9.3k1.8k
facebook/pyrefly

A fast type checker and language server for Python

Rustcrates.ioMIT Licensecode-qualityide
pyrefly.org
6.8k446
supabase-community/postgres-language-server

A Language Server for Postgres

Rustcrates.ioMIT Licenselanguage-server-protocolpostgres
pg-language-server.com
5.2k121
emacs-lsp/lsp-mode

Emacs client/library for the Language Server Protocol

Emacs LispGNU General Public License v3.0language-server-protocolemacs
emacs-lsp.github.io/lsp-mode
5.1k973
zigtools/zls

A language server for Zig supporting developers with features like autocomplete and goto definition

ZigMIT Licensezigziglang
zigtools.org/zls/install/
5k436
MaskRay/ccls

C/C++/ObjC language server supporting cross references, hierarchies, completion and semantic highlighting

C++Apache License 2.0cpplanguage-server-protocol
4.1k277
VonHeikemen/lsp-zero.nvim

A starting point to setup some lsp related features in neovim.

LuaMIT Licenseneovimnvim
4k89
autozimu/LanguageClient-neovim

Language Server Protocol (LSP) support for vim and neovim.

Rustcrates.ioMIT Licenselanguage-server-protocoldeoplete-source
3.6k268
rust-lang/rls

Repository for the Rust Language Server (aka RLS)

Rustcrates.ioOtherrustlanguage-server-protocol
3.5k249