Add array support for local/export/readonly builtins
Add array length syntax ${arr[#]}
Map read path now expands variables before splitting on ., fixing map "$node" with dotted paths
Map assignment path uses quote-aware token splitting, enabling quoted keys like "--type="
Completion errors now display above prompt instead of being overwritten
Fix nested if/fi parser bug when closing keywords appear on separate lines
Add QuoteState enum, replacing ad-hoc quote tracking booleans across lexer, highlighter, and expansion
Add split_tk_at/split_tk for quote-aware token splitting with span preservation
Refactor setup_builtin to accept optional argv for deferred expansion
Add ariadne dependency (not yet wired up)
This commit is contained in:
@@ -620,6 +620,7 @@ impl VarFlags {
|
||||
pub enum ArrIndex {
|
||||
Literal(usize),
|
||||
FromBack(usize),
|
||||
ArgCount,
|
||||
AllJoined,
|
||||
AllSplit,
|
||||
}
|
||||
@@ -630,6 +631,7 @@ impl FromStr for ArrIndex {
|
||||
match s {
|
||||
"@" => Ok(Self::AllSplit),
|
||||
"*" => Ok(Self::AllJoined),
|
||||
"#" => Ok(Self::ArgCount),
|
||||
_ if s.starts_with('-') && s[1..].chars().all(|c| c.is_digit(1)) => {
|
||||
let idx = s[1..].parse::<usize>().unwrap();
|
||||
Ok(Self::FromBack(idx))
|
||||
|
||||
Reference in New Issue
Block a user