Author Topic: Doorbell -- DCS7 Command Line Interface  (Read 8333 times)

0 Members and 1 Guest are viewing this topic.

Ashbad

  • Guest
Doorbell -- DCS7 Command Line Interface
« on: September 25, 2011, 08:09:48 pm »
Kerm showed keen interest a few days ago when I proposed an idea for me to make a CLI to handle DCS7-related functions, so I decided to go and try my hand at making it.

What I'm essentially aiming for is an alternative way for uber-haxers who hate GUIs or just the DCS GUI in general to go about using doors effectively.  I'm thinking for most efficiency, to have a somewhat-condensed system of scripting, with maybe 20-30 commands, all of which with short calling names and simple/rememberable parameter intakes.  After some discussion with the Cemetech community, people were in favor of support both Unix and DOS-like commands (no specifically DOS, though, since the side effects and parameters to most DOS commands are rather.. interesting), so I'm going to support both methods.  Since everyone is usually familiar with the Unix cmds, here are the proposed DOS-Like ones for now:

.(Program Name) // runs program
REN (Old Name) (New Name) // renames
MOV (Path) (New Path) // moves file/directory
CPY (Path) (New Path) // copies file/directory
DEL (Path) // deletes
LCK (Program Name) // locks program
HID (Program Name) // hides program
TYP (Program Name) // gets type(s) of fil(s)e in cur directory with name
CD (New Dir) // changes to new directory
CD // shows current directory
NEW (name) [size] [type] // creates new file of name, type, and size.  If no type, creates directory and size is ignored
X/Q/QUIT // quits
INF (name) // gives info of given file, including size, locked, hidden, long desc., etc.
CHK // get a program's checksum and display it

Other things:
- Tab completion
- Easy to use key set

Possible candy features for this later on once the bare bones is finished:

- Possibility of making a new system to pass parameters to a program on running statement
- .DSL (Doors Scripting Language) files which contain pre-written DSL commands, like the bare bones ones above
- Simple variables
- Useful system commands (TIOS)
- Block/control statements (for .DSL files)
- Internal file manipulation
- Maybe a built in sed alternative


Anyways, I've been busy this weekend, but this is what I coughed up after reading about the DCS7 API from page 1 to 142.  I have a lot of internals done, but for now all that I can really show is the text routines, the input buffering, and just the clear routine... so not much.  Screenie:




Brought to you by Cemetech and Dalan Polytechnic, (C) 2011.
« Last Edit: September 25, 2011, 08:10:27 pm by Ashbad »

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Doorbell -- DCS7 Command Line Interface
« Reply #1 on: September 25, 2011, 08:14:10 pm »
Reminds me of the MOS CLI... Nice job!




Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Doorbell -- DCS7 Command Line Interface
« Reply #2 on: September 25, 2011, 08:31:40 pm »
Hmm I'M not too familiar with this, but it looks nice. It kinda reminds me of the Axe Terminal a while ago, although I'm unsure if this ever got finished. Also the fact it's launched from DCS reminded me my days on Windows 95 when I launched MS DOS from the desktop. Good ol' memories.

Ashbad

  • Guest
Re: Doorbell -- DCS7 Command Line Interface
« Reply #3 on: September 25, 2011, 09:03:47 pm »
Yeah, that's pretty much the feel I'm going for :)

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Doorbell -- DCS7 Command Line Interface
« Reply #4 on: September 25, 2011, 09:14:44 pm »
Yeah but you're not going to mimic the Windows bugs too I hope? O.O

Ashbad

  • Guest
Re: Doorbell -- DCS7 Command Line Interface
« Reply #5 on: September 25, 2011, 09:17:19 pm »
Yeah but you're not going to mimic the Windows bugs too I hope? O.O

Hopefully not ;)

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Doorbell -- DCS7 Command Line Interface
« Reply #6 on: September 26, 2011, 02:43:57 pm »
Very cool Ashbad! :) You choose a really catchy name as well. =)

