• 0 Posts
  • 59 Comments
Joined 2 years ago
cake
Cake day: April 27th, 2023

help-circle


  • i have a .clangd file with

    CompileFlags:
        Add: [
        CompilationDatabase: /src/
    -Wall,
    -I/nix/store/vm10zh43xgfxvgrqs8brz6v6xyrq9qin-glibc-2.40-66-dev/include,
    -I/nix/store/64819v2lcdbdqqb52gyqpic3khn4hvyf-libcxx-19.1.7-dev/include,
    -I/nix/store/f4x7z33ymmqn0m0pvi5ydxifsfmic1jw-raylib-5.5/include,
    -I/nix/store/wakcjb523m43qbm4xblyqm7rgg9l9s32-glu-9.0.3-dev/include,
    -I/nix/store/8xbbdx4ckcdj76ldb0cbym965whipq72-libglvnd-1.7.0-dev/include,
    -I/nix/store/b5i8r0l5bnaj8khjz4lsmsdph8dkha3s-libX11-1.8.12-dev/include,
    -I/nix/store/l1qkka1svxk8s0myynmb6kgl0ni19mjk-xorgproto-2024.1/include,
    -I/nix/store/y91x77rjip3i5zdza2ikf2lj80qc0286-libxcb-1.17.0-dev/include,
    -I/nix/store/95hqc5scvz3vxhs0p1crx9rr5r1sfs1i-compiler-rt-libc-19.1.7-dev/include,
    -I/nix/store/64819v2lcdbdqqb52gyqpic3khn4hvyf-libcxx-19.1.7-dev/include,
    -I/nix/store/f4x7z33ymmqn0m0pvi5ydxifsfmic1jw-raylib-5.5/include,
    -I/nix/store/wakcjb523m43qbm4xblyqm7rgg9l9s32-glu-9.0.3-dev/include,
    -I/nix/store/8xbbdx4ckcdj76ldb0cbym965whipq72-libglvnd-1.7.0-dev/include,
    -I/nix/store/b5i8r0l5bnaj8khjz4lsmsdph8dkha3s-libX11-1.8.12-dev/include,
    ]
    

    and a create-clangd.py

       3 includes = []
       4 with open("./src/compile_commands.json", 'r') as f:
       5     lines = f.readlines()
       6     for line in lines:
       7         if "include" in line:
       8             includes += [line[1:-2].strip()]
       9
      10 s = """
      11 CompileFlags:
      12     Add: [
      13     CompilationDatabase: /src/
      14 -Wall,
      15 """
      16
      17 for include in includes:
      18     s += "-I" + include[1:-1] + ",\n"
      19
      20 s += "]"
      21 print(s)
      22
      23 with open(".clangd", 'w') as file:
      24     file.write(s)
    

    I forgot how I made the compile-commands.json file. I think I used a program called bear.

    I also don’t code cpp normally, I just did this for one small project, so it might be a bad solution