This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
Wojbie's profile picture

Shell Utility Extended - Make autocompletion even more useful v3

Started by Wojbie, 04 October 2015 - 12:42 PM
Wojbie #1
Posted 04 October 2015 - 02:42 PM
Shell Utility Extended - Make autocompletion even more useful. Chat servers detector. Pastebin files lister. Usefull info Adding. v3.0

Shell Utility Extended is extension/modification to standard ComputerCraft autocompletion system. It extends and modifies many of standard autocompletiion functions to make them more usable. It also provides extra information about option you selected. And it all can be configured using new CC settings system.

Link here is for CC version 1.80 and above. For older links look below.
Download Here: https://pastebin.com/MbcnJRAU
Or ingame by using command:
pastebin get MbcnJRAU extend
(requires http-api to be active)

To activate it simply run it. It will make changes to ComputerCraft autocompletion system and exit.

Features List:
  • Adds ability to chat program to automatically scan rednet waves and detect all chat servers in its range that you can join (may not work with costum chat servers), Also allows you to add your own user-name to suggestion list. Look in settings details for more info.
  • Adds ability for pastebin program to automatically get list of your public pastes from pastebin user account and list them when you try to get/run one.Look in settings details for more info.
  • Adds ability to Dj program to list only disk drives that have song disks inside. Also prints song name of the disk that it detects.
  • Adds ability to Monitor program to tell you size of monitor you are selecting. Its quite useful in big wired networks systems.
  • Adds ability to Set program to tell you current setting on the suggested setting.
  • Makes other programs that require specific peripheral to list only that peripheral instead of all of them (like Eject and Label only gets drives).
  • Changes order that suggestions are shown in some cases to make most used ones be first.
Showcase gif using RecGif by Bomb Bloke:

Shows me showing off completions.

Screenshots:
SpoilerChat scanner in action (well no server in range so error message shown - if there were server it would list them)



Dj song name showcase!


Monitor Size information:


Pastebin public paste list: (needs to be set in setting before first use - look below)


Set program ghosting current setting:

Settings Details:
SpoilerThis program uses latest settings system added in 1.77 to set its settings. Below is list of setting this program uses and what they do. You can edit all of the using set program. To reset any of them set it to nil. Next time program needs it it will be reset to default then.
  • "shellUtil.use_ghost" - default true - allows system to overwrite default read function with modified one that shows ghost information. If you are using anything that overwrites read you need to set this option off and will loose ghost info while keeping rest of enchantment.
  • "shellUtil.chat_names" - default empty string - List of names that will be suggested as chat program usernames. It's a comma separated string. Example: "Username1,Username2,Username3"
  • "shellUtil.pastebin_names" - default empty string - Makes pastebin program list pastes from pastebin users accounts selected. Username is username you use in your pastebin account. For example from mine account: http://pastebin.com/u/Wojbie i set this to "Wojbie". Can be also set to multiple users same way as chat_names above.

Ghost info info:
SpoilerDue to removal of piece of code i was using for autocompletition i was forced to make a new way. This new way is modified read() function that accepts second ghost table from _fnComplete function. If you want to make autocompletition that supports ghost simply return 2nd table that has ghost same way the first one has completition info. It is 100% compatible with standard autocompletion system cause second table will just be discarded by it with no harm.

Change-log:
Spoilerv1.0 - First Relase
v1.1 - Added bugfix for vanilla autocompletion of "type" program.
v2.0 - Rewrite to add new settings fine and change ghost data system.
v3.0 - Update of the program to CC 1.80. Redundant code dealing with dofile/xpcall and turtle autocompletion was removed due to functionality getting added to CC proper.

Plans For Future:
Spoiler–Find more places where ghost info could be used.

Any Comment and Suggestions how to improve Code are appreciated.

Old version for ComputerCraft version 1.79 and lover
SpoilerShell Utility Extended - Make autocompletion even more useful. Chat servers detector. Pastebin files lister. Usefull info Adding. v2.0

Shell Utility Extended is extension/modification to standard ComputerCraft autocompletion system. It extends and modifies many of standard autocompletiion functions to make them more usable. It also provides extra information about option you selected. Also removes dofile() and xpcall() from the autocompletion list in edit program. And it all can be configured using new CC settings system.

Download Here: http://pastebin.com/f8zycUS6
Or ingame by using command:
pastebin get f8zycUS6 extend
(requires http-api to be active)

To activate it simply run it. It will make changes to ComputerCraft autocompletion system and exit.

Features List:
  • Removes suggestion of "dofile()" and "xpcall()" from cases where its not needed (like "for x=1,y do" case)
  • Adds ability to chat program to automatically scan rednet waves and detect all chat servers in its range that you can join (may not work with costum chat servers), Also allows you to add your own user-name to suggestion list. Look in settings details for more info.
  • Adds ability for pastebin program to automatically get list of your public pastes from pastebin user account and list them when you try to get/run one.Look in settings details for more info.
  • Adds ability to Dj program to list only disk drives that have song disks inside. Also prints song name of the disk that it detects.
  • Adds ability to Monitor program to tell you size of monitor you are selecting. Its quite useful in big wired networks systems.
  • Adds ability to Set program to tell you current setting on the suggested setting.
  • Makes other programs that require specific peripheral to list only that peripheral instead of all of them (like Eject and Label only gets drives).
  • Changes order that suggestions are shown in some cases to make most used ones be first.
  • If in turtle adds autocompletion to turtle programs.
Showcase gif using RecGif by Bomb Bloke:

Shows me showing off completions.

Screenshots:
SpoilerChat scanner in action (well no server in range so error message shown - if there were server it would list them)



Dj song name showcase!


Monitor Size information:


Pastebin public paste list: (needs to be set in setting before first use - look below)


