mirror of
https://codeberg.org/TicklishHoneyBee/CLIte.git
synced 2026-03-11 09:04:37 +00:00
also support command substitution inside quotes in strToArgs
This commit is contained in:
parent
f70937e91f
commit
48aad6beba
1 changed files with 15 additions and 5 deletions
|
|
@ -1362,6 +1362,7 @@ clite.lib = {
|
|||
var s = '';
|
||||
var e = false;
|
||||
var q = false;
|
||||
var c = false;
|
||||
for (var i=0; i<txt.length; i++) {
|
||||
switch (txt[i]) {
|
||||
case '//':
|
||||
|
|
@ -1372,17 +1373,26 @@ clite.lib = {
|
|||
}
|
||||
break;
|
||||
case '`':
|
||||
if (!e) {
|
||||
if (!c) {
|
||||
c = true;
|
||||
s += '`';
|
||||
}else{
|
||||
s += '`';
|
||||
c = false;
|
||||
}
|
||||
}else{
|
||||
s += txt[i];
|
||||
e = false;
|
||||
}
|
||||
break;
|
||||
case '"':
|
||||
case "'":
|
||||
if (!e) {
|
||||
if (!q) {
|
||||
sp = txt[i];
|
||||
q = true;
|
||||
if (sp == '`')
|
||||
s += '`';
|
||||
}else if (txt[i] == sp) {
|
||||
if (sp == '`')
|
||||
s += '`';
|
||||
sp = '';
|
||||
q = false;
|
||||
}
|
||||
|
|
@ -1392,7 +1402,7 @@ clite.lib = {
|
|||
}
|
||||
break;
|
||||
case ' ':
|
||||
if (!q) {
|
||||
if (!q && !c) {
|
||||
parts.push(s);
|
||||
s = '';
|
||||
e = false;
|
||||
|
|
|
|||
Loading…
Reference in a new issue