• GCompute - In-game Lua Development IDE
    111 replies, posted
GCompute is an in-game lua editor aimed at developers with the goal of making Garry's Mod development easier. [b]Features[/b] [b]IDE[/b] Multiple tabs Dockable views HTTP file loading [b]Consoles for executing code and viewing its output on other clients (if you are admin). Seriously useful for debugging network code, etc.[/b] [b]Code Editor[/b] Block editing (hold down ALT) Unicode support Syntax highlighting [url=https://i.minus.com/idWvY5Ri1VVqu.png]Bracket highlighting overkill[/url] 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) [b]Screenshots[/b] [t]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[/t] [b]Instructions[/b] 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". [b]Bug Reports, Feature Requests and Feedback[/b] Post them in this thread. Feedback is greatly appreciated! [b]Download (git links)[/b] [b]Required (you will need all of these)[/b] [url]https://github.com/notcake/glib.git[/url] (utility functions, UTF8 functions) [url]https://github.com/notcake/gooey.git[/url] (UI controls) [url]https://github.com/notcake/vfs.git[/url] (it's complicated) [url]https://github.com/notcake/gcompute.git[/url] (the IDE) [b]Optional[/b] [url]https://github.com/notcake/gcodec.git[/url] (will eventually provide support for loading various other file types) [b]Donate[/b] 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! [url=https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=U9PLFRU6AYJPC][img]https://www.paypalobjects.com/en_GB/i/btn/btn_donate_LG.gif[/img][/url]
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 [i]much[/i] 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 .
[QUOTE=Frankess;39515473]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 .[/QUOTE] 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: [IMG]http://puu.sh/20gz3.png[/IMG]
[QUOTE=shinji144;39513684]How many of my children are you willing to bear?[/QUOTE] 3 - 5 [QUOTE=Cardcapture1;39536797]I have an issue loading the addon. I've checkout 5 svn folders for the required and gcodec. [/QUOTE] 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: [code] GLib : Running pack file "Server", deserialization took 209.34 ms (599 total files, 1.7 MiB). [/code]
[QUOTE=mancage;39588624]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.[/QUOTE] 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) [QUOTE=mancage;39588624] I am also getting this in console which I am assuming has to do with luadev: [code] GLib : Running pack file "Server", deserialization took 209.34 ms (599 total files, 1.7 MiB). [/code][/QUOTE] 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? :) Also... support for rawio? :)
[QUOTE=Xandaros;39597171]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? :)[/QUOTE] I agree with you, pressing the return key could help a LOT.
Tab is the insert for the completions.
[QUOTE=vexx21322;39597197]Tab is the insert for the completions.[/QUOTE] Oh that's easy too. Thanks :D
[QUOTE=Xandaros;39597171]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? :) Also... support for rawio? :)[/QUOTE] The autocompletion used to do that, but it was wrong half the time and got annoying. (eg. when you have a local variable whose name is prefix of a global variable, you'd have to press escape every time you typed it to kill the autocomplete). At some point I want to make the autocompletion more aggressive (visual studio style, and I'll include a setting to turn it off), but first I need to make it detect local variables, which means I have to work out how to parse the code incrementally. If anyone can point me to a rawio module for gm13, then I'll add support for it. Note that saving to files in the luacl (LCL) folder will be a bit slower, since I'd have to check each addon folder in addons/ to determine where the files really are (unless the io module in question allows you to specify LCL as the path).
Yeah, TAB works well, too. Just needs some getting used to. I noticed it is not able to parse local variabled. If you can do that, then you are really awesome :D Also, the autocompletion doesn't seem to work properly after the concatenation operator (..), that might be worth looking into. rawio is pretty much the only thing that keeps me from really using it, since I still have to copy the code into an external editor to actually save the file. (At least when developing addons, which is probably the most common case) Other than that, I just love this. It's way better than using a normal editor (even if it has syntax highlighting, duh) and might eventually really speed up developement speed. May I also suggest a way to add your own run configuration that simply executes a set console command? The idea behind that would be, that you have an addon that has plugins and uses a console command to reload those. A famous example would be E2 from wire, I guess.
There's gm_io by marvin. It pretty much just exposes the steam filesystem to lua.
Good Job, Cakeson. GCompute 5ever :)
For the "recommended" section of the OP, do you mean download all of them? or just one?
[QUOTE=Adult;39681207]For the "recommended" section of the OP, do you mean download all of them? or just one?[/QUOTE] Don't bother with the recommended downloads, they don't work apparently.
[QUOTE=!cake;39681306]Don't bother with the recommended downloads, they don't work apparently.[/QUOTE] Wait do does that mean we can't run lua serverside? or am I just being stupid. (haven't had a chance to try it yet, just inferring)
[QUOTE=Adult;39681349]Wait do does that mean we can't run lua serverside? or am I just being stupid. (haven't had a chance to try it yet, just inferring)[/QUOTE] you could try this one [url]http://www.facepunch.com/showthread.php?t=979552[/url]
The IDE is really bulky IMO, way too many dependencies. But nice job.
Great Editor! The only downside is that i just can save .txt files, have anyway to save to .lua files? to the original file on addon folder?
Sorry, you need to Log In to post a reply to this thread.