grep command
This commit is contained in:
parent
4065711818
commit
06177085f9
6 changed files with 119 additions and 5 deletions
15
blash.css
15
blash.css
|
@ -66,3 +66,18 @@ span.brief
|
|||
color : green;
|
||||
}
|
||||
|
||||
span.filematch
|
||||
{
|
||||
color : #672377;
|
||||
}
|
||||
|
||||
span.linematch
|
||||
{
|
||||
color : #73d216;
|
||||
}
|
||||
|
||||
span.match
|
||||
{
|
||||
color : #992010;
|
||||
}
|
||||
|
||||
|
|
|
@ -49,6 +49,29 @@
|
|||
if ( http2.readyState == 4 && http2.status == 200 )
|
||||
{
|
||||
shell.files = eval ( '(' + http2.responseText + ')' );
|
||||
|
||||
// Remove duplicates
|
||||
var tmp = new Array();
|
||||
|
||||
for ( var i in shell.files )
|
||||
{
|
||||
var contains = false;
|
||||
|
||||
for ( var j=0; j < tmp.length && !contains; j++ )
|
||||
{
|
||||
if ( shell.files[i].path == tmp[j].path )
|
||||
{
|
||||
contains = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ( !contains )
|
||||
{
|
||||
tmp.push ( shell.files[i] );
|
||||
}
|
||||
}
|
||||
|
||||
shell.files = tmp;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -81,6 +81,29 @@
|
|||
if ( http2.readyState == 4 && http2.status == 200 )
|
||||
{
|
||||
shell.files = eval ( '(' + http2.responseText + ')' );
|
||||
|
||||
// Remove duplicates
|
||||
var tmp = new Array();
|
||||
|
||||
for ( var i in shell.files )
|
||||
{
|
||||
var contains = false;
|
||||
|
||||
for ( var j=0; j < tmp.length && !contains; j++ )
|
||||
{
|
||||
if ( shell.files[i].path == tmp[j].path )
|
||||
{
|
||||
contains = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ( !contains )
|
||||
{
|
||||
tmp.push ( shell.files[i] );
|
||||
}
|
||||
}
|
||||
|
||||
shell.files = tmp;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -184,6 +184,29 @@ function blash ()
|
|||
if ( http2.readyState == 4 && http2.status == 200 )
|
||||
{
|
||||
shell.files = eval ( '(' + http2.responseText + ')' );
|
||||
|
||||
// Remove duplicates
|
||||
var tmp = new Array();
|
||||
|
||||
for ( var i in shell.files )
|
||||
{
|
||||
var contains = false;
|
||||
|
||||
for ( var j=0; j < tmp.length && !contains; j++ )
|
||||
{
|
||||
if ( shell.files[i].path == tmp[j].path )
|
||||
{
|
||||
contains = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ( !contains )
|
||||
{
|
||||
tmp.push ( shell.files[i] );
|
||||
}
|
||||
}
|
||||
|
||||
shell.files = tmp;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -618,8 +641,21 @@ function blash ()
|
|||
return prompt;
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Expand an argument as path, transforming it into an absolute path, removing extra slashes and expanding '..' notations
|
||||
*/
|
||||
this.expandPath = function ( arg )
|
||||
{
|
||||
if ( !arg || arg.length == 0 )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
while ( arg.match ( /(^|\/)\.\// ))
|
||||
{
|
||||
arg = arg.replace ( /(^|\/)\.\//, '/' );
|
||||
}
|
||||
|
||||
if ( arg.match ( /^[^\/]/ ))
|
||||
{
|
||||
arg = this.path + '/' + arg;
|
||||
|
@ -656,5 +692,26 @@ function blash ()
|
|||
|
||||
return arg;
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Expand the star '*' notations inside of a path
|
||||
*/
|
||||
this.expandStar = function ( arg )
|
||||
{
|
||||
arg = arg.replace ( /([^\\])?\*/g, '$1.*' );
|
||||
|
||||
var matches = new Array();
|
||||
var re = new RegExp ( arg );
|
||||
|
||||
for ( var i=0; i < this.files.length; i++ )
|
||||
{
|
||||
if ( this.files[i].path.match ( re ))
|
||||
{
|
||||
matches.push ( this.files[i] );
|
||||
}
|
||||
}
|
||||
|
||||
return matches;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -59,6 +59,7 @@
|
|||
"echo",
|
||||
"eval",
|
||||
"find",
|
||||
"grep",
|
||||
"logout",
|
||||
"ls",
|
||||
"man",
|
||||
|
|
|
@ -96,11 +96,6 @@ $files_json = <<<JSON
|
|||
"type" : "file",
|
||||
"content" : "Custom blash configuration file"
|
||||
},
|
||||
{
|
||||
"path" : "/home/guest/mbox",
|
||||
"type" : "file",
|
||||
"content" : "No new mail"
|
||||
},
|
||||
{
|
||||
"path" : "/news/news1",
|
||||
"type" : "file",
|
||||
|
|
Loading…
Reference in a new issue