SlickEdit Community
SlickEdit Product Discussion => SlickEdit® => Topic started by: davehohl on December 22, 2016, 10:13:27 PM
-
I have set up my color coding so that private member functions are shown in dark red, and public are shown in green. The declaration of the function in the .h file is displayed by SE in red, as is the invocation of the function in the .cpp file. However, the definition of the function in the .cpp is displayed in green. Hovering over the function shows the correct info for the declaration and invocation, but not the definition. It does this for multiple classes in multiple files. Any idea why SE would get confused?
See attached screen shots for examples.
SlickEdit Pro 2016 (v21.0.1.0 64-bit)
Serial number: XXXXX
Licensed number of users: Single user
License file: C:\ProgramData\slickedit\21\slickedit.lic
Build Date: November 18, 2016
Emulation: CUA
OS: Windows 10 x64
OS Version: 10.00.0
Memory: 42% Load, 10376MB/24454MB Physical, 12675MB/28038MB Page File, 658MB/134217727MB Virtual
Shell Information: C:\WINDOWS\system32\cmd.exe /q
Screen Size: 1920 x 1080, 1536 x 960, 1920 x 1200
Project Type: Cpp
Language: .cpp (C/C++)
Encoding: Automatic
Installation Directory: C:\Program Files\SlickEdit Pro 21.0.1\ (non-removable drive,NTFS,261163MB free)
Configuration Directory: C:\Users\David\OneDrive - physiowave.com\Documents\My SlickEdit Config\21.0.1\ (non-removable drive,NTFS,261163MB free)
Migrated from: C:\Users\David\OneDrive - physiowave.com\Documents\My SlickEdit Config\20.0.3\
Spill File: C:\Users\David\AppData\Local\Temp\$slk.4132 (non-removable drive,NTFS,261163MB free)
-
No one has any ideas on this?
-
If possible can you export your entire config and post it here along with a complete example that demonstrates the problem?
-
I have attached a zip file containing a simple test workspace and project, a zip file containing my exported option settings, and a screenshot illustrating the issue.
As you can see in the screenshot, the declaration of the fPrivate() function is properly shown in dark red in the .h file, and when invoked from within fPublic() in the .cpp file. But the definition of the fPrivate() function in the .cpp file is incorrectly shown in green.
Thanks for any help you can supply.
-
Don't have a solution sorry. Slick is also not applying the italic font to the private member function. I also found that with a friend function, the call to the private member function was green when the class definition was in the header file and red when the class definition is in the cpp file.
-
Thanks for checking this out Graeme. At least I know now that it is not just something with my particular system.
-
Symbol coloring takes some shortcuts when it can for performance. In this case, it just grabs the information about the current function from the symbols in the current file (the .cpp file). This has the effect of missing out on determining that the function definition is associated with a declaration that is private. I could add the code to do the extra work, though in the most common cases, it would come up dry (public, non-static).
I'll file a bug report and add this to my to-do list for a future release.
-
Thanks, Dennis!