You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
.H filename extensions aren't counted as C++ Header files, 'scc' instead counts it as a C Header file.
At least on GCC Manual (Man Pages), C++ can have .H and .HPP as header filename extension along with these other following file extensions: .hh, .H, .hp, .hxx, .hpp, .HPP, .h++, .tcc
On a further note, the inner contents of the .H header files I have are just class definitions with '#define' preprocessor directive surrounding them.
To Reproduce
To reproduce this issue, have C++ source and header files with .CPP and .H extensions respectively and type:
scc ./source/*
Expected behavior
Scc should count .H and other C++ header filename extension as C++ Header File in the result screen instead of saying it's a C Header file.
I've not checked yet, but it's very likely that this issue is also plaguing other filename extensions for C/C++.
Desktop:
OS: Archlinux
Kernel: 6.12.9-zen1-1-zen
SCC Version: 3.4.0
GCC Version: 14.2.1 20240910
The text was updated successfully, but these errors were encountered:
Yeah.... so the problem is the sharing of the extension.
Most languages identified have a unique extension. Where this is not the case scc will look at the first 10,000 bytes checking for keywords which would indicate which language it is.
Now in this situation I don't know if its possible to do this because my understanding is that they will look almost the same between C and C++ (correct me if I am wrong here please).
Its possible I could add in logic that checks if files around it are C++ and changes the header type based on that... although thats not going to be an easy tweak.
Another option is the proposed addition of dotfile support where you can add remaps such as .h to always be cpp headers or vice versa by adding in the --count-as option. You could of course use this now if that helps achieve your goals.
Describe the bug
.H filename extensions aren't counted as C++ Header files, 'scc' instead counts it as a C Header file.
At least on GCC Manual (Man Pages), C++ can have .H and .HPP as header filename extension along with these other following file extensions: .hh, .H, .hp, .hxx, .hpp, .HPP, .h++, .tcc
On a further note, the inner contents of the .H header files I have are just class definitions with '#define' preprocessor directive surrounding them.
To Reproduce
To reproduce this issue, have C++ source and header files with .CPP and .H extensions respectively and type:
scc ./source/*
Expected behavior
Scc should count .H and other C++ header filename extension as C++ Header File in the result screen instead of saying it's a C Header file.
I've not checked yet, but it's very likely that this issue is also plaguing other filename extensions for C/C++.
Desktop:
The text was updated successfully, but these errors were encountered: