* Deprecate argc . only argv needed
* Remove all label-related stuff (OW YEAH)
* Define API outside as r_line_... in ../include/

Readline compatibility
======================
* add support for readline-like callbacks
  - NO! they are ugly! we have our own callbacks
  - Make dietline fully compatible with readline (WHY?)
  - Optionally link against libreadline (NO PLZ)

Design:
=======

r_line API
  - N-level commands autocompletion
  - autocompletion methods:
    - from an array of strings
    - this array of strings can be generated by a callback
      that identifies the word number
    - we can just assign a function pointer to the tree of keywords
    - autocompletion function is defined by first word and Nword.
    - this is:
	ls [file] 
	ls -[flags] [file]
	x @ [num]
	/<tab> files
 		if word_count==0 && word[0]=='/':
			return autocomplete_filename

RLineCompletion* level0 = {
	{ },
	{},
	NULL
};

typedef int (*RLineCompletion)(RLine *line);

#define R_LINE_NCOMP 8
typedef struct r_line_t {
	char *prompt;
	int word;
	RLineCompletion *root;
	RLineCompletion *child[R_LINE_NCOMP]; /* 8 nested levels of completion */
} RLine;

r_line_instance.root (&r_line_instance);
r_line_instance.child[0] ();

level0 completion
level1 completion is defined by level0 word
we need a stack of completion methods defined by each completion method
- this can be done by a statik array of funptr

---

// TODO : FULL READLINE COMPATIBILITY
// rl_attempted_completion_function = rad_autocompletion;
// char **rad_autocompletion(const char *text, int start, int end)
// return  matches = rl_completion_matches (text, rad_offset_matches);
