This readme contains some hints on how to set up some optional development tools.
ccls is a c/c++ language server. It requires some setup to work well. There are different ways to do it but here's what works for me:
- Make a common parent directory for all your common neon projects. (for example,
~/src/neondatabase/
) - Go to
vendor/postgres-v15
- Run
make clean && ./configure
- Install bear, and run
bear -- make -j4
- Copy the generated
compile_commands.json
to~/src/neondatabase
(or equivalent) - Run
touch ~/src/neondatabase/.ccls-root
this will make thecompile_commands.json
file discoverable in all subdirectories
With this setup you will get decent lsp mileage inside the postgres repo, and also any postgres extensions that you put in ~/src/neondatabase/
, like pg_embedding
, or inside ~/src/neondatabase/neon/pgxn
as well.
Some additional tips for various IDEs:
To improve performance: (setq lsp-lens-enable nil)