Set program ghosting current setting:


Gif showing that dofile and xpcall are not as annoting as usual:

Settings Details:
SpoilerThis program uses latest settings system added in 1.77 to set its settings. Below is list of setting this program uses and what they do. You can edit all of the using set program. To reset any of them set it to nil. Next time program needs it it will be reset to default then.
  • "shellUtil.use_ghost" - default true - allows system to overwrite default read function with modified one that shows ghost information. If you are using anything that overwrites read you need to set this option off and will loose ghost info while keeping rest of enchantment.
  • "shellUtil.stop_dofile" - default true - allows the program to overwrite textutils.complete with one that don't autocompletes the dofile and xpall annoyingly. This one can be keep on even if you overwrite the function because it uses overwritten one internally.
  • "shellUtil.chat_names" - default empty string - List of names that will be suggested as chat program usernames. It's a comma separated string. Example: "Username1,Username2,Username3"
  • "shellUtil.pastebin_names" - default empty string - Makes pastebin program list pastes from pastebin users accounts selected. Username is username you use in your pastebin account. For example from mine account: http://pastebin.com/u/Wojbie i set this to "Wojbie". Can be also set to multiple users same way as chat_names above.

Ghost info info:
SpoilerDue to removal of piece of code i was using for autocompletition i was forced to make a new way. This new way is modified read() function that accepts second ghost table from _fnComplete function. If you want to make autocompletition that supports ghost simply return 2nd table that has ghost same way the first one has completition info. It is 100% compatible with standard autocompletition system cause second table will just be discarded by it with no harm.

Old version for ComputerCraft version 1.76 and lover
SpoilerShell Utility Extended - Make autocompletion even more useful. Chat servers detector. Pastebin files lister. v1.1

Shell Utility Extended if extension/modification to standard ComputerCraft autocompletion system. It extends and modifies many of standard autocompletiion functions to make them more usable. Also removes dofile() and xpcall() from the autocompletion list.

Download Here: http://pastebin.com/iAisZ9VA
Or ingame by using command:
pastebin get iAisZ9VA extend
(requires http-api to be active)

To activate it simply run it. It will make changes to ComputerCraft autocompletion system and exit.

Features List:
  • Removes suggestion of "dofile()" and "xpcall()" from cases where its not needed (like "for x=1,y do" case)
  • Adds ability to chat program to automatically scan rednet waves and detect all chat servers in its range that you can join (may not work with custom chat servers), Also allows you to add your own user-name to suggestion list. More about that feature below.
  • Adds ability for pastebin program to automatically get list of your public pastes from pastebin website and list them when you try to get/run one. More about that feature below.
  • Adds ability to Dj program to list only disk drives that have song disks inside. Also prints song name of the disk that it detects. More about that feature below.
  • Makes programs that require specific peripheral to list only that peripheral instead of all of them (like Monitor only gets monitors or Eject only gets drives).
  • Changes order that suggestions are shown in some cases to make most used ones be first.
  • If in turtle adds autocompletion to turtle programs.
  • Removes vanilla bug with "type" program autocompletiion.
Showcase gif using RecGif by Bomb Bloke:

Shows me getting the program. Adding usernames for chat and pastebin and using it.

Screenshots:
SpoilerChat scanner in action (well no server in range so error message shown - if there were server it would list them)



Dj song name showcase!


Pastebin public paste lister: (needs to be configured before first use - look below)


And for the end the death of dofile() - notice that its not suggested evn if cursor is after do. (You can still use those dofile() and xpcall() - they are just removed from suggestion list in cases they are doing more harm than good)


Chat Pastebin and Dj Details:
SpoilerIn all 3 of those programs i have abused autocompletion system to show stuff inside of square brackets [] that is never actually placed in the line. That way i am giving you information about what to do to start chat scan, what song is in the disk drive, or name of pastebin file you are looking on.

To activate pastebin listing and chat auto username insert features:
  • For automatic Chat username suggestion you need to place name/names in line 9 inside tChatNames table. Examples are provided next to that line
  • For automatic pastebin public pastes suggestion you need to place pastebin username in line 12 inisde tPastebinNames table. All public pastes detected in those usernames profiles will be listed by pastebin program of attempt to run/get file. Warning - program gets list of pastes only one - whe its run. Any pastes added later will now show unless list is refreshed by running it again.
Edited on 17 September 2017 - 05:34 PM
Cloud Ninja #2
Posted 04 October 2015 - 04:23 PM
This is one of the few programs that ill ever use regularly. Good job.
Wojbie #3
Posted 28 October 2015 - 04:26 PM
UPDATE! v1.1
  • Added bugfix for vanilla autocompletiion of "type" program.
Creator #4
Posted 28 October 2015 - 05:04 PM
This is impressive!

Eat +1
Wojbie #5
Posted 13 January 2016 - 11:26 AM
Information post regarding Computercraft 1.77pr0.

Due to planned changes in way auto-completion works in computer-craft version 1.77 the ghost suggestion effect will not work correctly.
I already have coded replacement for it however any updates are on hold until 1.77 is released due to possibility of further code changes.
Edited on 13 January 2016 - 10:27 AM
Wojbie #6
Posted 16 January 2016 - 08:16 PM
UPDATE! v2.0
  • Rewrote to new system for 1.77
  • Changed how ghost system works.
  • Added new features
  • Added settings controls for it.
  • Removed bugs.
Old version for pre 1.77 users is archived at bottom of post.
Wojbie #7
Posted 17 September 2017 - 05:53 PM
UPDATE! v3.0
  • Made it work correctly in latest CC 1.80
  • Removed xpcall/dofile system (CC now does it properly)
  • Removed turtle autocompletion (CC now does it)
  • Removed bugs.
Old version for pre 1.80 users is archived at bottom of post.