Index: /trunk/src/lib/shell/shell.h
===================================================================
--- /trunk/src/lib/shell/shell.h	(revision 7376)
+++ /trunk/src/lib/shell/shell.h	(revision 7377)
@@ -16,5 +16,5 @@
 
 #define         SHELL_DEFAULT_FONT              "fonts/final_frontier.ttf"
-#define         SHELL_DEFAULT_TEXT_COLOR        1.0f, 0.0f, 0.0f, 1.0f
+#define         SHELL_DEFAULT_TEXT_COLOR        0.0f, 1.0f, 0.0f, 1.0f
 #define         SHELL_DEFAULT_BACKGROUND_COLOR  0.0f, 0.0f, 0.0f, 1.0f
 
Index: /trunk/src/lib/shell/shell_completion_plugin.cc
===================================================================
--- /trunk/src/lib/shell/shell_completion_plugin.cc	(revision 7376)
+++ /trunk/src/lib/shell/shell_completion_plugin.cc	(revision 7377)
@@ -29,6 +29,5 @@
 
 
-
-  void ShellCompletorStringArray::addToCompleteList(std::vector<std::string>& completionList, const std::string& completionBegin)
+  void CompletorStringArray::addToCompleteList(std::vector<std::string>& completionList, const std::string& completionBegin)
   {
     unsigned int inputLen = completionBegin.size();
@@ -37,4 +36,20 @@
         completionList.push_back(this->_stringArray[i]);
   }
-};
 
+  CompletorFileSystem::CompletorFileSystem(const std::string& fileExtension,
+      StartDirectory startDir,
+      const std::string& subDir)
+  : _fileExtension(fileExtension), _startDir(startDir), _subDir(subDir)
+  {  }
+
+  void CompletorFileSystem::addToCompleteList(std::vector<std::string>& completionList, const std::string& completionBegin)
+  {
+    if (completionBegin.empty()) // if we do not yet have the beginning of the line, start with the chosen startDir.
+    {
+
+
+    }
+  }
+
+}
+
Index: /trunk/src/lib/shell/shell_completion_plugin.h
===================================================================
--- /trunk/src/lib/shell/shell_completion_plugin.h	(revision 7376)
+++ /trunk/src/lib/shell/shell_completion_plugin.h	(revision 7377)
@@ -13,42 +13,74 @@
 namespace OrxShell
 {
-  class ShellCompletor
+  //! The Base of All Completors
+  class Completor
   {
-  public:
-    virtual void addToCompleteList(std::vector<std::string>& completionList, const std::string& completionBegin) = 0;
-    virtual ~ShellCompletor() { };
+    public:
+      virtual void addToCompleteList(std::vector<std::string>& completionList, const std::string& completionBegin) = 0;
+      virtual ~Completor() { };
 
-  protected:
-    ShellCompletor();
+    protected:
+      Completor();
   };
 
-  class ShellCompletorStringArray : public ShellCompletor
+  //! Completor that completes static Arrays of Strings.
+  class CompletorStringArray : public Completor
   {
-  public:
-    ShellCompletorStringArray(const std::string* stringArray, unsigned int size)
-      : _stringArray(stringArray), _size(size) {};
-    virtual void addToCompleteList(std::vector<std::string>& completionList, const std::string& completionBegin);
+    public:
+      CompletorStringArray(const std::string* stringArray, unsigned int size)
+          : _stringArray(stringArray), _size(size) {};
+      virtual void addToCompleteList(std::vector<std::string>& completionList, const std::string& completionBegin);
 
-  private:
-    const std::string*   _stringArray;
-    unsigned int         _size;
+    private:
+      const std::string*   _stringArray;
+      unsigned int         _size;
+  };
+
+  //! Completor that completes FileSystem Entries.
+  class CompletorFileSystem : public Completor
+  {
+
+    public:
+      // Where to search if the completionString is empty.
+      typedef enum
+      {
+        StartAtRoot,
+        StartAtHome,
+        StartAtDataDir,
+    } StartDirectory;
+
+      CompletorFileSystem(const std::string& fileExtension = "",
+                          StartDirectory startDir = StartAtDataDir,
+                          const std::string& subDir = "");
+      virtual void addToCompleteList(std::vector<std::string>& completionList, const std::string& completionBegin);
+
+    private:
+      std::string             _fileExtension;
+      std::string             _subDir;
+      StartDirectory          _startDir;
+
   };
 
 
   //! A Templated Completor
-  template<typename CLASS> class ShellCompletorTList : public ShellCompletor
+  template<typename CLASS> class CompletorTList : public Completor
   {
-  public:
-    ShellCompletorTList(const std::list<CLASS*>& completionList);
-    virtual void addToCompleteList(std::vector<std::string>& completionList, const std::string& completionBegin)
-    {};
+    public:
+      CompletorTList(const std::list<CLASS*>& completionList);
+      virtual void addToCompleteList(std::vector<std::string>& completionList, const std::string& completionBegin)
+      {};
   };
 
 
+
+
+
   //! A class for Completing the an InputString.
-  class ShellCompletionPlugin
+  class CompletionPlugin
   {
-  public:
-    ShellCompletionPlugin();
+    private:
+
+    public:
+      CompletionPlugin();
 
 
