GCompute - In-game Lua Development IDE

GCompute is an in-game lua editor aimed at developers with the goal of making Garry’s Mod development easier.

Features
IDE
Multiple tabs
Dockable views
HTTP file loading
Consoles for executing code and viewing its output on other clients (if you are admin). Seriously useful for debugging network code, etc.

Code Editor
Block editing (hold down ALT)
Unicode support
Syntax highlighting
Bracket highlighting overkill
Name suggestion
Detects file changes made outside of the editor
Tabs without a file get their contents autosaved (try not to rely on this, I cannot guarantee that saved tabs will have backwards / forward compatibility)

Screenshots

https://i.minus.com/i5eN8PaMun8DN.png[/t][t]https://i.minus.com/iOrBGuoNmNgyn.png[/t]
[t]https://i.minus.com/ib0X8smkq4kxWu.png[/t][t]https://i.minus.com/iwcm9pQstP58J.png[/t]
[t]http://i.minus.com/iA98twkAWUybJ.png

Instructions
Bind a key to the gcompute_show_ide console command.
Save your files in your luapad folder, only some of the folders you can save in are “real”.

Bug Reports, Feature Requests and Feedback
Post them in this thread. Feedback is greatly appreciated!

Download (git links)
Required (you will need all of these)

https://github.com/notcake/glib.git (utility functions, UTF8 functions)
https://github.com/notcake/gooey.git (UI controls)
https://github.com/notcake/vfs.git (it’s complicated)
https://github.com/notcake/gcompute.git (the IDE)

Optional
https://github.com/notcake/gcodec.git (will eventually provide support for loading various other file types)

Donate
If you found this addon useful or you’d like to encourage further development and addition of new features, consider donating to show your support!

https://www.paypalobjects.com/en_GB/i/btn/btn_donate_LG.gif

Nice, looks good. Definitely useful.

Thanks and good work.

holy shit man

Wow nice job!

How many of my children are you willing to bear?

Looks really cool, I’d love to try but I have no idea how to install this thing. Can’t you just make a workshop addon?

I have to agree: is there any way this can appear on Workshop? I can imagine something like this making addon development much easier, but I’d rather not use legacy addons if I can avoid it since they slow down GMod’s loading. I actually had to go in and wipe out files I downloaded just by playing on a couple of online servers; it was getting unbearable.

It’s good if you have only one screen or you play in fullscreen mode. Will be ever possible to save stuff directly in to original folders? Not in data/luapad, in .txt .

not without a module

This looks brilliant, definitely getting my download.

Nice job.

I have an issue loading the addon. I’ve checkout 5 svn folders for the required and gcodec.

When I go into singleplayer sandbox I get the following error in console:

http://puu.sh/20gz3.png

3 - 5

I’ve fixed that now, update glib. Thanks for the report!

The lag that occurs after you type into the editor is now fixed, update glib and gooey if you’re experiencing this.

I’ve made a .bat script to update all the SVNs, since updating each one individually is too much effort (see original post).

I’ll try to get around to making a workshop addon for this soon… though I expect it’ll get taken down due to too many lua errors :v:

Thank you very much, cake.

I select all the folders with shift-click and just right click->svn update.
It updates them all in one Tortoise SVN window.

  • snip - [moderator delete this if possible]

I cannot seem to get server-side lua execution working, I tried including the three files into gcompute.lua which didn’t work and tried using the fast_addons addon which already has the three files but neither of these options worked, the “Run on server” and “run on shared” options appeared in the drop down menu when I clicked the blue play button but didn’t do anything.

I am also getting this in console which I am assuming has to do with luadev:



GLib : Running pack file "Server", deserialization took 209.34 ms (599 total files, 1.7 MiB).


Eek. I’m planning to remove the reliance on luadev for code execution when I next have enough free time, which could be in a while, sorry! (And I’ll be adding some sort of lua debugging console at the same time)

That’s not actually luadev-related at all, it’s from the system I use to avoid eating up 25% of the client_lua_files quota.

This is really handy, thanks a lot !cake!
I have a little suggestion, though: If you start typing something and it displays the suggestions, pressing return should complete the word for you, instead of having to use the mouse.
If you really want to put a newline there, which is rather unlikely, you can still press esc to close the suggestions, can’t you? :slight_smile:

Also… support for rawio? :slight_smile:

I agree with you, pressing the return key could help a LOT.

Tab is the insert for the completions.

Oh that’s easy too. Thanks :smiley: