Download
(295 Kb)
Download
Updated: 08/10/15 04:55 PM
Pictures
File Info
Compatibility:
Update 6 (1.6.5)
Updated:08/10/15 04:55 PM
Created:08/09/15 08:39 PM
Monthly downloads:29
Total downloads:4,000
Favorites:3
MD5:
NotePad++ ESO AutoComplete
Version: 2.1
by: circonian [More]
This is NOT an addon.

*WARNING* notepadd++ does not come with a lua autocomplete file, BUT if you have downloaded one from somewhere else (for other AutoComplete or callTip features) you will want to back it up! This way if you decide you miss your old autocomplete terms you can switch it back!!

API Version: ? (wiki pages as of 8-10-2015) Approx 10011 ?
All of the code was taken from the wiki pages as of 8-10-2015. I did not think to write down which API version it was, even if I had there would be no guarantee it was correct since I took all of the information from the wiki pages & am not sure if it was completely up to date with the latest patch.

To be honest it was a pain in the butt to try & get it to work due to problems & limitations with such a large API in notepad++. There were so many thing I wanted to do, mainly syntax highlighting & properly handling methods, but as I worked on it I found out they were not possible. For this reason I wouldn't hold my breath on an update. If I were to put in the effort I would probably create it with a different editor. As much as I like notepad++ I doubt I'll bother updating it.

What is it?
An AutoComplete, with callTips, file for NotePad++.
What is that? What does it do?
AutoComplete: When typing keywords in NotePad++ it offers AutoComplete for special ESO words: Globals, Constants, Events, functions, methods, exc... to autocomplete the typing of the words for you. (See Pictures)

