primerib1 Posted December 5, 2022 Share Posted December 5, 2022 I was just doing some serendipity search for LSL when I stumbled upon someone's XML config that enables IntelliJ IDEA to do syntax-highlighting and rudimentary autocomplete for LSL. (By "IntelliJ IDEA" of course I meant IntelliJ and it's derivatives like PyCharm, PHPStorm, and CLion. Basically, "JetBrain IDEs") I forked the project, updated the list of functions and keywords, and uploaded the result here: https://github.com/clairem-sl/jetbrains-lsl-support (I have created a PR against the original project, as well) The only thing I haven't done is cleaning up/updating the constants list, because the Category page for Constants in the wiki is incomplete. (Yes, I know it's multipage, I created a Python script to grab all the pages, and some Constants are just not listed.) Does anyone have a COMPLETE and up-to-date list of Constant NAMES? (Don't need the values or the meaning, just the Names -- will be used for highlighting and autocomplete) Link to comment Share on other sites More sharing options...
Rolig Loon Posted December 5, 2022 Share Posted December 5, 2022 (edited) Yup. https://wiki.secondlife.com/wiki/Category:LSL_Constants should be complete. The list that's used in Sublime Text, which I believe is based on that list, is current as well. Edited December 5, 2022 by Rolig Loon Link to comment Share on other sites More sharing options...
primerib1 Posted December 5, 2022 Author Share Posted December 5, 2022 (edited) 1 hour ago, Rolig Loon said: Yup. https://wiki.secondlife.com/wiki/Category:LSL_Constants should be complete. The list that's used in Sublime Text, which I believe is based on that list, is current as well. No, it's not complete. For example, neither DENSITY nor FRICTION are listed in that page. But both DENSITY and FRICTION are implied to be named constants in this page: https://wiki.secondlife.com/wiki/LlSetPhysicsMaterial (see the example code) And that is just an example of 2 named constants. There are many others if you check the LSL.xml file in the repo I linked. Edited December 5, 2022 by primerib1 Link to comment Share on other sites More sharing options...
primerib1 Posted December 5, 2022 Author Share Posted December 5, 2022 Oooohhh I found this: https://github.com/Sei-Lisa/kwdb and in "database/kwdb.xml", it does contain ALL keywords/events/constants in LSL! (I think) And it's also still being updated regularly -- including the latest LSD items! I think I'm going to grab this file instead. Link to comment Share on other sites More sharing options...
Rolig Loon Posted December 5, 2022 Share Posted December 5, 2022 (edited) Ooops.. NVM Edited December 5, 2022 by Rolig Loon 1 Link to comment Share on other sites More sharing options...
Ardy Lay Posted December 5, 2022 Share Posted December 5, 2022 9 hours ago, primerib1 said: I was just doing some serendipity search for LSL when I stumbled upon someone's XML config that enables IntelliJ IDEA to do syntax-highlighting and rudimentary autocomplete for LSL. (By "IntelliJ IDEA" of course I meant IntelliJ and it's derivatives like PyCharm, PHPStorm, and CLion. Basically, "JetBrain IDEs") I forked the project, updated the list of functions and keywords, and uploaded the result here: https://github.com/clairem-sl/jetbrains-lsl-support (I have created a PR against the original project, as well) The only thing I haven't done is cleaning up/updating the constants list, because the Category page for Constants in the wiki is incomplete. (Yes, I know it's multipage, I created a Python script to grab all the pages, and some Constants are just not listed.) Does anyone have a COMPLETE and up-to-date list of Constant NAMES? (Don't need the values or the meaning, just the Names -- will be used for highlighting and autocomplete) Are the files that the Second Life Viewer uses not suitable? I found them at: C:\Program Files\SecondLifeViewer\app_settings\keywords.ini C:\Program Files\SecondLifeViewer\app_settings\keywords_lsl_default.xml 2 Link to comment Share on other sites More sharing options...
primerib1 Posted December 6, 2022 Author Share Posted December 6, 2022 (edited) 16 hours ago, Ardy Lay said: Are the files that the Second Life Viewer uses not suitable? I found them at: C:\Program Files\SecondLifeViewer\app_settings\keywords.ini C:\Program Files\SecondLifeViewer\app_settings\keywords_lsl_default.xml Wow thanks! Never realized the existence of those files! Are those files guaranteed to be complete? A glance at them though, makes me wonder how to parse them for which word is which. The XML seems to be a representation of a hashtable, so that's probably doable, but quite a lot of manual work. While the INI file needs some line-by-line state machine. Still doable but also a hassle... For the time being I think I will still rely on kwdb Project ... their XML is much easier to quickly parse and filter as the maintainers seems to have done the heavy-lifting. Provided that the maintainers regularly update the project -- and I have no reasons to doubt that seeing the commits -- it will be Good Enough™ for me 😊 ----- EDIT: I don't have the Official SL Viewer currently installed so I can't say for SLV ... but the XML files that come with Black Dragon, FireStorm, and Kokua do NOT yet have LSD functions (did a search for "llLinksetDataReset") so they are definitely not (yet) complete. I guess I will stick with kwdb instead, they are proven to be complete. Edited December 6, 2022 by primerib1 Apparently keywords_lsl_default.xml I have is not yet complete... Link to comment Share on other sites More sharing options...
Lucia Nightfire Posted December 8, 2022 Share Posted December 8, 2022 (edited) On 12/6/2022 at 12:49 AM, primerib1 said: I don't have the Official SL Viewer currently installed so I can't say for SLV ... but the XML files that come with Black Dragon, FireStorm, and Kokua do NOT yet have LSD functions (did a search for "llLinksetDataReset") so they are definitely not (yet) complete. Any of the following files in appdata > local > firestorm have LSD library data: keywords_lsl_1ed32442-4d87-1713-d156-23dd9c0456ec.llsd.xml keywords_lsl_3e156818-84b1-881a-14b1-f989bc7f9cea.llsd.xml keywords_lsl_55e840fd-ab59-a070-8a3c-0229983bbd3c.llsd.xml keywords_lsl_e0528c38-0cd1-b1aa-b2bf-711b5705fd5b.llsd.xml keywords_lsl_4b5a1c28-43ae-8e50-ef7b-11ba4c89b91a.llsd.xml keywords_lsl_3065c6a4-6499-4685-772f-463c9cc12888.llsd.xml keywords_lsl_5f772260-434c-b9df-178a-c31b16c8fd44.llsd.xml keywords_lsl_aa19a199-8cbf-4371-69a9-10d25012956c.llsd.xml The latest XML file is downloaded whenever you open the in-world script editor and go to Help > Keyword Help... Edited December 8, 2022 by Lucia Nightfire 1 Link to comment Share on other sites More sharing options...
primerib1 Posted December 8, 2022 Author Share Posted December 8, 2022 32 minutes ago, Lucia Nightfire said: Any of the following files in appdata > local > firestorm have LSD library data: keywords_lsl_1ed32442-4d87-1713-d156-23dd9c0456ec.llsd.xml keywords_lsl_3e156818-84b1-881a-14b1-f989bc7f9cea.llsd.xml keywords_lsl_55e840fd-ab59-a070-8a3c-0229983bbd3c.llsd.xml keywords_lsl_e0528c38-0cd1-b1aa-b2bf-711b5705fd5b.llsd.xml keywords_lsl_4b5a1c28-43ae-8e50-ef7b-11ba4c89b91a.llsd.xml keywords_lsl_3065c6a4-6499-4685-772f-463c9cc12888.llsd.xml keywords_lsl_5f772260-434c-b9df-178a-c31b16c8fd44.llsd.xml keywords_lsl_aa19a199-8cbf-4371-69a9-10d25012956c.llsd.xml The latest XML file is downloaded whenever you open the in-world script editor and go to Help > Keyword Help... Ah I see. Still, it's a pain trying to parse those XML files. Kwdb's XML is so much easier to parse 😊 Link to comment Share on other sites More sharing options...
Recommended Posts
Please take a moment to consider if this thread is worth bumping.
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now