usage method
Implementation
void usage( String func, ClipParam childParam, bool cacheFlag ){
ClipFuncData? curFunc;
if( (curFunc = procFunc().search( func, false, null )) == null ){
if( cacheFlag ){
curFunc = newFuncCache( func, childParam, null );
}
}
_topUsage = null;
if( curFunc != null ){
ClipLineData? line;
curFunc.line().beginGetLine();
while( (line = curFunc.line().getLine()) != null ){
if( (line!.token()!.count() == 0) && (line.comment() != null) ){
if( ClipMath.charAt( line.comment()!, 0 ) != '!' ){
_addUsage( line.comment()!, func );
}
} else {
break;
}
}
} else {
int cur;
ParamString func2 = ParamString( func );
List<String>? fileData = getExtFuncData( func2, null );
if( fileData == null ){
_errorProc( ClipGlobal.procErrFuncOpen, 0, childParam, ClipGlobal.codeExtFunc, func );
return;
}
for( int i = 0; i < fileData.length; i++ ){
String string = fileData[i];
cur = _firstChar( string );
if( (cur < string.length) && (ClipMath.charAt( string, cur ) == '#') ){
cur++;
if( (cur < string.length) && (ClipMath.charAt( string, cur ) == '!') ){
} else if( cur >= string.length ){
_addUsage( "", func );
} else {
_addUsage( string.substring( cur ), func );
}
} else {
break;
}
}
}
doCommandUsage( _topUsage );
ClipProcUsage? tmpUsage;
_curUsage = _topUsage;
while( _curUsage != null ){
tmpUsage = _curUsage;
_curUsage = _curUsage!._next;
if( tmpUsage!._string != null ){
tmpUsage._string = null;
}
}
}