callTips: After entering a function and typing ( it will popup a window telling you what the parameters are for the function & their types, the return values & their types, and a few lua functions are also thrown in that also have descriptions on what they do & how to use them. It will also tell you if a function is protected or private. (See Pictures)

Events & Constants: Since notepad++ doesn't have mouse over tooltips, you must type ( after a function name to get them to show. For this reason I listed Events and constants as functions. The reason is that, for example, you could type a constant followed by ( and it will tell you what value that constant is. Then you can just backspace & remove the unwanted (. You can do the same with events to show the parameters they will pass to your registered function. A bit strange I know, but since there are no mouse over tooltips, its better than having to go look it up on the wiki. (See Pictures)

Method Overloads: While I guess their not really overloads, since the methods belong to different objects. I have listed each method with the same name as function overloads. This is due to yet another limitation of notepad++. But at least this way you can still find what you need, albeit a bit strange. For example you can type myObj:AddButton( and it will show a callTip with 4 overloads.The 4 callTips/overloads will show you the parameters & their types, returns & their types, if their private/protected, for each method as well as which obj the method belongs to. (See Pictures)

lua AutoComplete & callTips: Besides ESO terms it also has a few lua AutoComplete terms with callTips. I did not write nor check the descriptions of these functions. Someone else wrote it and said it could be modified & reused so I added the ones I thought might be useful to devs to my ESO autocomplete file: assert, find (string.find), format (string.format), getmetatable, gmatch (string.gmatch), gsub (string.gsub), insert (table.insert), ipairs, len (string.len), lower (string.lower), match (string.match), next, pairs, pcall, random (math.random), remove (table.remove), rep (string.rep), reverse (string.reverse), select, setmetatable, sort (table.sort), sub (string.sub), upper (string.upper), tonumber, tostring, type, unpack

See Limitations at the bottom of this page!


How Do I Install It?
Extract the zip and place the lua.xml file in your notepad++/plugins/API folder.
Does It Have Everything?
It contains everything from the wiki API, Events, Constants, & Control page.
Syntax Highlighting....Not possible
I was also planning on implementing syntax highlighting for constants, events, functions, methods, exc... but eventually figured out that there is a 38k character limitation to keyword categories with a maximum of 8 categories in notepad++ and from what I read there is no way to add more keyword categories without code changes & recompiling scintilla.
Limitations Or Things You May Not Like
methods -- In notepad++ there is no way to correctly show methods. So instead all of the methods are defined as functions. What does this mean? You can type SetAnchor( and a calltip will pop-up telling you the parameters even though there is no object before it like: myControl:SetAnchor( Although I don't think thats really a big deal...you shouldn't be typing SetAnchor( by itself anyhow

string. & table. -- This file includes a few lua Auto-Completes with callTips that you may think behaves strangely. It is the same problem as with the methods. There is no way to get AutoComplete & callTips to work properly on a match like "string.gsub" or "table.insert". So instead I entered them in as individual functions "gsub", "gmatch", "insert", exc.. so they will at least appear when you need them. For example if you type "string.gsub(" or "s:gsub(" the autocomplete & calltips will work as expected. The downside is that you can type just "gsub(" and they will also appear, even though you've made a code error leaving out "string." or "s:"
Version 2.1 --

Wiki Controls Data -- Added all methods from the Wiki Controls page.
Fixed Some Formatting A few more formatting fixes.

Version 2.0 --

Wiki Data -- I rewrote the whole thing using the data from the wiki. Everything on the API, Events, & Constants page is now included.
Fixed Some Formatting Some items: parameters & returns mainly, did not have their formatting stripped all of the way and were displaying like [ItemType|#ItemType]. It should all be fixed now.
See Pictures on main page for examples of items below:
Event Function Parameters -- You can now type a ( after an event name (pretending like its a function) and it will popup a calltip showing you what parameters it will pass to your function. Since there are no mouse over tooltips in notepad++ this was the only way to display that information.
Constant Values -- You can now type a ( after a constant (pretending like its a function) and it will popup a calltip showing you what value the constant has. Since there are no mouse over tooltips in notepad++ this was the only way to display that information.
Methods Overloads (not really) -- Since there is no way to set methods for keywords in notepad++ I set all methods with the same name as function overloads, even though they are methods & belong to different objects. Strange, but at least you can find which one you want now. The callTip will pop-up and display each method as an overload, each callTip will display the parameters, returns, and the obj that method belongs to. See Pictures on main page for example...or just type AddButton( in notepad++ for an example...or New( in notepad++ for about 720 overloads.
Optional Files (0)


Archived Files (2)
File Name
Version
Size
Uploader
Date
2
266kB
circonian
08/10/15 03:45 AM
1
85kB
circonian
08/09/15 08:39 PM


Post A Reply Comment Options
Unread 10/04/15, 06:57 PM  
circonian
AddOn Author - Click to view AddOns

Forum posts: 613
File comments: 804
Uploads: 27
Originally Posted by CaptainBlagbird
Just stumbled upon this, it's awesome! Now I don't have to check the wiki so often anymore

It would be nice to have the API version in the change log so we can quickly tell if already all new stuff from an API update is available or not yet
All of the data was taken from the wiki pages as of 8-10-2015. I'm not sure if it was completely updated at the time, it was shortly after an update so it could be: API 100010, 100011, or some combination.

I'm glad you like it, but as for updates, that probably isn't going to happen. If I were to put in the effort it would be with a different editor. Once I started creating this I found to many limitations in notepad++. Things I wanted to do were not possible: it can't handle methods correctly, syntax highlighting is not possible for such a large API, and many other things. I only finished it because by the time I figured out I could not do everything I wanted I had already parsed the code into xml and since several things were not possible there was little work left to do to make its release as good as it could get.
Last edited by circonian : 10/04/15 at 06:58 PM.
Report comment to moderator  
Reply With Quote
Unread 10/03/15, 07:29 AM  
CaptainBlagbird
 
CaptainBlagbird's Avatar
AddOn Author - Click to view AddOns

Forum posts: 53
File comments: 177
Uploads: 23
Just stumbled upon this, it's awesome! Now I don't have to check the wiki so often anymore

It would be nice to have the API version in the change log so we can quickly tell if already all new stuff from an API update is available or not yet
Report comment to moderator  
Reply With Quote
Unread 08/10/15, 04:56 PM  
circonian
AddOn Author - Click to view AddOns

Forum posts: 613
File comments: 804
Uploads: 27
Originally Posted by Baertram
Thank you a lot for this auto complete files. I tried using notepad++ as IntelliJ IDEA got very slow with larger files and lua interpreter activated but there was no good ESO lua completion available until now.

I'll try it out for the next changes of addons. Thanks for your work!
NP, I added all of the methods from the wiki controls page, fixed a few more minor formatting problems, & posted a new version 2.1
Last edited by circonian : 08/10/15 at 04:57 PM.
Report comment to moderator  
Reply With Quote
Unread 08/10/15, 06:59 AM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 4966
File comments: 6033
Uploads: 78
Thank you a lot for this auto complete files. I tried using notepad++ as IntelliJ IDEA got very slow with larger files and lua interpreter activated but there was no good ESO lua completion available until now.

I'll try it out for the next changes of addons. Thanks for your work!
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: