|
1 | | - |
| 1 | +<div align="center"> |
| 2 | + <img src="docs/images/pls-github.png" alt="Postgres Language Server" width="80%"> |
2 | 3 |
|
3 | | -# Postgres Language Server |
| 4 | + # Postgres Language Server |
| 5 | + A collection of language tools and a Language Server Protocol (LSP) implementation for Postgres, focusing on developer experience and reliable SQL tooling. |
4 | 6 |
|
5 | | -A collection of language tools and a Language Server Protocol (LSP) implementation for Postgres, focusing on developer experience and reliable SQL tooling. |
| 7 | + [Documentation](https://pg-language-server.com/latest/) | [Installation](https://pg-language-server.com/latest/getting_started/) | [CLI Releases](https://github.com/supabase-community/postgres-language-server/releases) |
6 | 8 |
|
7 | | -Docs: [pg-language-server.com](https://pg-language-server.com/) |
8 | | - |
9 | | -Install: [instructions](https://pg-language-server.com/#installation) |
10 | | - |
11 | | -- [CLI releases](https://github.com/supabase-community/postgres-language-server/releases) |
12 | | -- [VSCode](https://marketplace.visualstudio.com/items?itemName=Supabase.postgrestools) |
13 | | -- [Neovim](https://github.com/neovim/nvim-lspconfig/blob/master/doc/configs.md#postgres_lsp) |
14 | | -- [Zed](https://github.com/LoamStudios/zed-postgres-language-server) |
15 | | -- [Sublime Text](https://lsp.sublimetext.io/language_servers/#postgresql) |
| 9 | + [VSCode](https://marketplace.visualstudio.com/items?itemName=Supabase.postgrestools) | [Cursor](https://open-vsx.org/extension/supabase/postgrestools) | [Neovim](https://github.com/neovim/nvim-lspconfig/blob/master/doc/configs.md#postgres_lsp) | [Zed](https://github.com/LoamStudios/zed-postgres-language-server) | [Sublime Text](https://lsp.sublimetext.io/language_servers/#postgresql) |
| 10 | +</div> |
16 | 11 |
|
17 | 12 | ## Overview |
| 13 | + |
18 | 14 | LSP Demo | CLI Demo |
19 | 15 | :-------------------------:|:-------------------------: |
20 | 16 |  |  |
21 | 17 |
|
22 | | -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](https://microsoft.github.io/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. |
| 18 | +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. All features can be accessed through the [Language Server Protocol](https://microsoft.github.io/language-server-protocol/), a CLI, HTTP APIs, and 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. |
23 | 19 |
|
24 | | -The following features are implemented: |
25 | | -- Autocompletion |
26 | | -- Hover |
27 | | -- Syntax Diagnostics |
28 | | -- Type-checking (via `EXPLAIN` error insights) |
29 | | -- Formatting |
30 | | -- Database & Migration Linting |
31 | | -- PL/pgSQL Support |
| 20 | +The following features are available today: |
32 | 21 |
|
33 | | -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! |
34 | | - |
35 | | -## Contributors |
36 | | - |
37 | | -- [psteinroe](https://github.com/psteinroe) |
38 | | -- [juleswritescode](https://github.com/juleswritescode) |
| 22 | +- [Autocompletion & Hover](https://pg-language-server.com/latest/features/editor_features/) |
| 23 | +- [Syntax Diagnostics](https://pg-language-server.com/latest/features/syntax_diagnostics/) |
| 24 | +- [Type Checking](https://pg-language-server.com/latest/features/type_checking/) (via `EXPLAIN` error insights) |
| 25 | +- [Formatting](https://pg-language-server.com/latest/features/formatting/) |
| 26 | +- [Migration Linting](https://pg-language-server.com/latest/features/linting/) |
| 27 | +- [Database Linting](https://pg-language-server.com/latest/features/database_linting/) |
| 28 | +- [PL/pgSQL Support](https://pg-language-server.com/latest/features/plpgsql/) |
39 | 29 |
|
40 | 30 | ## Development |
41 | 31 |
|
42 | | -### Using Nix |
43 | | - |
44 | | -```bash |
45 | | -nix develop |
46 | | -docker-compose up -d |
47 | | -``` |
48 | | - |
49 | | -### Using Docker |
50 | | - |
51 | 32 | ```bash |
| 33 | +nix develop # or skip if not using Nix |
52 | 34 | docker-compose up -d |
53 | 35 | ``` |
54 | 36 |
|
|
0 commit comments