Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-26499

clangd grays out code after #endif that it shouldn't

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Done
    • Affects Version/s: Qt Creator 6.0.0-beta2
    • Fix Version/s: Qt Creator 6.0.0-rc1
    • Component/s: C/C++/Obj-C++ Support
    • Labels:
      None
    • Environment:
      Gentoo Linux AMD64 X11.
      KDE Plasma 5.23.2.
    • Platform/s:
      Linux/X11
    • Commits:
      426fde79d6b920d4ccbc0c90659633e1c893e826 (qt-creator/qt-creator/6.0)

      Description

      Enabling clangd results in code appearing grayed out even after the `#endif`. This is how it appears without clangd:

       Enabling clangd results in:

      Whatever is responsible for this seems to break "code graying" completely. For example, try these reproduction steps:

      1. Open Creator.
      2. Create a new project.
      3. Select "Non-Qt Project" and "Plain C++ Application". I chose "qmake" as build system for simplicity.
      4. In `main.cpp`, go to the first line and add:
      #ifdef FOO
      #endif

      Now the code should look like this:

      #ifdef FOO
      #endif
      #include <iostream>

      Go to the first line again and insert a blank line. Creator gets bugged out by this. The wrong lines are being grayed out, and there's even an error message in there saying "Unterminated conditional directive."

        Attachments

        For Gerrit Dashboard: QTCREATORBUG-26499
        # Subject Branch Project Status CR V

          Activity

            People

            Assignee:
            kandeler Christian Kandeler
            Reporter:
            realnc Nikos Chantziaras
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes