Glavin001 / MrShell

Map-Reduce inspired Shell.
MIT License
4 stars 1 forks source link

Project Report 2 #17

Closed Glavin001 closed 9 years ago

Glavin001 commented 9 years ago

Was not sure where to share this link, so here! :smile:
https://github.com/jovanbulck/jo-shell

LizardLeliel commented 9 years ago

What is the link for? Is it a reference implementation of a shell, or are you using something about it for your project?

Glavin001 commented 9 years ago

I found it and noticed it is a Shell written in C, as is our own. Thought it may come in handy to look at example source code in case we get stuck. Also, it's neat to compare what we have implemented with another to see pros and cons. Always a learning experience. 

— Sent from Mailbox

On Thu, Nov 20, 2014 at 12:49 PM, Evan Larose notifications@github.com wrote:

What is the link for? Is it a reference implementation of a shell, or something more?

Reply to this email directly or view it on GitHub: https://github.com/Glavin001/MrShell/issues/17#issuecomment-63839421

LizardLeliel commented 9 years ago

Ah, thank you. That's what I thought but you never know =P.

Keep up the interesting work!

Glavin001 commented 9 years ago

@Rayls is doing the Final Report and @Frozenfire92, @DylanYoung, and I can review it afterwards. It is due the last day of class, Wednesday, December 3, 2014. So we would want this done well in advance so we can review; let's set the due date internally for the morning of Monday, December 1st.

Final Report requirements: https://github.com/smuos/lectures/blob/master/00-Project/README.md#final-submission

DylanYoung commented 9 years ago

I've got to study/practice math until Monday. But I can review. On Nov 27, 2014 4:57 PM, "Glavin Wiechert" notifications@github.com wrote:

@Rayls https://github.com/Rayls is doing the Final Report and @Frozenfire92 https://github.com/Frozenfire92, @DylanYoung https://github.com/DylanYoung, and I can review it afterwards. It is due the last day of class, Wednesday, December 3, 2014. So we would want this done well in advance so we can review; let's set the due date internally for the morning of Monday, December 1st.

Final Report requirements: https://github.com/smuos/lectures/blob/master/00-Project/README.md#final-submission

— Reply to this email directly or view it on GitHub https://github.com/Glavin001/MrShell/issues/17#issuecomment-64829720.

Glavin001 commented 9 years ago

No problem. @Rayls will have the report done for Monday and we have two days to review it :+1:

Glavin001 commented 9 years ago

@Rayls here is the Google Drive document you should write in: https://docs.google.com/document/d/1AwcW-cIxe1numZwu6WGPStXBQ52j_dOKbtxTwbghJkk/edit?usp=sharing

Copy your current work into there and continue with this one. It's inside of our shared Drive folder :+1:.

How's it going so far?

Rayls commented 9 years ago

Hey guys, had a few questions:

In the end, the features of the shell were piping, tab completion, and command history, correct? Let me know if I missed anything.

Also, if you could just highlight some of the specific issues that were encountered, that'd be great. Just gimme some point form, that's all I need.

Glav, started earlier today, back at it for a bit before bed, but really need that info to really progress. I'll copy/paste what I have shortly (thanks for the google doc).

Glavin001 commented 9 years ago

Good questions. Let me know if I miss anything and if you have any more. 

Feature list:

See completed issues: https://github.com/Glavin001/MrShell/issues?q=is%3Aissue+is%3Aclosed

The commit messages should give some idea to the problems we faced coding this. 

A specific issue we faced was the Tree structure representation of the commands (see tree_node struct). And after that, the implementation of the Piping given the Tree structure (see file execute.c). The subsequent features could be added very quickly in the same fashion. 

Hope that helps!

— Sent from Mailbox

On Sat, Nov 29, 2014 at 11:37 PM, Rayls notifications@github.com wrote:

Hey guys, had a few questions: In the end, the features of the shell were piping, tab completion, and command history, correct? Let me know if I missed anything. Also, if you could just highlight some of the specific issues that were encountered, that'd be great. Just gimme some point form, that's all I need.

Glav, started earlier today, back at it for a bit before bed, but really need that info to really progress. I'll copy/paste what I have shortly (thanks for the google doc).

Reply to this email directly or view it on GitHub: https://github.com/Glavin001/MrShell/issues/17#issuecomment-64974414

Rayls commented 9 years ago

Alrighty, I could use a little more information:

Point form is sufficient. If there are docs on anything (ie: readline perhaps) that'll tell me what I need to know, pass it along.

Glavin001 commented 9 years ago

Colour: https://github.com/Glavin001/MrShell/blob/master/src/chalk.h

History & Tab completion in prompt:

Git branch:

Frozenfire92 commented 9 years ago

color (painful)

Frozenfire92 commented 9 years ago

Specifically for the tree, the double pointers and inserting the nodes in the proper order was the biggest challenge

Frozenfire92 commented 9 years ago
  • handle quoted arguments (ls "two words")

Also supports single quotes

DylanYoung commented 9 years ago

git branch:

https://github.com/Glavin001/MrShell/commit/d5c23dc86201c11068a8846831ce56de530409b9

colourization is all done with literals: see welcome.h

On Sun, Nov 30, 2014 at 12:16 PM, Rayls notifications@github.com wrote:

Alrighty, I could use a little more information:

  • how was displaying git branch implemented
  • ditto tab completion, history
  • colorization too.

Point form is sufficient. If there are docs on anything (ie: readline perhaps) that'll tell me what I need to know, pass it along.

— Reply to this email directly or view it on GitHub https://github.com/Glavin001/MrShell/issues/17#issuecomment-64990125.

Rayls commented 9 years ago

Joel, did you create the MrShell ascii for the welcome message as well as color it, or did youuse some kind of tool to make the ascii MrShell?

Frozenfire92 commented 9 years ago

tool to generate it, by hand to colour it (after chalk was defined)

On Sun, Nov 30, 2014 at 3:47 PM, Rayls notifications@github.com wrote:

Joel, did you create the MrShell ascii for the welcome message as well as color it, or did youuse some kind of tool to make the ascii MrShell?

— Reply to this email directly or view it on GitHub https://github.com/Glavin001/MrShell/issues/17#issuecomment-64997358.

Rayls commented 9 years ago

Alright guys, I've got the basics of the paper written out, and you can see it on the google doc. It's almost more of an overview at this point, but still currently ~600 words. Just needs a little fleshing out, and some slightly more flowery language to connect the various sections.

What works best for me now is feedback. Particularly, there are a couple points where I don't have very much written, mostly because I'm not sure what to write beyond the obvious, such as "we used readline for command history." I can certainly write this with a little more flourish, but I'm wondering if there's anything more of a technical aspect I should be adding to this. If you read the doc, there are a couple sections like this (color particularly). In all, I feel like it's a bit light on technical detail in general, but this can be fixed. :)

So if you guys could look at the doc, make some suggestions here, and/or do some light editing to what's there, that's probably the best way to proceed.

Glavin001 commented 9 years ago

Looking good so far.

These issues reference links that should shed more light on the technical implementation of our features:

Will take another look tmrw.