Offline Spyro543

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1189
  • Rating: +74/-3
    • View Profile
Re: Doorbell -- DCS7 Command Line Interface
« Reply #7 on: September 26, 2011, 03:11:13 pm »
I'd love to help with making potential DSL syntax.

Offline Eeems

  • Mr. Dictator
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 6268
  • Rating: +318/-36
  • little oof
    • View Profile
    • Eeems
Re: Doorbell -- DCS7 Command Line Interface
« Reply #8 on: September 26, 2011, 03:48:43 pm »
How about having alternatives to the commands that are more bash based?
mv instead of mov
rm instead of del
cp instead of cpy
exit as well as quit/q/x
/e

Ashbad

  • Guest
Re: Doorbell -- DCS7 Command Line Interface
« Reply #9 on: September 27, 2011, 05:52:48 am »
How about having alternatives to the commands that are more bash based?
mv instead of mov
rm instead of del
cp instead of cpy
exit as well as quit/q/x

Didn't I already say I'm supporting Unix-like commands?

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Doorbell -- DCS7 Command Line Interface
« Reply #10 on: September 27, 2011, 01:48:11 pm »
Not everyone notices everything said in a huge post, especially that only one set of command is listed. No need to be a jerk about it. Remember some people got banned in the past for doing it Ashbad. If you can't be nice anymore to everyone on the forums, it might be best you just don't post at all altogether, even about your projects. We don't want trolls on the forums.

Also advertising other calc sites is against the rules.
« Last Edit: September 27, 2011, 01:52:09 pm by DJ_O »

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: Doorbell -- DCS7 Command Line Interface
« Reply #11 on: September 27, 2011, 03:35:37 pm »
ooh, i like this idea!
i've mostly just shied away from the Doors gui in favour of running things the noshell way, but this adds all the other features i would possibly boot into the gui for (mostly just renaming and copying, but i think i could find a use for the new command as well.) i would definitely try this out, and, most likely, use it regularly.

Ashbad

  • Guest
Re: Doorbell -- DCS7 Command Line Interface
« Reply #12 on: September 27, 2011, 03:48:13 pm »
Shmibs: exactly the reason I started it :) you have no idea how many people are complaint about the DCS7 GUI, so I decided to help Kerm draw more people in with a Uber Haxor CLI thing :)

Not everyone notices everything said in a huge post, especially that only one set of command is listed. No need to be a jerk about it. Remember some people got banned in the past for doing it Ashbad. If you can't be nice anymore to everyone on the forums, it might be best you just don't post at all altogether, even about your projects. We don't want trolls on the forums.

Also advertising other calc sites is against the rules.

1) It's rather annoying when people ask for things you stated like three times in your project Abstract

2) How can I not advertise the partners in the project?  Leaving out Kerm's organization in the credits would be rather fraudulent.  Would you like it if I took "Omnimaga" out of all of ky previous credits for my programs?  It sounds like you're thinking Omnimaga is the only organization that should get credit.

Please, please see that (frustration & giving credit where due) != trolling.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Doorbell -- DCS7 Command Line Interface
« Reply #13 on: September 27, 2011, 04:17:48 pm »
1) Your post is TL;DR. Obviously people will sneak through it and miss stuff. Some people are also visual: They'll pay attention at the list of commands and features rather than reading everything. I myself did not notice you included Unix commands until the third time I read it, and sometimes we don't have the time.

2) Given that you only post here to post updates on projects, it seemed like you decided to only post on Omni to lure members for Cemetech. In the readme and download description it's fine. It's the same thing as when over one and half a year ago someone joined #omnimaga to /invite members to his chan.

Also it is trolling because you know it's against the rules and that someone will get offended, yet you do it anyway.

Ashbad

  • Guest
Re: Doorbell -- DCS7 Command Line Interface
« Reply #14 on: September 27, 2011, 04:21:24 pm »
No rules against frustration.  However, we need rules against unnecessarily derailing topics like this; can this get back on point, and let's stop causing unneeded drama?  Especially in my project thread?