THIS PROJECT IS CURRENTLY DEAD AND NON-FUNCTIONAL DUE TO ATOM'S DEPRECIATION BY GITHUB. THE PACKAGE MANAGER FOR ATOM (APM) IS DEAD AND THE SUITE CAN NO LONGER BE DOWNLOADED BY ATOM NOR DOES IT'S DEPENDENCIES. I AM CURRENTLY MOVING THE TOOLSET TO VISUAL STUDIO CODE, STAY TUNED FOR FURTHER UPDATES. What is this? It's a suite of packages, a.k.a plugins for Atom that are all made to help with starbound mod development. What is Atom? An amazing platform independent text editor that allows its users to customize it to no end. Atom is a text editor made with . I honestly can't really describe how practical it is. It's free and it works very well. more info at https://atom.io/ What can the packages do, and why should I use it? They will identify Lua and JSON errors in your files. The Lua autocomplete includes all the documentation from the Lua API and can understand return types properly. A code coloring for Lua that actually understands complicated multi-line comments using --[==[ and --]==] or any other variant Press F9 and starbound will launch, and in the atom window, you'll be able to see a live view of your log. Many of the errors that can happen when a crash happens have been documented and will show up the "linter ui". Here is a picture if you're more of the visual type. How do I use/install it? Install Atom: https://atom.io/ Open Atom In atom open the settings, it can be done quickly by pressing control+comma In settings, open the install tab Look for starbound-modding-suite in the available packages Install the package with this exact name: starbound-modding-suite It will ask you to install its dependent packages, install them all, and some of these packages will also want you to install some more dependent packages, install these too. restart atom press f9 and enjoy. My starbound isn't installed in the usual place or I don't use windows? open the atom settings, open the packages tab and look in the community packages for the starbound-build package, there is a list of presets, but if you want to set it manually use the second field. I found a bug what can I do? You can hit me up on the discord modding channel for a quick response as I am almost always there. you can post in this thread with a screenshot of the problem and a description of what is happening. You can open an issue on GitHub and let me know what's happening. Or if you want to help you can give any of the plugins a look. starbound-autocomplete-json - https://github.com/C0bra5/starbound-autocomplete-json starbound-autocomplete-lua - https://github.com/C0bra5/starbound-autocomplete-lua starbound-build - https://github.com/C0bra5/starbound-build starbound-language-json - https://github.com/C0bra5/starbound-language-json starbound-language-lua - https://github.com/C0bra5/starbound-language-lua starbound-linter-json - https://github.com/C0bra5/starbound-linter-json starbound-linter-lua - https://github.com/C0bra5/starbound-linter-lua starbound-open-unsupported-files - https://github.com/C0bra5/starbound-open-unsupported-files starbound-pretty-json - https://github.com/C0bra5/starbound-pretty-json starbound-modding-suite - https://github.com/C0bra5/starbound-modding-suite
Welp here is what's coming next After an entire day of starting from scratch and making a new JSON auto-complete plugin entirely, JSON autocomplete and documentation here is a sneak peek at it:
Be mindful that if https://github.com/codenothing/jsonlint/issues/4 is ever fixed, you will notice that your starbound-linter-json module will break hardcore the moment you bump the dep (though it's not been updated in years, so that's unlikely). Also you listed starbound-pretty-json twice.
I'd say that's probably for the best as the codexes use these linebreaks for ease of formatting, and I don't see why it would. but anyway all I have to do is copy the current build over and include the current MIT license with it and the problem goes away, though I don't see how that will break the package unless they, themselves, break the package. as for the starbound-pretty-json getting listed twice I just fixed that, thanks for noticing
As long as you're using the appropriate version string in package.json, should be fine. I just noted it because I was curious if you'd end up running into the same issue I did - namely, the multiline string bs in the codexes. Caught me by surprise - I had to work around it with the npm package I'm using for validation myself.
Nice project! And you beat me to it, was working on something similar but had no time to finish it the last few weeks. Edit: just had a quick skim over your repos and I love how you extended existing packages to fit your needs! I was trying to implement everything from scratch, which of course led to time wasted on stupid little problems and inhibited progress towards finishing any component truly. Will definitely take a lesson from this
starting from a template is always a good idea, but sometimes you just have to start from scratch. For example, I Gave the lua-autoautocomplete a major overhaul, first the way it documented things was... bad, it was hard to understand and wasn't actually consistent, I took note of that and more or less fixed all that I could. But the json-autocomplete, that thing had even worst documentation format, here is their patch schema: http://json.schemastore.org/json-patch it's kinda hard to understand at first glance and expanding on it would require me to add the documentation to the official json schema store list, which let's face it they don't need/want me to, so I decided to start from scratch and make it expandable, and easier to work with, I'm trying to find a way to not have to use Capital PI, Π, as a way to escape element naming problems, but so far it's the best way to do so, I'll probably push an update on the starbound-autocomplete-json package later today so that people can see what I mean. A good recommendation would be to usually fork the original repos, but since I want the starbound related issues and bugs to be sent my way and not the way of the original packages, I decided to copy the repos and not fork them as it would make it harder for beginners to get confused which package to send their feedback to. I still keep the links for the ones that still use original code, but let's just say that the json autocomplete is about to loose it's link.
The JSON autocomplete and documentation is rolling out, enjoy! it's currently available for active items and patch files
Outstanding! I've steadily been growing more used to Atom's LACK of recognition for some of the JSON that Starbound oh-so-prominently features (I'm new to the language) and this... well, let's just say it's rather helpful beyond quantifiable measure. Keep it up!
Nice package, i use a lot atom for starbound modding, this makes things easier. Keep up with the great work.
I've posted a bunch of updates recently so here is what happened: Better JSON color-coding / syntax-highlighting Green blocks of text are boring and a bit hard to read, let's make it easier to read and add some colors. You can now set a path to the luaJIT executable In the package settings, you can now set your own path. JSON autocomplete works when a comment is present before the cursor In the package settings, you can now set your own path. Added some more JSON autocomplete documentation and suggestions Started working on projectile parameters/projectiles. not implemented for projectile files yet. Fixed the JSON autocomplete not working in multielement arrays passed after the first element That somehow slipped passed my radar but is now fixed. Added missing MIT licenses Some modified packages were still missing their original MIT license, now they should all be in there.
I haven't used this much (or done much modding of SB in general) but already I can see this being incredibly helpful. Thanks!
With today's' new major change, which is getting rid of the luajit requirement, I'd thought it would be a good idea to post an update on what has been happening throughout the packages. open-unsupported-files got fixed It wasn't actually working at all, so I made it work again. Performance improvements for the JSON auto-complete package note to self: don't use look ahead for live stuff again. removed useless text entries in the Lua auto-complete Sometimes you'd get a lot of useless entries in the auto-complete that came from incomplete user entries. added some new 1.3+ entries for the Lua auto-complete Some new stuff in the player table getting added such as player.isAdmin and expanding the ways something can be documented. also expanded the documentation of some of the vanilla entries. added a way for the Lua autocomplete to propose values/function declared after the cursor it ignores scopes, allowing you to get the autocomplete for a function/value when the cursor is before where it was declared or modified fixed a priority issue with .luacompleterc entries Some stuff was causing issues with the way the personal documentation files were being registered, so I disabled their cache and changed their priority. added a way to scroll horizontally in the live log and fixed the wrapping issue, by simply stopping it from wrapping.
is there any way to use this while at the same time using the workshop? (on steam) other than that, O U T S T A N D I N G.
I don't know where to find the link to the Discord modding channel and need help. Where would I find that? I've only used Discord like once before and it's still very confusing.
Go to https://www.discord.gg/starbound and you should be able to join the official starbound discord server. The #modding channel is under the community_channels category. Sent from my Moto G (5) using Tapatalk
As much as I like Notepad++, I think Atom just became my new favorite text editor thanks to your package suite here. Thank you!
true there. but i only use Atom for lua, because im too familiar with N++ for json, and i dont need linting for it anymore
*nods* I've spent years coding in HTML/CSS/JS and others, and I still make mistakes from time to time, so Atom is a huge help for me.