For instance, all FLTK headers end with .H and not .h. That makes it impossible for parser to detect those files on GNU/Linux and similar OSes.
Adding "H" into extension list manually doesn't help.
Can you provide more details about the problem?
Because there are plenty of places where headers/sources are searched and it is not clear from your explanation what exactly are you talking about.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It should be easy to reproduce: just create two header files in one of directories defined in the compiler search path (e.g. /usr/include), one with .H extension and another one with .h, make some definitions in them and reparse the project.
You should see that #include autocompletion works with .h file but not with .H; also, if you include .H header manually, code completion won't finish definitions from it.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I just check the CC plugin parser's code, see that it use this function:
wxArrayStringParserBase::FindFileInIncludeDirs(constwxString&file,boolfirstonly){wxArrayStringFoundSet;for(size_tidxSearch=0;idxSearch<m_IncludeDirs.GetCount();++idxSearch){wxStringbase=m_IncludeDirs[idxSearch];wxFileNametmp=file;NormalizePath(tmp,base);wxStringfullname=tmp.GetFullPath();if(wxFileExists(fullname)){FoundSet.Add(fullname);if(firstonly)break;}}TRACE(_T("ParserBase::FindFileInIncludeDirs(): Searching %s"),file.wx_str());TRACE(_T("ParserBase::FindFileInIncludeDirs(): Found %lu"),static_cast<unsignedlong>(FoundSet.GetCount()));returnFoundSet;}
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Can you provide more details about the problem?
Because there are plenty of places where headers/sources are searched and it is not clear from your explanation what exactly are you talking about.
It should be easy to reproduce: just create two header files in one of directories defined in the compiler search path (e.g. /usr/include), one with .H extension and another one with .h, make some definitions in them and reparse the project.
You should see that #include autocompletion works with .h file but not with .H; also, if you include .H header manually, code completion won't finish definitions from it.
Some related discussion here: wxFileExists/wxDir::GetAllFiles difference; does this inconsistency is filesystem relative or not?
I just check the CC plugin parser's code, see that it use this function: