@IanD_1090 You are correct; that was the post that got me thinking about it.
I was going off the Sublime files for now, which carry the same information as the TextMate files, just in a more readable YAML format. The original code I had for this example was horribly coded, I was more just interested to see if it was even possible. I’ve started doing a re-write of it and make it a bit more modular so it isn’t strictly for embedding as a Notepad++ plugin. I’ve made decent progress in my copious (read: limited) free time. I think this has alot of potential since this type of highlighting actually has context with parts of the file, meaning you can easily do things like pull out the functions for the function list (instead of relying on only partially working regexs). Also you can add new languages without ever having to recompile anything, as the Scintilla lexers are now.
There’s still alot of stuff to do before it is actually ready to be released as a plugin, but glad to see someone is interested.
I feel the same way; I have my own plugin listed on it.
The way it works, is that the author of the Plugin Manager has to release the updated list of plugins. It is honestly up to him and his schedule how often he does it. Sometimes it’s a few weeks, other times its several months. I believe part of the issue is that every time the list is updated, it is redownloaded alot since everyone running Notepad++ has to get the new list. This file has to be hosted somewhere, and since it is downloaded so much, not many services want to host it for free. I would strongly agree that it is very important to make sure those lists are refreshed as often as possible. I think I recall he posted on the forum a little while back he is looking into working with some service to host the updated list for him, but not sure how much that has progressed. This list has been downloaded over 77million times this year alone. There is also an md5sum that the plugin manager downloads first to see if the list has been updated. This file has been downloaded over 198million times this year. So it is easy to see the bandwidth really adds up, even with small file sizes
Side note: I’ve seen alot of other “plugin managers” for other software (e.g. games, etc) host the list on Github, which I think is a beautiful idea. Just simply create a pull request to add your plugin’s information to the list. But again this goes back to the issue of this single file being downloaded so much. :(
thanks for your reply. i did read your old post but just forgot to change the cancel-button caption. thankfully that’s easy to fix. your problem with the new version on the other hand is quite puzzling to me, because the plugin is compiled with staticlly linked runtimes (the suggetion of the error-message) and with the platform-toolset “v140_xp” which should ensure compatibility with windows xp. maybe i can try to compile it with an older version of visual studio (like 126.96.36.199). it is highly unlikely that this problem has anything to do with the version of notepad++, because it the plugin runs fine with 6.8.3 on the three systems i could test it on :/
So I’m attempting to write an external lexer (well kind of, but that’s a different story). I’ve looked at some other examples (the GEDCOM lexer, Gmod Lua Lexer, etc) and understand how they work and the general setup for getting an external lexer working.
My question is regarding styling. In the xml file associated with the external lexer, there are “WordsStyle” tags that need to be defined that have a styleID, font color, size, et*
italicised text*c so that the external lexer Lex() function can use these styles. Is there a way to generate these styles within the lexer itself, meaning you can possibly have a varying number of styles? I know there isn’t a huge number of people that deal with external lexers, so hopefully someone can help :)
@greenzest As for your bonus question…there is not a defined way to add commands to the main N++ menu. IIRC, I think that TextFx is a special case since it is so old and has been around a while. That’s not to say with enough knowledge of the Win32 API you couldn’t figure out a way to do it, but I’m not sure if that would ever run you into problems later. So is it possible? (Yeah, probably) Is it suggested? (No)