diff --git a/.gitignore b/.gitignore index b84a4f9..07e8e81 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,7 @@ target .idea *.iml /result* -src/tests/snapshots +*snapshots* *.log default.nix shell.nix diff --git a/Cargo.lock b/Cargo.lock index ee5739c..e0a0477 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -47,7 +47,7 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" dependencies = [ - "windows-sys 0.59.0", + "windows-sys", ] [[package]] @@ -58,7 +58,7 @@ checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" dependencies = [ "anstyle", "once_cell", - "windows-sys 0.59.0", + "windows-sys", ] [[package]] @@ -119,15 +119,6 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" -[[package]] -name = "clipboard-win" -version = "5.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15efe7a882b08f34e38556b14f2fb3daa98769d06c7f0c1b076dfd0d983bc892" -dependencies = [ - "error-code", -] - [[package]] name = "colorchoice" version = "1.0.3" @@ -143,7 +134,7 @@ dependencies = [ "encode_unicode", "libc", "once_cell", - "windows-sys 0.59.0", + "windows-sys", ] [[package]] @@ -158,39 +149,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" -[[package]] -name = "endian-type" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" - -[[package]] -name = "errno" -version = "0.3.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - -[[package]] -name = "error-code" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5d9305ccc6942a704f4335694ecd3de2ea531b114ac2d51f5f843750787a92f" - -[[package]] -name = "fd-lock" -version = "4.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e5768da2206272c81ef0b5e951a41862938a6070da63bcea197899942d3b947" -dependencies = [ - "cfg-if", - "rustix", - "windows-sys 0.52.0", -] - [[package]] name = "fern" version = "0.1.0" @@ -202,7 +160,8 @@ dependencies = [ "nix", "pretty_assertions", "regex", - "rustyline", + "unicode-segmentation", + "unicode-width", ] [[package]] @@ -217,15 +176,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" -[[package]] -name = "home" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" -dependencies = [ - "windows-sys 0.59.0", -] - [[package]] name = "insta" version = "1.42.2" @@ -257,33 +207,12 @@ version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" -[[package]] -name = "linux-raw-sys" -version = "0.4.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" - -[[package]] -name = "log" -version = "0.4.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" - [[package]] name = "memchr" version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" -[[package]] -name = "nibble_vec" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43" -dependencies = [ - "smallvec", -] - [[package]] name = "nix" version = "0.29.0" @@ -350,16 +279,6 @@ dependencies = [ "proc-macro2", ] -[[package]] -name = "radix_trie" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd" -dependencies = [ - "endian-type", - "nibble_vec", -] - [[package]] name = "regex" version = "1.11.1" @@ -389,65 +308,12 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" -[[package]] -name = "rustix" -version = "0.38.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" -dependencies = [ - "bitflags", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.59.0", -] - -[[package]] -name = "rustyline" -version = "15.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ee1e066dc922e513bda599c6ccb5f3bb2b0ea5870a579448f2622993f0a9a2f" -dependencies = [ - "bitflags", - "cfg-if", - "clipboard-win", - "fd-lock", - "home", - "libc", - "log", - "memchr", - "nix", - "radix_trie", - "rustyline-derive", - "unicode-segmentation", - "unicode-width", - "utf8parse", - "windows-sys 0.59.0", -] - -[[package]] -name = "rustyline-derive" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327e9d075f6df7e25fbf594f1be7ef55cf0d567a6cb5112eeccbbd51ceb48e0d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "similar" version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa" -[[package]] -name = "smallvec" -version = "1.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" - [[package]] name = "strsim" version = "0.11.1" @@ -489,15 +355,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets", -] - [[package]] name = "windows-sys" version = "0.59.0" diff --git a/Cargo.toml b/Cargo.toml index b4b899b..5d29568 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,7 +17,8 @@ insta = "1.42.2" nix = { version = "0.29.0", features = ["uio", "term", "user", "hostname", "fs", "default", "signal", "process", "event", "ioctl"] } pretty_assertions = "1.4.1" regex = "1.11.1" -rustyline = { version = "15.0.0", features = [ "derive" ] } +unicode-segmentation = "1.12.0" +unicode-width = "0.2.0" [[bin]] name = "fern" diff --git a/src/fern.rs b/src/fern.rs index 4ebb998..3caf949 100644 --- a/src/fern.rs +++ b/src/fern.rs @@ -24,7 +24,8 @@ use crate::signal::sig_setup; use crate::state::source_rc; use crate::prelude::*; use clap::Parser; -use state::{read_vars, write_vars}; +use shopt::FernEditMode; +use state::{read_shopts, read_vars, write_shopts, write_vars}; #[derive(Parser,Debug)] struct FernArgs { @@ -98,7 +99,11 @@ fn fern_interactive() { let mut readline_err_count: u32 = 0; loop { // Main loop - let input = match prompt::read_line() { + let edit_mode = write_shopts(|opt| opt.query("prompt.edit_mode")) + .unwrap() + .map(|mode| mode.parse::().unwrap_or_default()) + .unwrap(); + let input = match prompt::read_line(edit_mode) { Ok(line) => { readline_err_count = 0; line diff --git a/src/libsh/error.rs b/src/libsh/error.rs index 2206599..d508fdd 100644 --- a/src/libsh/error.rs +++ b/src/libsh/error.rs @@ -303,12 +303,6 @@ impl From for ShErr { } } -impl From for ShErr { - fn from(value: rustyline::error::ReadlineError) -> Self { - ShErr::simple(ShErrKind::ParseErr, value.to_string()) - } -} - impl From for ShErr { fn from(value: Errno) -> Self { ShErr::simple(ShErrKind::Errno, value.to_string()) @@ -322,6 +316,7 @@ pub enum ShErrKind { ParseErr, InternalErr, ExecFail, + HistoryReadErr, ResourceLimitExceeded, BadPermission, Errno, @@ -331,27 +326,30 @@ pub enum ShErrKind { FuncReturn(i32), LoopContinue(i32), LoopBreak(i32), + ReadlineErr, Null } impl Display for ShErrKind { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let output = match self { - ShErrKind::IoErr => "I/O Error", - ShErrKind::SyntaxErr => "Syntax Error", - ShErrKind::ParseErr => "Parse Error", - ShErrKind::InternalErr => "Internal Error", - ShErrKind::ExecFail => "Execution Failed", - ShErrKind::ResourceLimitExceeded => "Resource Limit Exceeded", - ShErrKind::BadPermission => "Bad Permissions", - ShErrKind::Errno => "ERRNO", - ShErrKind::FileNotFound(file) => &format!("File not found: {file}"), - ShErrKind::CmdNotFound(cmd) => &format!("Command not found: {cmd}"), - ShErrKind::CleanExit(_) => "", - ShErrKind::FuncReturn(_) => "", - ShErrKind::LoopContinue(_) => "", - ShErrKind::LoopBreak(_) => "", - ShErrKind::Null => "", + Self::IoErr => "I/O Error", + Self::SyntaxErr => "Syntax Error", + Self::ParseErr => "Parse Error", + Self::InternalErr => "Internal Error", + Self::HistoryReadErr => "History Parse Error", + Self::ExecFail => "Execution Failed", + Self::ResourceLimitExceeded => "Resource Limit Exceeded", + Self::BadPermission => "Bad Permissions", + Self::Errno => "ERRNO", + Self::FileNotFound(file) => &format!("File not found: {file}"), + Self::CmdNotFound(cmd) => &format!("Command not found: {cmd}"), + Self::CleanExit(_) => "", + Self::FuncReturn(_) => "", + Self::LoopContinue(_) => "", + Self::LoopBreak(_) => "", + Self::ReadlineErr => "Line Read Error", + Self::Null => "", }; write!(f,"{output}") } diff --git a/src/parse/mod.rs b/src/parse/mod.rs index 8eb27d8..902ee3c 100644 --- a/src/parse/mod.rs +++ b/src/parse/mod.rs @@ -716,43 +716,7 @@ impl ParseStream { } if !from_func_def { - while self.check_redir() { - let tk = self.next_tk().unwrap(); - node_tks.push(tk.clone()); - let redir_bldr = tk.span.as_str().parse::().unwrap(); - if redir_bldr.io_mode.is_none() { - let path_tk = self.next_tk(); - - if path_tk.clone().is_none_or(|tk| tk.class == TkRule::EOI) { - return Err( - ShErr::full( - ShErrKind::ParseErr, - "Expected a filename after this redirection", - tk.span.clone() - ) - ) - }; - - let path_tk = path_tk.unwrap(); - node_tks.push(path_tk.clone()); - let redir_class = redir_bldr.class.unwrap(); - let pathbuf = PathBuf::from(path_tk.span.as_str()); - - let Ok(file) = get_redir_file(redir_class, pathbuf) else { - self.panic_mode(&mut node_tks); - return Err(parse_err_full( - "Error opening file for redirection", - &path_tk.span - ) - ); - }; - - let io_mode = IoMode::file(redir_bldr.tgt_fd.unwrap(), file); - let redir_bldr = redir_bldr.with_io_mode(io_mode); - let redir = redir_bldr.build(); - redirs.push(redir); - } - } + self.parse_redir(&mut redirs, &mut node_tks)?; } let node = Node { @@ -763,6 +727,37 @@ impl ParseStream { }; Ok(Some(node)) } + fn parse_redir(&mut self, redirs: &mut Vec, node_tks: &mut Vec) -> ShResult<()> { + while self.check_redir() { + let tk = self.next_tk().unwrap(); + node_tks.push(tk.clone()); + let redir_bldr = tk.span.as_str().parse::().unwrap(); + if redir_bldr.io_mode.is_none() { + let path_tk = self.next_tk(); + + if path_tk.clone().is_none_or(|tk| tk.class == TkRule::EOI) { + return Err( + ShErr::full( + ShErrKind::ParseErr, + "Expected a filename after this redirection", + tk.span.clone() + ) + ) + }; + + let path_tk = path_tk.unwrap(); + node_tks.push(path_tk.clone()); + let redir_class = redir_bldr.class.unwrap(); + let pathbuf = PathBuf::from(path_tk.span.as_str()); + + let io_mode = IoMode::file(redir_bldr.tgt_fd.unwrap(), pathbuf, redir_class); + let redir_bldr = redir_bldr.with_io_mode(io_mode); + let redir = redir_bldr.build(); + redirs.push(redir); + } + } + Ok(()) + } fn parse_case(&mut self) -> ShResult> { // Needs a pattern token // Followed by any number of CaseNodes @@ -938,42 +933,7 @@ impl ParseStream { } node_tks.push(self.next_tk().unwrap()); - while self.check_redir() { - let tk = self.next_tk().unwrap(); - node_tks.push(tk.clone()); - let redir_bldr = tk.span.as_str().parse::().unwrap(); - if redir_bldr.io_mode.is_none() { - let path_tk = self.next_tk(); - - if path_tk.clone().is_none_or(|tk| tk.class == TkRule::EOI) { - return Err( - ShErr::full( - ShErrKind::ParseErr, - "Expected a filename after this redirection", - tk.span.clone() - ) - ) - }; - - let path_tk = path_tk.unwrap(); - node_tks.push(path_tk.clone()); - let redir_class = redir_bldr.class.unwrap(); - let pathbuf = PathBuf::from(path_tk.span.as_str()); - - let Ok(file) = get_redir_file(redir_class, pathbuf) else { - self.panic_mode(&mut node_tks); - return Err(parse_err_full( - "Error opening file for redirection", - &path_tk.span - )); - }; - - let io_mode = IoMode::file(redir_bldr.tgt_fd.unwrap(), file); - let redir_bldr = redir_bldr.with_io_mode(io_mode); - let redir = redir_bldr.build(); - redirs.push(redir); - } - } + self.parse_redir(&mut redirs, &mut node_tks)?; self.assert_separator(&mut node_tks)?; @@ -1040,42 +1000,7 @@ impl ParseStream { } node_tks.push(self.next_tk().unwrap()); - while self.check_redir() { - let tk = self.next_tk().unwrap(); - node_tks.push(tk.clone()); - let redir_bldr = tk.span.as_str().parse::().unwrap(); - if redir_bldr.io_mode.is_none() { - let path_tk = self.next_tk(); - - if path_tk.clone().is_none_or(|tk| tk.class == TkRule::EOI) { - return Err( - ShErr::full( - ShErrKind::ParseErr, - "Expected a filename after this redirection", - tk.span.clone() - ) - ) - }; - - let path_tk = path_tk.unwrap(); - node_tks.push(path_tk.clone()); - let redir_class = redir_bldr.class.unwrap(); - let pathbuf = PathBuf::from(path_tk.span.as_str()); - - let Ok(file) = get_redir_file(redir_class, pathbuf) else { - self.panic_mode(&mut node_tks); - return Err(parse_err_full( - "Error opening file for redirection", - &path_tk.span - )); - }; - - let io_mode = IoMode::file(redir_bldr.tgt_fd.unwrap(), file); - let redir_bldr = redir_bldr.with_io_mode(io_mode); - let redir = redir_bldr.build(); - redirs.push(redir); - } - } + self.parse_redir(&mut redirs, &mut node_tks)?; let node = Node { class: NdRule::ForNode { vars, arr, body }, @@ -1256,15 +1181,7 @@ impl ParseStream { let redir_class = redir_bldr.class.unwrap(); let pathbuf = PathBuf::from(path_tk.span.as_str()); - let Ok(file) = get_redir_file(redir_class, pathbuf) else { - self.panic_mode(&mut node_tks); - return Err(parse_err_full( - "Error opening file for redirection", - &path_tk.span - )); - }; - - let io_mode = IoMode::file(redir_bldr.tgt_fd.unwrap(), file); + let io_mode = IoMode::file(redir_bldr.tgt_fd.unwrap(), pathbuf, redir_class); let redir_bldr = redir_bldr.with_io_mode(io_mode); let redir = redir_bldr.build(); redirs.push(redir); @@ -1421,7 +1338,7 @@ fn node_is_punctuated(tokens: &[Tk]) -> bool { }) } -fn get_redir_file(class: RedirType, path: PathBuf) -> ShResult { +pub fn get_redir_file(class: RedirType, path: PathBuf) -> ShResult { let result = match class { RedirType::Input => { OpenOptions::new() diff --git a/src/procio.rs b/src/procio.rs index ebb2fce..5a82edf 100644 --- a/src/procio.rs +++ b/src/procio.rs @@ -1,6 +1,6 @@ use std::{fmt::Debug, ops::{Deref, DerefMut}}; -use crate::{libsh::{error::{ShErr, ShErrKind, ShResult}, utils::RedirVecUtils}, parse::Redir, prelude::*}; +use crate::{libsh::{error::{ShErr, ShErrKind, ShResult}, utils::RedirVecUtils}, parse::{get_redir_file, Redir, RedirType}, prelude::*}; // Credit to fish-shell for many of the implementation ideas present in this module // https://fishshell.com/ @@ -8,7 +8,7 @@ use crate::{libsh::{error::{ShErr, ShErrKind, ShResult}, utils::RedirVecUtils}, #[derive(Clone,Debug)] pub enum IoMode { Fd { tgt_fd: RawFd, src_fd: Arc }, - File { tgt_fd: RawFd, file: Arc }, + File { tgt_fd: RawFd, path: PathBuf, mode: RedirType }, Pipe { tgt_fd: RawFd, pipe: Arc }, Buffer { buf: String, pipe: Arc } } @@ -18,9 +18,8 @@ impl IoMode { let src_fd = unsafe { OwnedFd::from_raw_fd(src_fd).into() }; Self::Fd { tgt_fd, src_fd } } - pub fn file(tgt_fd: RawFd, file: File) -> Self { - let file = file.into(); - Self::File { tgt_fd, file } + pub fn file(tgt_fd: RawFd, path: PathBuf, mode: RedirType) -> Self { + Self::File { tgt_fd, path, mode } } pub fn pipe(tgt_fd: RawFd, pipe: OwnedFd) -> Self { let pipe = pipe.into(); @@ -28,20 +27,27 @@ impl IoMode { } pub fn tgt_fd(&self) -> RawFd { match self { - IoMode::Fd { tgt_fd, src_fd: _ } | - IoMode::File { tgt_fd, file: _ } | - IoMode::Pipe { tgt_fd, pipe: _ } => *tgt_fd, + IoMode::Fd { tgt_fd, .. } | + IoMode::File { tgt_fd, .. } | + IoMode::Pipe { tgt_fd, .. } => *tgt_fd, _ => panic!() } } pub fn src_fd(&self) -> RawFd { match self { IoMode::Fd { tgt_fd: _, src_fd } => src_fd.as_raw_fd(), - IoMode::File { tgt_fd: _, file } => file.as_raw_fd(), + IoMode::File {..} => panic!("Attempted to obtain src_fd from file before opening"), IoMode::Pipe { tgt_fd: _, pipe } => pipe.as_raw_fd(), _ => panic!() } } + pub fn open_file(mut self) -> ShResult { + if let IoMode::File { tgt_fd, path, mode } = self { + let file = get_redir_file(mode, path)?; + self = IoMode::Fd { tgt_fd, src_fd: Arc::new(OwnedFd::from(file)) } + } + Ok(self) + } pub fn get_pipes() -> (Self,Self) { let (rpipe,wpipe) = pipe().unwrap(); ( @@ -149,6 +155,11 @@ impl<'e> IoFrame { self.save(); for redir in &mut self.redirs { let io_mode = &mut redir.io_mode; + flog!(DEBUG, io_mode); + if let IoMode::File {..} = io_mode { + *io_mode = io_mode.clone().open_file()?; + }; + flog!(DEBUG, io_mode); let tgt_fd = io_mode.tgt_fd(); let src_fd = io_mode.src_fd(); dup2(src_fd, tgt_fd)?; diff --git a/src/prompt/highlight.rs b/src/prompt/highlight.rs index 82f6ff5..e69de29 100644 --- a/src/prompt/highlight.rs +++ b/src/prompt/highlight.rs @@ -1,248 +0,0 @@ -use std::{env, mem, os::unix::fs::PermissionsExt, path::{Path, PathBuf}, sync::Arc}; -use crate::builtin::BUILTINS; - -use rustyline::highlight::Highlighter; -use crate::{libsh::term::{Style, StyleSet, Styled}, parse::lex::{LexFlags, LexStream, Tk, TkFlags, TkRule}, state::read_logic}; - -use super::readline::FernReadline; - -fn is_executable(path: &Path) -> bool { - path.metadata() - .map(|m| m.permissions().mode() & 0o111 != 0) - .unwrap_or(false) -} - -#[derive(Default,Debug)] -pub struct FernHighlighter { - input: String, -} - -impl FernHighlighter { - pub fn new(input: String) -> Self { - Self { - input, - } - } - pub fn highlight_subsh(&self, token: Tk) -> String { - if token.flags.contains(TkFlags::IS_SUBSH) { - let raw = token.as_str(); - Self::hl_subsh_raw(raw) - } else if token.flags.contains(TkFlags::IS_CMDSUB) { - let raw = token.as_str(); - Self::hl_cmdsub_raw(raw) - } else { - unreachable!() - } - } - pub fn hl_subsh_raw(raw: &str) -> String { - let mut body = &raw[1..]; - let mut closed = false; - if body.ends_with(')') { - body = &body[..body.len() - 1]; - closed = true; - } - let sub_hl = FernHighlighter::new(body.to_string()); - let body_highlighted = sub_hl.hl_input(); - let open_paren = "(".styled(Style::BrightBlue); - let close_paren = ")".styled(Style::BrightBlue); - let mut result = format!("{open_paren}{body_highlighted}"); - if closed { - result.push_str(&close_paren); - } - result - } - pub fn hl_cmdsub_raw(raw: &str) -> String { - let mut body = &raw[2..]; - let mut closed = false; - if body.ends_with(')') { - body = &body[..body.len() - 1]; - closed = true; - } - let sub_hl = FernHighlighter::new(body.to_string()); - let body_highlighted = sub_hl.hl_input(); - let dollar_paren = "$(".styled(Style::BrightBlue); - let close_paren = ")".styled(Style::BrightBlue); - let mut result = format!("{dollar_paren}{body_highlighted}"); - if closed { - result.push_str(&close_paren); - } - result - } - pub fn hl_command(&self, token: Tk) -> String { - let raw = token.as_str(); - let paths = env::var("PATH") - .unwrap_or_default(); - let mut paths = paths.split(':'); - - let is_in_path = { - loop { - let Some(path) = paths.next() else { - break false - }; - - let mut path = PathBuf::from(path); - path.push(PathBuf::from(raw)); - - if path.is_file() && is_executable(&path) { - break true - }; - } - }; - // TODO: zsh is capable of highlighting an alias red even if it exists, if the command it refers to is not found - // Implement some way to find out if the content of the alias is valid as well - let is_alias_or_function = read_logic(|l| { - l.get_func(raw).is_some() || l.get_alias(raw).is_some() - }); - - let is_builtin = BUILTINS.contains(&raw); - - if is_alias_or_function || is_in_path || is_builtin { - raw.styled(Style::Green) - } else { - raw.styled(Style::Bold | Style::Red) - } - } - pub fn hl_dquote(&self, token: Tk) -> String { - let raw = token.as_str(); - let mut chars = raw.chars().peekable(); - const YELLOW: &str = "\x1b[33m"; - const RESET: &str = "\x1b[0m"; - let mut result = String::new(); - let mut dquote_count = 0; - - result.push_str(YELLOW); - - while let Some(ch) = chars.next() { - match ch { - '\\' => { - result.push(ch); - if let Some(ch) = chars.next() { - result.push(ch); - } - } - '"' => { - dquote_count += 1; - result.push(ch); - if dquote_count >= 2 { - break - } - } - '$' if chars.peek() == Some(&'(') => { - let mut raw_cmd_sub = String::new(); - raw_cmd_sub.push(ch); - raw_cmd_sub.push(chars.next().unwrap()); - let mut cmdsub_count = 1; - - while let Some(cmdsub_ch) = chars.next() { - match cmdsub_ch { - '\\' => { - raw_cmd_sub.push(cmdsub_ch); - if let Some(ch) = chars.next() { - raw_cmd_sub.push(ch); - } - } - '$' if chars.peek() == Some(&'(') => { - cmdsub_count += 1; - raw_cmd_sub.push(cmdsub_ch); - raw_cmd_sub.push(chars.next().unwrap()); - } - ')' => { - cmdsub_count -= 1; - raw_cmd_sub.push(cmdsub_ch); - if cmdsub_count <= 0 { - let styled = Self::hl_cmdsub_raw(&mem::take(&mut raw_cmd_sub)); - result.push_str(&styled); - result.push_str(YELLOW); - break - } - } - _ => raw_cmd_sub.push(cmdsub_ch) - } - } - if !raw_cmd_sub.is_empty() { - let styled = Self::hl_cmdsub_raw(&mem::take(&mut raw_cmd_sub)); - result.push_str(&styled); - result.push_str(YELLOW); - } - } - _ => result.push(ch) - } - } - - result.push_str(RESET); - - result - } - pub fn hl_input(&self) -> String { - let mut output = self.input.clone(); - - // TODO: properly implement highlighting for unfinished input - let lex_results = LexStream::new(Arc::new(output.clone()), LexFlags::LEX_UNFINISHED); - let mut tokens = vec![]; - - for result in lex_results { - let Ok(token) = result else { - return self.input.clone(); - }; - tokens.push(token) - } - - // Reverse the tokens, because we want to highlight from right to left - // Doing it this way allows us to trust the spans in the tokens throughout the entire process - let tokens = tokens.into_iter() - .rev() - .collect::>(); - for token in tokens { - match token.class { - _ if token.flags.intersects(TkFlags::IS_CMDSUB | TkFlags::IS_SUBSH) => { - let styled = self.highlight_subsh(token.clone()); - output.replace_range(token.span.start..token.span.end, &styled); - } - TkRule::Str => { - if token.flags.contains(TkFlags::IS_CMD) { - let styled = self.hl_command(token.clone()); - output.replace_range(token.span.start..token.span.end, &styled); - } else if is_dquote(&token) { - let styled = self.hl_dquote(token.clone()); - output.replace_range(token.span.start..token.span.end, &styled); - } else { - output.replace_range(token.span.start..token.span.end, &token.to_string()); - } - } - TkRule::Pipe | - TkRule::ErrPipe | - TkRule::And | - TkRule::Or | - TkRule::Bg | - TkRule::Sep | - TkRule::Redir => self.style_with_token(&token,&mut output,Style::Cyan.into()), - TkRule::CasePattern => self.style_with_token(&token,&mut output,Style::Blue.into()), - TkRule::BraceGrpStart | - TkRule::BraceGrpEnd => self.style_with_token(&token,&mut output,Style::Cyan.into()), - TkRule::Comment => self.style_with_token(&token,&mut output,Style::BrightBlack.into()), - _ => { output.replace_range(token.span.start..token.span.end, &token.to_string()); } - } - } - - output - } - fn style_with_token(&self, token: &Tk, highlighted: &mut String, style: StyleSet) { - let styled = token.to_string().styled(style); - highlighted.replace_range(token.span.start..token.span.end, &styled); - } -} - -impl Highlighter for FernReadline { - fn highlight<'l>(&self, line: &'l str, _pos: usize) -> std::borrow::Cow<'l, str> { - let highlighter = FernHighlighter::new(line.to_string()); - std::borrow::Cow::Owned(highlighter.hl_input()) - } - fn highlight_char(&self, _line: &str, _pos: usize, _kind: rustyline::highlight::CmdKind) -> bool { - true - } -} - -fn is_dquote(token: &Tk) -> bool { - let raw = token.as_str(); - raw.starts_with('"') -} diff --git a/src/prompt/mod.rs b/src/prompt/mod.rs index 6d52879..ba70ca7 100644 --- a/src/prompt/mod.rs +++ b/src/prompt/mod.rs @@ -3,89 +3,30 @@ pub mod highlight; use std::path::Path; -use readline::FernReadline; -use rustyline::{error::ReadlineError, history::FileHistory, ColorMode, Config, Editor}; +use readline::{FernVi, Readline}; -use crate::{expand::expand_prompt, libsh::error::ShResult, prelude::*, state::read_shopts}; +use crate::{expand::expand_prompt, libsh::error::ShResult, prelude::*, shopt::FernEditMode, state::read_shopts}; /// Initialize the line editor -fn init_rl() -> ShResult> { - let rl = FernReadline::new(); - - let tab_stop = read_shopts(|s| s.prompt.tab_stop); - let edit_mode = read_shopts(|s| s.prompt.edit_mode).into(); - let bell_style = read_shopts(|s| s.core.bell_style).into(); - let ignore_dups = read_shopts(|s| s.core.hist_ignore_dupes); - let comp_limit = read_shopts(|s| s.prompt.comp_limit); - let auto_hist = read_shopts(|s| s.core.auto_hist); - let max_hist = read_shopts(|s| s.core.max_hist); - let color_mode = match read_shopts(|s| s.prompt.prompt_highlight) { - true => ColorMode::Enabled, - false => ColorMode::Disabled, - }; - - let config = Config::builder() - .tab_stop(tab_stop) - .indent_size(1) - .edit_mode(edit_mode) - .bell_style(bell_style) - .color_mode(color_mode) - .history_ignore_dups(ignore_dups).unwrap() - .completion_prompt_limit(comp_limit) - .auto_add_history(auto_hist) - .max_history_size(max_hist).unwrap() - .build(); - - let mut editor = Editor::with_config(config).unwrap(); - - editor.set_helper(Some(rl)); - editor.load_history(&Path::new("/home/pagedmov/.fernhist"))?; - Ok(editor) -} - fn get_prompt() -> ShResult { let Ok(prompt) = env::var("PS1") else { + // prompt expands to: + // // username@hostname // short/path/to/pwd/ - // $ - let default = "\\e[1;0m\\u\\e[1;36m@\\e[1;31m\\h\\n\\e[1;36m\\W\\e[1;32m/\\n\\e[1;32m\\$ "; - return Ok(format!("\n{}",expand_prompt(default)?)) + // $ _ + let default = "\\n\\e[1;0m\\u\\e[1;36m@\\e[1;31m\\h\\n\\e[1;36m\\W\\e[1;32m/\\n\\e[1;32m\\$\\e[0m "; + return expand_prompt(default) }; - Ok(format!("\n{}",expand_prompt(&prompt)?)) + expand_prompt(&prompt) } -fn get_hist_path() -> ShResult { - if let Ok(path) = env::var("FERN_HIST") { - Ok(PathBuf::from(path)) - } else { - let home = env::var("HOME")?; - let path = PathBuf::from(format!("{home}/.fernhist")); - Ok(path) - } - -} - -pub fn read_line() -> ShResult { - assert!(isatty(STDIN_FILENO).unwrap()); - let mut editor = init_rl()?; +pub fn read_line(edit_mode: FernEditMode) -> ShResult { let prompt = get_prompt()?; - match editor.readline(&prompt) { - Ok(line) => { - if !line.is_empty() { - let hist_path = get_hist_path()?; - editor.add_history_entry(&line)?; - editor.save_history(&hist_path)?; - } - Ok(line) - } - Err(ReadlineError::Eof) => { - kill(Pid::this(), Signal::SIGQUIT)?; - Ok(String::new()) - } - Err(ReadlineError::Interrupted) => Ok(String::new()), - Err(e) => { - Err(e.into()) - } - } + let mut reader: Box = match edit_mode { + FernEditMode::Vi => Box::new(FernVi::new(Some(prompt))?), + FernEditMode::Emacs => todo!() + }; + reader.readline() } diff --git a/src/prompt/readline.rs b/src/prompt/readline.rs deleted file mode 100644 index 4050835..0000000 --- a/src/prompt/readline.rs +++ /dev/null @@ -1,86 +0,0 @@ -use rustyline::{completion::Completer, hint::{Hint, Hinter}, history::SearchDirection, validate::{ValidationResult, Validator}, Helper}; - -use crate::{libsh::term::{Style, Styled}, parse::{lex::{LexFlags, LexStream}, ParseStream}}; -use crate::prelude::*; - -#[derive(Default,Debug)] -pub struct FernReadline; - -impl FernReadline { - pub fn new() -> Self { - Self - } - pub fn search_hist(value: &str, ctx: &rustyline::Context<'_>) -> Option { - let len = ctx.history().len(); - for i in 0..len { - let entry = ctx.history().get(i, SearchDirection::Reverse).unwrap().unwrap(); - if entry.entry.starts_with(value) { - return Some(entry.entry.into_owned()) - } - } - None - } -} - -impl Helper for FernReadline {} - -impl Completer for FernReadline { - type Candidate = String; -} - -pub struct FernHint { - raw: String, - styled: String -} - -impl FernHint { - pub fn new(raw: String) -> Self { - let styled = (&raw).styled(Style::Dim | Style::BrightBlack); - Self { raw, styled } - } -} - -impl Hint for FernHint { - fn display(&self) -> &str { - &self.styled - } - fn completion(&self) -> Option<&str> { - if !self.raw.is_empty() { - Some(&self.raw) - } else { - None - } - } -} - -impl Hinter for FernReadline { - type Hint = FernHint; - fn hint(&self, line: &str, pos: usize, ctx: &rustyline::Context<'_>) -> Option { - if line.is_empty() { - return None - } - let ent = Self::search_hist(line,ctx)?; - let entry_raw = ent.get(pos..)?.to_string(); - Some(FernHint::new(entry_raw)) - } -} - -impl Validator for FernReadline { - fn validate(&self, ctx: &mut rustyline::validate::ValidationContext) -> rustyline::Result { - let mut tokens = vec![]; - let tk_stream = LexStream::new(Arc::new(ctx.input().to_string()), LexFlags::empty()); - for tk in tk_stream { - if tk.is_err() { - return Ok(ValidationResult::Incomplete) - } - tokens.push(tk.unwrap()); - } - let nd_stream = ParseStream::new(tokens); - for nd in nd_stream { - if nd.is_err() { - return Ok(ValidationResult::Incomplete) - } - } - Ok(ValidationResult::Valid(None)) - } -} diff --git a/src/prompt/readline/history.rs b/src/prompt/readline/history.rs new file mode 100644 index 0000000..41984d4 --- /dev/null +++ b/src/prompt/readline/history.rs @@ -0,0 +1,258 @@ +use std::{env, fmt::{Write,Display}, fs::{self, OpenOptions}, io::Write as IoWrite, path::{Path, PathBuf}, str::FromStr, time::{Duration, SystemTime, UNIX_EPOCH}}; + +use crate::libsh::error::{ShErr, ShErrKind, ShResult}; +use crate::prelude::*; + +use super::vicmd::Direction; // surprisingly useful + +#[derive(Debug)] +pub struct HistEntry { + id: u32, + timestamp: SystemTime, + command: String, + new: bool +} + +impl HistEntry { + pub fn id(&self) -> u32 { + self.id + } + pub fn timestamp(&self) -> &SystemTime { + &self.timestamp + } + pub fn command(&self) -> &str { + &self.command + } + fn with_escaped_newlines(&self) -> String { + let mut escaped = String::new(); + let mut chars = self.command.chars(); + while let Some(ch) = chars.next() { + match ch { + '\\' => { + escaped.push(ch); + if let Some(ch) = chars.next() { + escaped.push(ch) + } + } + '\n' => { + escaped.push_str("\\\n"); + } + _ => escaped.push(ch), + } + } + escaped + } +} + +impl FromStr for HistEntry { + type Err = ShErr; + fn from_str(s: &str) -> Result { + let err = Err( + ShErr::Simple { kind: ShErrKind::HistoryReadErr, msg: format!("Bad formatting on history entry '{s}'"), notes: vec![] } + ); + + //: 248972349;148;echo foo; echo bar + let Some(cleaned) = s.strip_prefix(": ") else { return err }; + //248972349;148;echo foo; echo bar + let Some((timestamp,id_and_command)) = cleaned.split_once(';') else { return err }; + //("248972349","148;echo foo; echo bar") + let Some((id,command)) = id_and_command.split_once(';') else { return err }; + //("148","echo foo; echo bar") + let Ok(ts_seconds) = timestamp.parse::() else { return err }; + let Ok(id) = id.parse::() else { return err }; + let timestamp = UNIX_EPOCH + Duration::from_secs(ts_seconds); + let command = command.to_string(); + Ok(Self { id, timestamp, command, new: false }) + } +} + +impl Display for HistEntry { + /// Similar to zsh's history format, but not entirely + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let command = self.with_escaped_newlines(); + let HistEntry { id, timestamp, command: _, new: _ } = self; + let timestamp = timestamp.duration_since(UNIX_EPOCH).unwrap().as_secs(); + writeln!(f, ": {timestamp};{id};{command}") + } +} + +pub struct HistEntries(Vec); + + +impl FromStr for HistEntries { + type Err = ShErr; + fn from_str(s: &str) -> Result { + let mut entries = vec![]; + + let mut lines = s.lines().enumerate().peekable(); + let mut cur_line = String::new(); + + while let Some((i,line)) = lines.next() { + if !line.starts_with(": ") { + return Err( + ShErr::Simple { kind: ShErrKind::HistoryReadErr, msg: format!("Bad formatting on line {i}"), notes: vec![] } + ) + } + let mut chars = line.chars().peekable(); + let mut feeding_lines = true; + while feeding_lines { + feeding_lines = false; + while let Some(ch) = chars.next() { + match ch { + '\\' => { + if let Some(esc_ch) = chars.next() { + cur_line.push(esc_ch); + } else { + cur_line.push('\n'); + feeding_lines = true; + } + } + '\n' => { + break + } + _ => { + cur_line.push(ch); + } + } + } + if feeding_lines { + let Some((_,line)) = lines.next() else { + return Err( + ShErr::Simple { kind: ShErrKind::HistoryReadErr, msg: format!("Bad formatting on line {i}"), notes: vec![] } + ) + }; + chars = line.chars().peekable(); + } + } + let entry = cur_line.parse::()?; + entries.push(entry); + cur_line.clear(); + } + + + Ok(Self(entries)) + } +} + +fn read_hist_file(path: &Path) -> ShResult> { + if !path.exists() { + fs::File::create(path)?; + } + let raw = fs::read_to_string(path)?; + Ok(raw.parse::()?.0) +} + +pub struct History { + path: PathBuf, + entries: Vec, + cursor: usize, + search_direction: Direction, + ignore_dups: bool, + max_size: Option, +} + +impl History { + pub fn new() -> ShResult { + let path = PathBuf::from(env::var("FERNHIST").unwrap_or({ + let home = env::var("HOME").unwrap(); + format!("{home}/.fern_history") + })); + let entries = read_hist_file(&path)?; + let cursor = entries.len(); + let mut new = Self { + path, + entries, + cursor, + search_direction: Direction::Backward, + ignore_dups: true, + max_size: None, + }; + new.push_empty_entry(); // Current pending command + Ok(new) + } + + pub fn entries(&self) -> &[HistEntry] { + &self.entries + } + + pub fn push_empty_entry(&mut self) { + let id = self.get_new_id(); + let timestamp = SystemTime::now(); + let command = "".into(); + self.entries.push(HistEntry { id, timestamp, command, new: true }) + } + + pub fn update_pending_cmd(&mut self, command: &str) { + flog!(DEBUG, "updating command"); + let Some(ent) = self.last_mut() else { + return + }; + + ent.command = command.to_string() + } + + pub fn last_mut(&mut self) -> Option<&mut HistEntry> { + self.entries.last_mut() + } + + pub fn get_new_id(&self) -> u32 { + let Some(ent) = self.entries.last() else { + return 0 + }; + ent.id + 1 + } + + pub fn ignore_dups(&mut self, yn: bool) { + self.ignore_dups = yn + } + + pub fn max_hist_size(&mut self, size: Option) { + self.max_size = size + } + + pub fn scroll(&mut self, offset: isize) -> Option<&HistEntry> { + let new_idx = self.cursor + .saturating_add_signed(offset) + .clamp(0, self.entries.len()); + let ent = self.entries.get(new_idx)?; + + self.cursor = new_idx; + + Some(ent) + } + + pub fn push(&mut self, command: String) { + let timestamp = SystemTime::now(); + let id = self.get_new_id(); + if self.ignore_dups && self.is_dup(&command) { + return + } + self.entries.push(HistEntry { id, timestamp, command, new: true }); + } + + pub fn is_dup(&self, other: &str) -> bool { + let Some(ent) = self.entries.last() else { + return false + }; + let ent_cmd = &ent.command; + ent_cmd == other + } + + pub fn save(&mut self) -> ShResult<()> { + let mut file = OpenOptions::new() + .create(true) + .append(true) + .open(&self.path)?; + + let entries = self.entries.iter_mut().filter(|ent| ent.new); + let mut data = String::new(); + for ent in entries { + ent.new = false; + write!(data, "{ent}").unwrap(); + } + + file.write_all(data.as_bytes())?; + + Ok(()) + } +} diff --git a/src/prompt/readline/keys.rs b/src/prompt/readline/keys.rs new file mode 100644 index 0000000..6cd784a --- /dev/null +++ b/src/prompt/readline/keys.rs @@ -0,0 +1,142 @@ +use std::sync::Arc; +use unicode_segmentation::UnicodeSegmentation; + +// Credit to Rustyline for the design ideas in this module +// https://github.com/kkawakam/rustyline +#[derive(Clone,Debug)] +pub struct KeyEvent(pub KeyCode, pub ModKeys); + + +impl KeyEvent { + pub fn new(ch: &str, mut mods: ModKeys) -> Self { + use {KeyCode as K, KeyEvent as E, ModKeys as M}; + + let mut graphemes = ch.graphemes(true); + + let first = match graphemes.next() { + Some(g) => g, + None => return E(K::Null, mods), + }; + + // If more than one grapheme, it's not a single key event + if graphemes.next().is_some() { + return E(K::Null, mods); // Or panic, or wrap in Grapheme if desired + } + + let mut chars = first.chars(); + + let single_char = chars.next(); + let is_single_char = chars.next().is_none(); + + match single_char { + Some(c) if is_single_char && c.is_control() => { + match c { + '\x00' => E(K::Char('@'), mods | M::CTRL), + '\x01' => E(K::Char('A'), mods | M::CTRL), + '\x02' => E(K::Char('B'), mods | M::CTRL), + '\x03' => E(K::Char('C'), mods | M::CTRL), + '\x04' => E(K::Char('D'), mods | M::CTRL), + '\x05' => E(K::Char('E'), mods | M::CTRL), + '\x06' => E(K::Char('F'), mods | M::CTRL), + '\x07' => E(K::Char('G'), mods | M::CTRL), + '\x08' => E(K::Backspace, mods), + '\x09' => { + if mods.contains(M::SHIFT) { + mods.remove(M::SHIFT); + E(K::BackTab, mods) + } else { + E(K::Tab, mods) + } + } + '\x0a' => E(K::Char('J'), mods | M::CTRL), + '\x0b' => E(K::Char('K'), mods | M::CTRL), + '\x0c' => E(K::Char('L'), mods | M::CTRL), + '\x0d' => E(K::Enter, mods), + '\x0e' => E(K::Char('N'), mods | M::CTRL), + '\x0f' => E(K::Char('O'), mods | M::CTRL), + '\x10' => E(K::Char('P'), mods | M::CTRL), + '\x11' => E(K::Char('Q'), mods | M::CTRL), + '\x12' => E(K::Char('R'), mods | M::CTRL), + '\x13' => E(K::Char('S'), mods | M::CTRL), + '\x14' => E(K::Char('T'), mods | M::CTRL), + '\x15' => E(K::Char('U'), mods | M::CTRL), + '\x16' => E(K::Char('V'), mods | M::CTRL), + '\x17' => E(K::Char('W'), mods | M::CTRL), + '\x18' => E(K::Char('X'), mods | M::CTRL), + '\x19' => E(K::Char('Y'), mods | M::CTRL), + '\x1a' => E(K::Char('Z'), mods | M::CTRL), + '\x1b' => E(K::Esc, mods), + '\x1c' => E(K::Char('\\'), mods | M::CTRL), + '\x1d' => E(K::Char(']'), mods | M::CTRL), + '\x1e' => E(K::Char('^'), mods | M::CTRL), + '\x1f' => E(K::Char('_'), mods | M::CTRL), + '\x7f' => E(K::Backspace, mods), + '\u{9b}' => E(K::Esc, mods | M::SHIFT), + _ => E(K::Null, mods), + } + } + Some(c) if is_single_char => { + if !mods.is_empty() { + mods.remove(M::SHIFT); + } + E(K::Char(c), mods) + } + _ => { + // multi-char grapheme (emoji, accented, etc) + if !mods.is_empty() { + mods.remove(M::SHIFT); + } + E(K::Grapheme(Arc::from(first)), mods) + } + } + } +} + +#[derive(Clone,Debug)] +pub enum KeyCode { + UnknownEscSeq, + Backspace, + BackTab, + BracketedPasteStart, + BracketedPasteEnd, + Char(char), + Grapheme(Arc), + Delete, + Down, + End, + Enter, + Esc, + F(u8), + Home, + Insert, + Left, + Null, + PageDown, + PageUp, + Right, + Tab, + Up, +} + +bitflags::bitflags! { + #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)] + pub struct ModKeys: u8 { + /// Control modifier + const CTRL = 1<<3; + /// Escape or Alt modifier + const ALT = 1<<2; + /// Shift modifier + const SHIFT = 1<<1; + + /// No modifier + const NONE = 0; + /// Ctrl + Shift + const CTRL_SHIFT = Self::CTRL.bits() | Self::SHIFT.bits(); + /// Alt + Shift + const ALT_SHIFT = Self::ALT.bits() | Self::SHIFT.bits(); + /// Ctrl + Alt + const CTRL_ALT = Self::CTRL.bits() | Self::ALT.bits(); + /// Ctrl + Alt + Shift + const CTRL_ALT_SHIFT = Self::CTRL.bits() | Self::ALT.bits() | Self::SHIFT.bits(); + } +} diff --git a/src/prompt/readline/linebuf.rs b/src/prompt/readline/linebuf.rs new file mode 100644 index 0000000..3eb1406 --- /dev/null +++ b/src/prompt/readline/linebuf.rs @@ -0,0 +1,1575 @@ +use std::{cmp::Ordering, fmt::Display, ops::{Range, RangeBounds}}; + +use unicode_segmentation::UnicodeSegmentation; +use unicode_width::UnicodeWidthStr; + +use crate::libsh::{error::ShResult, sys::sh_quit}; +use crate::prelude::*; + +use super::vicmd::{Anchor, Bound, Dest, Direction, Motion, RegisterName, TextObj, To, Verb, ViCmd, Word}; + +#[derive(Debug, PartialEq, Eq)] +pub enum CharClass { + Alphanum, + Symbol, + Whitespace, + Other +} + +#[derive(Debug, Clone, PartialEq, Eq)] +pub enum MotionKind { + Forward(usize), + To(usize), + Backward(usize), + Range((usize,usize)), + Line(isize), // positive = up line, negative = down line + ToLine(usize), + Null, + + /// Absolute position based on display width of characters + /// Factors in the length of the prompt, and skips newlines + ScreenLine(isize) +} + +impl MotionKind { + pub fn range>(range: R) -> Self { + let start = match range.start_bound() { + std::ops::Bound::Included(&start) => start, + std::ops::Bound::Excluded(&start) => start + 1, + std::ops::Bound::Unbounded => 0 + }; + let end = match range.end_bound() { + std::ops::Bound::Included(&end) => end, + std::ops::Bound::Excluded(&end) => end + 1, + std::ops::Bound::Unbounded => panic!("called range constructor with no upper bound") + }; + if end > start { + Self::Range((start,end)) + } else { + Self::Range((end,start)) + } + } +} + +impl From<&str> for CharClass { + fn from(value: &str) -> Self { + if value.len() > 1 { + return Self::Symbol // Multi-byte grapheme + } + + if value.chars().all(char::is_alphanumeric) { + CharClass::Alphanum + } else if value.chars().all(char::is_whitespace) { + CharClass::Whitespace + } else if !value.chars().all(char::is_alphanumeric) { + CharClass::Symbol + } else { + Self::Other + } + } +} + + +fn is_other_class_or_ws(a: &str, b: &str) -> bool { + let a = CharClass::from(a); + let b = CharClass::from(b); + if a == CharClass::Whitespace || b == CharClass::Whitespace { + true + } else { + a != b + } +} + +#[derive(Default,Debug)] +pub struct Edit { + pub pos: usize, + pub cursor_pos: usize, + pub old: String, + pub new: String, + pub merging: bool, +} + +impl Edit { + pub fn diff(a: &str, b: &str, old_cursor_pos: usize) -> Edit { + use std::cmp::min; + + let mut start = 0; + let max_start = min(a.len(), b.len()); + + // Calculate the prefix of the edit + while start < max_start && a.as_bytes()[start] == b.as_bytes()[start] { + start += 1; + } + + if start == a.len() && start == b.len() { + return Edit { + pos: start, + cursor_pos: old_cursor_pos, + old: String::new(), + new: String::new(), + merging: false, + }; + } + + let mut end_a = a.len(); + let mut end_b = b.len(); + + // Calculate the suffix of the edit + while end_a > start && end_b > start && a.as_bytes()[end_a - 1] == b.as_bytes()[end_b - 1] { + end_a -= 1; + end_b -= 1; + } + + // Slice off the prefix and suffix for both (safe because start/end are byte offsets) + let old = a[start..end_a].to_string(); + let new = b[start..end_b].to_string(); + + Edit { + pos: start, + cursor_pos: old_cursor_pos, + old, + new, + merging: false + } + } + pub fn start_merge(&mut self) { + self.merging = true + } + pub fn stop_merge(&mut self) { + self.merging = false + } + pub fn is_empty(&self) -> bool { + self.new.is_empty() && + self.old.is_empty() + } +} + +#[derive(Default,Debug)] +pub struct LineBuf { + buffer: String, + cursor: usize, + clamp_cursor: bool, + first_line_offset: usize, + saved_col: Option, + term_dims: (usize,usize), // Height, width + move_cursor_on_undo: bool, + undo_stack: Vec, + redo_stack: Vec, + tab_stop: usize +} + +impl LineBuf { + pub fn new() -> Self { + Self { tab_stop: 8, ..Default::default() } + } + pub fn with_initial(mut self, initial: &str) -> Self { + self.buffer = initial.to_string(); + self + } + pub fn set_first_line_offset(&mut self, offset: usize) { + self.first_line_offset = offset + } + pub fn as_str(&self) -> &str { + &self.buffer + } + pub fn saved_col(&self) -> Option { + self.saved_col + } + pub fn update_term_dims(&mut self, dims: (usize,usize)) { + self.term_dims = dims + } + pub fn take(&mut self) -> String { + let line = std::mem::take(&mut self.buffer); + *self = Self::default(); + line + } + pub fn byte_pos(&self) -> usize { + self.cursor + } + pub fn byte_len(&self) -> usize { + self.buffer.len() + } + pub fn undos(&self) -> usize { + self.undo_stack.len() + } + pub fn is_empty(&self) -> bool { + self.buffer.is_empty() + } + pub fn set_move_cursor_on_undo(&mut self, yn: bool) { + self.move_cursor_on_undo = yn; + } + pub fn clamp_cursor(&mut self) { + // Normal mode does not allow you to sit on the edge of the buffer, you must be hovering over a character + // Insert mode does let you set on the edge though, so that you can append new characters + // This method is used in Normal mode + if self.cursor == self.byte_len() || self.grapheme_at_cursor() == Some("\n") { + self.cursor_back(1); + } + } + pub fn clamp_range(&self, range: Range) -> Range { + let (mut start,mut end) = (range.start,range.end); + start = start.max(0); + end = end.min(self.byte_len()); + start..end + } + pub fn grapheme_len(&self) -> usize { + self.buffer.grapheme_indices(true).count() + } + pub fn slice_from_cursor(&self) -> &str { + if let Some(slice) = &self.buffer.get(self.cursor..) { + slice + } else { + "" + } + } + pub fn slice_to_cursor(&self) -> &str { + if let Some(slice) = self.buffer.get(..self.cursor) { + slice + } else { + &self.buffer + } + + } + pub fn slice_from_cursor_to_end_of_line(&self) -> &str { + let end = self.end_of_line(); + &self.buffer[self.cursor..end] + } + pub fn slice_from_start_of_line_to_cursor(&self) -> &str { + let start = self.start_of_line(); + &self.buffer[start..self.cursor] + } + pub fn slice_from(&self, pos: usize) -> &str { + &self.buffer[pos..] + } + pub fn slice_to(&self, pos: usize) -> &str { + &self.buffer[..pos] + } + pub fn set_cursor_clamp(&mut self, yn: bool) { + self.clamp_cursor = yn + } + pub fn grapheme_at_cursor(&self) -> Option<&str> { + if self.cursor == self.byte_len() { + None + } else { + self.slice_from_cursor().graphemes(true).next() + } + } + pub fn grapheme_at_cursor_offset(&self, offset: isize) -> Option<&str> { + match offset.cmp(&0) { + Ordering::Equal => { + self.grapheme_at(self.cursor) + } + Ordering::Less => { + // Walk backward from the start of the line or buffer up to the cursor + // and count graphemes in reverse. + let rev_graphemes: Vec<&str> = self.slice_to_cursor().graphemes(true).collect(); + let idx = rev_graphemes.len().checked_sub((-offset) as usize)?; + rev_graphemes.get(idx).copied() + } + Ordering::Greater => { + self.slice_from_cursor() + .graphemes(true) + .nth(offset as usize) + } + } + } + pub fn grapheme_at(&self, pos: usize) -> Option<&str> { + if pos >= self.byte_len() { + None + } else { + self.buffer.graphemes(true).nth(pos) + } + } + pub fn is_whitespace(&self, pos: usize) -> bool { + let Some(g) = self.grapheme_at(pos) else { + return false + }; + g.chars().all(char::is_whitespace) + } + pub fn on_whitespace(&self) -> bool { + self.is_whitespace(self.cursor) + } + pub fn next_pos(&self, n: usize) -> Option { + if self.cursor == self.byte_len() { + None + } else { + self.slice_from_cursor() + .grapheme_indices(true) + .take(n) + .last() + .map(|(i,s)| i + self.cursor + s.len()) + } + } + pub fn prev_pos(&self, n: usize) -> Option { + if self.cursor == 0 { + None + } else { + self.slice_to_cursor() + .grapheme_indices(true) + .rev() // <- walk backward + .take(n) + .last() + .map(|(i, _)| i) + } + } + pub fn sync_cursor(&mut self) { + if !self.buffer.is_char_boundary(self.cursor) { + self.cursor = self.prev_pos(1).unwrap_or(0) + } + } + pub fn cursor_back(&mut self, dist: usize) -> bool { + let Some(pos) = self.prev_pos(dist) else { + return false + }; + self.cursor = pos; + true + } + /// Constrain the cursor to the current line + pub fn cursor_back_confined(&mut self, dist: usize) -> bool { + for _ in 0..dist { + let Some(pos) = self.prev_pos(1) else { + return false + }; + if let Some("\n") = self.grapheme_at(pos) { + return false + } + if !self.cursor_back(1) { + return false + } + } + true + } + pub fn cursor_fwd_confined(&mut self, dist: usize) -> bool { + for _ in 0..dist { + let Some(pos) = self.next_pos(1) else { + return false + }; + if let Some("\n") = self.grapheme_at(pos) { + return false + } + if !self.cursor_fwd(1) { + return false + } + } + true + } + /// Up to but not including 'dist' + pub fn cursor_back_to(&mut self, dist: usize) -> bool { + let dist = dist.saturating_sub(1); + let Some(pos) = self.prev_pos(dist) else { + return false + }; + self.cursor = pos; + true + } + pub fn cursor_fwd(&mut self, dist: usize) -> bool { + let Some(pos) = self.next_pos(dist) else { + return false + }; + self.cursor = pos; + true + } + pub fn cursor_fwd_to(&mut self, dist: usize) -> bool { + let dist = dist.saturating_sub(1); + let Some(pos) = self.next_pos(dist) else { + return false + }; + self.cursor = pos; + true + } + + fn compute_display_positions<'a>( + text: impl Iterator, + start_col: usize, + tab_stop: usize, + term_width: usize, + ) -> (usize, usize) { + let mut lines = 0; + let mut col = start_col; + + for grapheme in text { + match grapheme { + "\n" => { + lines += 1; + col = 1; + } + "\t" => { + let spaces_to_next_tab = tab_stop - (col % tab_stop); + if col + spaces_to_next_tab > term_width { + lines += 1; + col = 1; + } else { + col += spaces_to_next_tab; + } + + // Don't ask why this is here + // I don't know either + // All I know is that it only finds the correct cursor position + // if i add one to the column here, for literally no reason + // Thank you linux terminal :) + col += 1; + } + _ => { + col += grapheme.width(); + if col > term_width { + lines += 1; + col = 1; + } + } + } + } + + (lines, col) + } + pub fn count_display_lines(&self, offset: usize, term_width: usize) -> usize { + let (lines, _) = Self::compute_display_positions( + self.buffer.graphemes(true), + offset.max(1), + self.tab_stop, + term_width, + ); + lines + } + + pub fn cursor_display_line_position(&self, offset: usize, term_width: usize) -> usize { + let (lines, _) = Self::compute_display_positions( + self.slice_to_cursor().graphemes(true), + offset.max(1), + self.tab_stop, + term_width, + ); + lines + } + + pub fn display_coords(&self, term_width: usize) -> (usize, usize) { + Self::compute_display_positions( + self.slice_to_cursor().graphemes(true), + 0, + self.tab_stop, + term_width, + ) + } + + pub fn cursor_display_coords(&self, term_width: usize) -> (usize, usize) { + let (d_line, mut d_col) = self.display_coords(term_width); + let total_lines = self.count_display_lines(self.first_line_offset, term_width); + let logical_line = total_lines - d_line; + + if logical_line == self.count_lines() { + d_col += self.first_line_offset; + } + + (logical_line, d_col) + } + pub fn insert(&mut self, ch: char) { + if self.buffer.is_empty() { + self.buffer.push(ch) + } else { + self.buffer.insert(self.cursor, ch); + } + } + pub fn move_to(&mut self, pos: usize) -> bool { + if self.cursor == pos { + false + } else { + self.cursor = pos; + true + } + } + pub fn move_buf_start(&mut self) -> bool { + self.move_to(0) + } + pub fn move_buf_end(&mut self) -> bool { + self.move_to(self.byte_len()) + } + pub fn move_home(&mut self) -> bool { + let start = self.start_of_line(); + self.move_to(start) + } + pub fn move_end(&mut self) -> bool { + let end = self.end_of_line(); + self.move_to(end) + } + pub fn find_prev_line_pos(&mut self) -> Option { + if self.start_of_line() == 0 { + return None + }; + let col = self.saved_col.unwrap_or(self.cursor_column()); + let line = self.line_no(); + if self.saved_col.is_none() { + self.saved_col = Some(col); + } + let (start,end) = self.select_line(line - 1).unwrap(); + Some((start + col).min(end.saturating_sub(1))) + } + pub fn find_next_line_pos(&mut self) -> Option { + if self.end_of_line() == self.byte_len() { + return None + }; + let col = self.saved_col.unwrap_or(self.cursor_column()); + let line = self.line_no(); + if self.saved_col.is_none() { + self.saved_col = Some(col); + } + let (start,end) = self.select_line(line + 1).unwrap(); + Some((start + col).min(end.saturating_sub(1))) + } + pub fn cursor_column(&self) -> usize { + let line_start = self.start_of_line(); + self.buffer[line_start..self.cursor].graphemes(true).count() + } + pub fn start_of_line(&self) -> usize { + if let Some(i) = self.slice_to_cursor().rfind('\n') { + i + 1 // Land on start of this line, instead of the end of the last one + } else { + 0 + } + } + pub fn end_of_line(&self) -> usize { + if let Some(i) = self.slice_from_cursor().find('\n') { + i + self.cursor + } else { + self.byte_len() + } + } + pub fn this_line(&self) -> (usize,usize) { + ( + self.start_of_line(), + self.end_of_line() + ) + } + pub fn prev_line(&self, offset: usize) -> (usize,usize) { + let (start,_) = self.select_lines_up(offset); + let end = self.slice_from_cursor().find('\n').unwrap_or(self.byte_len()); + (start,end) + } + pub fn next_line(&self, offset: usize) -> Option<(usize,usize)> { + if self.this_line().1 == self.byte_len() { + return None + } + let (_,mut end) = self.select_lines_down(offset); + end = end.min(self.byte_len().saturating_sub(1)); + let start = self.slice_to(end + 1).rfind('\n').unwrap_or(0); + Some((start,end)) + } + pub fn count_lines(&self) -> usize { + self.buffer + .chars() + .filter(|&c| c == '\n') + .count() + } + pub fn line_no(&self) -> usize { + self.slice_to_cursor() + .chars() + .filter(|&c| c == '\n') + .count() + } + /// Returns the (start, end) byte range for the given line number. + /// + /// - Line 0 starts at the beginning of the buffer and ends at the first newline (or end of buffer). + /// - Line 1 starts just after the first newline, ends at the second, etc. + /// + /// Returns `None` if the line number is beyond the last line in the buffer. + pub fn select_line(&self, n: usize) -> Option<(usize, usize)> { + let mut start = 0; + + let bytes = self.as_str(); // or whatever gives the full buffer as &str + let mut line_iter = bytes.match_indices('\n').map(|(i, _)| i + 1); + + // Advance to the nth newline (start of line n) + for _ in 0..n { + start = line_iter.next()?; + } + + // Find the next newline (end of line n), or end of buffer + let end = line_iter.next().unwrap_or(bytes.len()); + + Some((start, end)) + } + /// Find the span from the start of the nth line above the cursor, to the end of the current line. + /// + /// Returns (start,end) + /// 'start' is the first character after the previous newline, or the start of the buffer + /// 'end' is the index of the newline after the nth line + /// + /// The caller can choose whether to include the newline itself in the selection by using either + /// * `(start..end)` to exclude it + /// * `(start..=end)` to include it + pub fn select_lines_up(&self, n: usize) -> (usize,usize) { + let end = self.end_of_line(); + let mut start = self.start_of_line(); + if start == 0 { + return (start,end) + } + + for _ in 0..n { + let slice = self.slice_to(start - 1); + if let Some(prev_newline) = slice.rfind('\n') { + start = prev_newline; + } else { + start = 0; + break + } + } + + (start,end) + } + /// Find the range from the start of this line, to the end of the nth line after the cursor + /// + /// Returns (start,end) + /// 'start' is the first character after the previous newline, or the start of the buffer + /// 'end' is the index of the newline after the nth line + /// + /// The caller can choose whether to include the newline itself in the selection by using either + /// * `(start..end)` to exclude it + /// * `(start..=end)` to include it + pub fn select_lines_down(&self, n: usize) -> (usize,usize) { + let mut end = self.end_of_line(); + let start = self.start_of_line(); + if end == self.byte_len() { + return (start,end) + } + + for _ in 0..=n { + let next_ln_start = end + 1; + if next_ln_start >= self.byte_len() { + end = self.byte_len(); + break + } + if let Some(next_newline) = self.slice_from(next_ln_start).find('\n') { + end += next_newline; + } else { + end = self.byte_len(); + break + } + } + + (start,end) + } + pub fn select_lines_to(&self, line_no: usize) -> (usize,usize) { + let cursor_line_no = self.line_no(); + let offset = (cursor_line_no as isize) - (line_no as isize); + match offset.cmp(&0) { + Ordering::Less => self.select_lines_down(offset.unsigned_abs()), + Ordering::Equal => self.this_line(), + Ordering::Greater => self.select_lines_up(offset as usize) + } + } + fn on_start_of_word(&self, size: Word) -> bool { + self.is_start_of_word(size, self.cursor) + } + fn on_end_of_word(&self, size: Word) -> bool { + self.is_end_of_word(size, self.cursor) + } + fn is_start_of_word(&self, size: Word, pos: usize) -> bool { + if self.grapheme_at(pos).is_some_and(|g| g.chars().all(char::is_whitespace)) { + return false + } + match size { + Word::Big => { + let Some(prev_g) = self.grapheme_at(pos.saturating_sub(1)) else { + return true // We are on the very first grapheme, so it is the start of a word + }; + prev_g.chars().all(char::is_whitespace) + } + Word::Normal => { + let Some(cur_g) = self.grapheme_at(pos) else { + return false // We aren't on a character to begin with + }; + let Some(prev_g) = self.grapheme_at(pos.saturating_sub(1)) else { + return true + }; + is_other_class_or_ws(cur_g, prev_g) + } + } + } + fn is_end_of_word(&self, size: Word, pos: usize) -> bool { + if self.grapheme_at(pos).is_some_and(|g| g.chars().all(char::is_whitespace)) { + return false + } + match size { + Word::Big => { + let Some(next_g) = self.grapheme_at(pos + 1) else { + return false + }; + next_g.chars().all(char::is_whitespace) + } + Word::Normal => { + let Some(cur_g) = self.grapheme_at(pos) else { + return false + }; + let Some(next_g) = self.grapheme_at(pos + 1) else { + return false + }; + is_other_class_or_ws(cur_g, next_g) + } + } + } + pub fn find_word_pos(&self, word: Word, to: To, dir: Direction) -> Option { + let mut pos = self.cursor; + match word { + Word::Big => { + match dir { + Direction::Forward => { + match to { + To::Start => { + if self.on_whitespace() { + return self.find_from(pos, |c| CharClass::from(c) != CharClass::Whitespace) + } + if self.on_start_of_word(word) { + pos += 1; + if pos >= self.byte_len() { + return None + } + } + let ws_pos = self.find_from(pos, |c| CharClass::from(c) == CharClass::Whitespace)?; + let word_start = self.find_from(ws_pos, |c| CharClass::from(c) != CharClass::Whitespace)?; + Some(word_start) + } + To::End => { + if self.on_whitespace() { + pos = self.find_from(pos, |c| CharClass::from(c) != CharClass::Whitespace)?; + } + match self.on_end_of_word(word) { + true => { + pos += 1; + if pos >= self.byte_len() { + return None + } + let word_start = self.find_from(pos, |c| CharClass::from(c) != CharClass::Whitespace)?; + match self.find_from(word_start, |c| CharClass::from(c) == CharClass::Whitespace) { + Some(n) => Some(n.saturating_sub(1)), // Land on char before whitespace + None => Some(self.byte_len()) // End of buffer + } + } + false => { + match self.find_from(pos, |c| CharClass::from(c) == CharClass::Whitespace) { + Some(n) => Some(n.saturating_sub(1)), // Land on char before whitespace + None => Some(self.byte_len()) // End of buffer + } + } + } + } + } + } + Direction::Backward => { + match to { + To::Start => { + if self.on_whitespace() { + pos = self.rfind_from(pos, |c| CharClass::from(c) != CharClass::Whitespace)?; + } + match self.on_start_of_word(word) { + true => { + pos = pos.checked_sub(1)?; + let prev_word_end = self.rfind_from(pos, |c| CharClass::from(c) != CharClass::Whitespace)?; + match self.rfind_from(prev_word_end, |c| CharClass::from(c) == CharClass::Whitespace) { + Some(n) => Some(n + 1), // Land on char after whitespace + None => Some(0) // Start of buffer + } + } + false => { + match self.rfind_from(pos, |c| CharClass::from(c) == CharClass::Whitespace) { + Some(n) => Some(n + 1), // Land on char after whitespace + None => Some(0) // Start of buffer + } + } + } + } + To::End => { + if self.on_whitespace() { + return self.rfind_from(pos, |c| CharClass::from(c) != CharClass::Whitespace) + } + if self.on_end_of_word(word) { + pos = pos.checked_sub(1)?; + } + let last_ws = self.rfind_from(pos, |c| CharClass::from(c) == CharClass::Whitespace)?; + let prev_word_end = self.rfind_from(last_ws, |c| CharClass::from(c) != CharClass::Whitespace)?; + Some(prev_word_end) + } + } + } + } + } + Word::Normal => { + match dir { + Direction::Forward => { + match to { + To::Start => { + if self.on_whitespace() { + return self.find_from(pos, |c| CharClass::from(c) != CharClass::Whitespace) + } + if self.on_start_of_word(word) { + pos += 1; + if pos >= self.byte_len() { + return None + } + } + let cur_graph = self.grapheme_at(pos)?; + let diff_class_pos = self.find_from(pos, |c| is_other_class_or_ws(c, cur_graph))?; + if let CharClass::Whitespace = CharClass::from(self.grapheme_at(diff_class_pos)?) { + let non_ws_pos = self.find_from(diff_class_pos, |c| CharClass::from(c) != CharClass::Whitespace)?; + Some(non_ws_pos) + } else { + Some(diff_class_pos) + } + } + To::End => { + if self.on_whitespace() { + pos = self.find_from(pos, |c| CharClass::from(c) != CharClass::Whitespace)?; + } + match self.on_end_of_word(word) { + true => { + pos += 1; + if pos >= self.byte_len() { + return None + } + let cur_graph = self.grapheme_at(pos)?; + match self.find_from(pos, |c| is_other_class_or_ws(c, cur_graph)) { + Some(n) => { + let cur_graph = self.grapheme_at(n)?; + if CharClass::from(cur_graph) == CharClass::Whitespace { + let Some(non_ws_pos) = self.find_from(n, |c| CharClass::from(c) != CharClass::Whitespace) else { + return Some(self.byte_len()) + }; + let cur_graph = self.grapheme_at(non_ws_pos)?; + let Some(word_end_pos) = self.find_from(non_ws_pos, |c| is_other_class_or_ws(c, cur_graph)) else { + return Some(self.byte_len()) + }; + Some(word_end_pos.saturating_sub(1)) + } else { + Some(pos.saturating_sub(1)) + } + } + None => Some(self.byte_len()) // End of buffer + } + } + false => { + let cur_graph = self.grapheme_at(pos)?; + match self.find_from(pos, |c| is_other_class_or_ws(c, cur_graph)) { + Some(n) => Some(n.saturating_sub(1)), // Land on char before other char class + None => Some(self.byte_len()) // End of buffer + } + } + } + } + } + } + Direction::Backward => { + match to { + To::Start => { + if self.on_whitespace() { + pos = self.rfind_from(pos, |c| CharClass::from(c) != CharClass::Whitespace)?; + } + match self.on_start_of_word(word) { + true => { + pos = pos.checked_sub(1)?; + let prev_word_end = self.rfind_from(pos, |c| CharClass::from(c) != CharClass::Whitespace)?; + let cur_graph = self.grapheme_at(prev_word_end)?; + match self.rfind_from(prev_word_end, |c| is_other_class_or_ws(c, cur_graph)) { + Some(n) => Some(n + 1), // Land on char after whitespace + None => Some(0) // Start of buffer + } + } + false => { + let cur_graph = self.grapheme_at(pos)?; + match self.rfind_from(pos, |c| is_other_class_or_ws(c, cur_graph)) { + Some(n) => Some(n + 1), // Land on char after whitespace + None => Some(0) // Start of buffer + } + } + } + } + To::End => { + if self.on_whitespace() { + return self.rfind_from(pos, |c| CharClass::from(c) != CharClass::Whitespace) + } + if self.on_end_of_word(word) { + pos = pos.checked_sub(1)?; + } + let cur_graph = self.grapheme_at(pos)?; + let diff_class_pos = self.rfind_from(pos, |c|is_other_class_or_ws(c, cur_graph))?; + if let CharClass::Whitespace = self.grapheme_at(diff_class_pos)?.into() { + let prev_word_end = self.rfind_from(diff_class_pos, |c| CharClass::from(c) != CharClass::Whitespace).unwrap_or(0); + Some(prev_word_end) + } else { + Some(diff_class_pos) + } + } + } + } + } + } + } + } + pub fn find bool>(&self, op: F) -> Option { + self.find_from(self.cursor, op) + } + pub fn rfind bool>(&self, op: F) -> Option { + self.rfind_from(self.cursor, op) + } + + /// Find the first grapheme at or after `pos` for which `op` returns true. + /// Returns the byte index of that grapheme in the buffer. + pub fn find_from bool>(&self, pos: usize, op: F) -> Option { + assert!(is_grapheme_boundary(&self.buffer, pos)); + + // Iterate over grapheme indices starting at `pos` + let slice = &self.slice_from(pos); + for (offset, grapheme) in slice.grapheme_indices(true) { + if op(grapheme) { + return Some(pos + offset); + } + } + None + } + /// Find the last grapheme at or before `pos` for which `op` returns true. + /// Returns the byte index of that grapheme in the buffer. + pub fn rfind_from bool>(&self, pos: usize, op: F) -> Option { + assert!(is_grapheme_boundary(&self.buffer, pos)); + + // Iterate grapheme boundaries backward up to pos + let slice = &self.slice_to(pos); + let graphemes = slice.grapheme_indices(true).rev(); + + for (offset, grapheme) in graphemes { + if op(grapheme) { + return Some(offset); + } + } + None + } + pub fn eval_motion(&mut self, motion: Motion) -> MotionKind { + match motion { + Motion::WholeLine => MotionKind::Line(0), + Motion::TextObj(text_obj, bound) => todo!(), + Motion::BeginningOfFirstWord => { + let (start,_) = self.this_line(); + let first_graph_pos = self.find_from(start, |c| CharClass::from(c) != CharClass::Whitespace).unwrap_or(start); + MotionKind::To(first_graph_pos) + } + Motion::BeginningOfLine => MotionKind::To(self.this_line().0), + Motion::EndOfLine => MotionKind::To(self.this_line().1), + Motion::BackwardWord(to, word) => { + let Some(pos) = self.find_word_pos(word, to, Direction::Backward) else { + return MotionKind::Null + }; + MotionKind::To(pos) + } + Motion::ForwardWord(to, word) => { + let Some(pos) = self.find_word_pos(word, to, Direction::Forward) else { + return MotionKind::Null + }; + MotionKind::To(pos) + } + Motion::CharSearch(direction, dest, ch) => { + match direction { + Direction::Forward => { + let Some(pos) = self.slice_from_cursor().find(ch) else { + return MotionKind::Null + }; + match dest { + Dest::On => MotionKind::To(pos), + Dest::Before => MotionKind::To(pos.saturating_sub(1)), + Dest::After => todo!(), + } + } + Direction::Backward => { + let Some(pos) = self.slice_to_cursor().rfind(ch) else { + return MotionKind::Null + }; + match dest { + Dest::On => MotionKind::To(pos), + Dest::Before => MotionKind::To(pos + 1), + Dest::After => todo!(), + } + } + } + + } + Motion::BackwardChar => MotionKind::Backward(1), + Motion::ForwardChar => MotionKind::Forward(1), + Motion::LineUp => MotionKind::Line(-1), + Motion::LineDown => MotionKind::Line(1), + Motion::ScreenLineUp => MotionKind::ScreenLine(-1), + Motion::ScreenLineDown => MotionKind::ScreenLine(1), + Motion::WholeBuffer => todo!(), + Motion::BeginningOfBuffer => MotionKind::To(0), + Motion::EndOfBuffer => MotionKind::To(self.byte_len()), + Motion::ToColumn(n) => { + let (start,end) = self.this_line(); + let pos = start + n; + if pos > end { + MotionKind::To(end) + } else { + MotionKind::To(pos) + } + } + Motion::Range(_, _) => todo!(), + Motion::Builder(_) => todo!(), + Motion::RepeatMotion => todo!(), + Motion::RepeatMotionRev => todo!(), + Motion::Null => todo!(), + } + } + pub fn calculate_display_offset(&self, n_lines: isize) -> Option { + let (start,end) = self.this_line(); + let graphemes: Vec<(usize, usize, &str)> = self.buffer[start..end] + .graphemes(true) + .scan(start, |idx, g| { + let current = *idx; + *idx += g.len(); // Advance by number of bytes + Some((g.width(), current, g)) + }).collect(); + + let mut cursor_line_index = 0; + let mut cursor_visual_col = 0; + let mut screen_lines = vec![]; + let mut cur_line = vec![]; + let mut line_width = 0; + + for (width, byte_idx, grapheme) in graphemes { + if byte_idx == self.cursor { + // Save this to later find column + cursor_line_index = screen_lines.len(); + cursor_visual_col = line_width; + } + + let new_line_width = line_width + width; + if new_line_width > self.term_dims.1 { + screen_lines.push(std::mem::take(&mut cur_line)); + cur_line.push((width, byte_idx, grapheme)); + line_width = width; + } else { + cur_line.push((width, byte_idx, grapheme)); + line_width = new_line_width; + } + } + + if !cur_line.is_empty() { + screen_lines.push(cur_line); + } + + if screen_lines.len() == 1 { + return None + } + + let target_line_index = (cursor_line_index as isize + n_lines) + .clamp(0, (screen_lines.len() - 1) as isize) as usize; + + let mut col = 0; + for (width, byte_idx, _) in &screen_lines[target_line_index] { + if col + width > cursor_visual_col { + return Some(*byte_idx); + } + col += width; + } + + // If you went past the end of the line + screen_lines[target_line_index] + .last() + .map(|(_, byte_idx, _)| *byte_idx) + } + pub fn get_range_from_motion(&self, verb: &Verb, motion: &MotionKind) -> Option> { + let range = match motion { + MotionKind::Forward(n) => { + let pos = self.next_pos(*n)?; + let range = self.cursor..pos; + assert!(range.end <= self.byte_len()); + Some(range) + } + MotionKind::To(n) => { + let range = mk_range(self.cursor, *n); + assert!(range.end <= self.byte_len()); + Some(range) + } + MotionKind::Backward(n) => { + let pos = self.prev_pos(*n)?; + let range = pos..self.cursor; + Some(range) + } + MotionKind::Range(range) => { + Some(range.0..range.1) + } + MotionKind::Line(n) => { + match n.cmp(&0) { + Ordering::Less => { + let (start,end) = self.select_lines_up(n.unsigned_abs()); + let mut range = match verb { + Verb::Delete => mk_range_inclusive(start,end), + _ => mk_range(start,end), + }; + range = self.clamp_range(range); + Some(range) + } + Ordering::Equal => { + let (start,end) = self.this_line(); + let mut range = match verb { + Verb::Delete => mk_range_inclusive(start,end), + _ => mk_range(start,end), + }; + range = self.clamp_range(range); + Some(range) + } + Ordering::Greater => { + let (start, mut end) = self.select_lines_down(*n as usize); + end = (end + 1).min(self.byte_len() - 1); + let mut range = match verb { + Verb::Delete => mk_range_inclusive(start,end), + _ => mk_range(start,end), + }; + range = self.clamp_range(range); + Some(range) + } + } + } + MotionKind::ToLine(n) => { + let (start,end) = self.select_lines_to(*n); + let range = match verb { + Verb::Change => start..end, + Verb::Delete => start..end.saturating_add(1), + _ => unreachable!() + }; + Some(range) + } + MotionKind::Null => None, + MotionKind::ScreenLine(n) => { + let pos = self.calculate_display_offset(*n)?; + Some(mk_range(pos, self.cursor)) + } + }; + range.map(|rng| self.clamp_range(rng)) + } + pub fn indent_lines(&mut self, range: Range) { + let (start,end) = (range.start,range.end); + + self.buffer.insert(start, '\t'); + + let graphemes = self.buffer[start + 1..end].grapheme_indices(true); + let mut tab_insert_indices = vec![]; + let mut next_is_tab_pos = false; + for (i,g) in graphemes { + if g == "\n" { + next_is_tab_pos = true; + } else if next_is_tab_pos { + tab_insert_indices.push(start + i + 1); + next_is_tab_pos = false; + } + } + + for i in tab_insert_indices { + if i < self.byte_len() { + self.buffer.insert(i, '\t'); + } + } + } + pub fn dedent_lines(&mut self, range: Range) { + + todo!() + } + pub fn exec_verb(&mut self, verb: Verb, motion: MotionKind, register: RegisterName) -> ShResult<()> { + match verb { + Verb::Change | + Verb::Delete => { + let Some(range) = self.get_range_from_motion(&verb, &motion) else { + return Ok(()) + }; + let restore_col = matches!(motion, MotionKind::Line(_)) && matches!(verb, Verb::Delete); + if restore_col { + self.saved_col = Some(self.cursor_column()) + } + + let deleted = self.buffer.drain(range.clone()); + register.write_to_register(deleted.collect()); + + self.cursor = range.start; + if restore_col { + let saved = self.saved_col.unwrap(); + let line_start = self.this_line().0; + + self.cursor = line_start + saved; + } + } + Verb::DeleteChar(anchor) => { + match anchor { + Anchor::After => { + if self.grapheme_at(self.cursor).is_some() { + self.buffer.remove(self.cursor); + } + } + Anchor::Before => { + if self.grapheme_at(self.cursor.saturating_sub(1)).is_some() { + self.buffer.remove(self.cursor.saturating_sub(1)); + } + } + } + } + Verb::Yank => { + let Some(range) = self.get_range_from_motion(&verb, &motion) else { + return Ok(()) + }; + let yanked = &self.buffer[range.clone()]; + register.write_to_register(yanked.to_string()); + self.cursor = range.start; + } + Verb::ReplaceChar(c) => { + let Some(range) = self.get_range_from_motion(&verb, &motion) else { + return Ok(()) + }; + let new_range = format!("{c}"); + let cursor_pos = range.end; + self.buffer.replace_range(range, &new_range); + self.cursor = cursor_pos + } + Verb::Substitute => todo!(), + Verb::ToggleCase => { + let Some(range) = self.get_range_from_motion(&verb, &motion) else { + return Ok(()) + }; + let mut new_range = String::new(); + let slice = &self.buffer[range.clone()]; + for ch in slice.chars() { + if ch.is_ascii_lowercase() { + new_range.push(ch.to_ascii_uppercase()) + } else if ch.is_ascii_uppercase() { + new_range.push(ch.to_ascii_lowercase()) + } else { + new_range.push(ch) + } + } + self.buffer.replace_range(range.clone(), &new_range); + self.cursor = range.end; + } + Verb::Complete => todo!(), + Verb::CompleteBackward => todo!(), + Verb::Undo => { + let Some(undo) = self.undo_stack.pop() else { + return Ok(()) + }; + let Edit { pos, cursor_pos, old, new, .. } = undo; + let range = pos..pos + new.len(); + self.buffer.replace_range(range, &old); + let redo_cursor_pos = self.cursor; + if self.move_cursor_on_undo { + self.cursor = cursor_pos; + } + let redo = Edit { pos, cursor_pos: redo_cursor_pos, old: new, new: old, merging: false }; + self.redo_stack.push(redo); + } + Verb::Redo => { + let Some(redo) = self.redo_stack.pop() else { + return Ok(()) + }; + let Edit { pos, cursor_pos, old, new, .. } = redo; + let range = pos..pos + new.len(); + self.buffer.replace_range(range, &old); + let undo_cursor_pos = self.cursor; + if self.move_cursor_on_undo { + self.cursor = cursor_pos; + } + let undo = Edit { pos, cursor_pos: undo_cursor_pos, old: new, new: old, merging: false }; + self.undo_stack.push(undo); + } + Verb::RepeatLast => todo!(), + Verb::Put(anchor) => { + let Some(register_content) = register.read_from_register() else { + return Ok(()) + }; + match anchor { + Anchor::After => { + for ch in register_content.chars() { + self.cursor_fwd(1); // Only difference is which one you start with + self.insert(ch); + } + } + Anchor::Before => { + for ch in register_content.chars() { + self.insert(ch); + self.cursor_fwd(1); + } + } + } + } + Verb::InsertModeLineBreak(anchor) => { + match anchor { + Anchor::After => { + let (_,end) = self.this_line(); + self.cursor = end; + self.insert('\n'); + self.cursor_fwd(1); + } + Anchor::Before => { + let (start,_) = self.this_line(); + self.cursor = start; + self.insert('\n'); + } + } + } + Verb::JoinLines => { + let (start,end) = self.this_line(); + let Some((nstart,nend)) = self.next_line(1) else { + return Ok(()) + }; + let line = &self.buffer[start..end]; + let next_line = &self.buffer[nstart..nend].trim_start().to_string(); // strip leading whitespace + flog!(DEBUG,next_line); + let replace_newline_with_space = !line.ends_with([' ', '\t']); + + self.cursor = end; + if replace_newline_with_space { + self.buffer.replace_range(end..end+1, " "); + self.buffer.replace_range(end+1..nend, next_line); + } else { + self.buffer.replace_range(end..end+1, ""); + self.buffer.replace_range(end..nend, next_line); + } + } + Verb::InsertChar(ch) => { + self.insert(ch); + self.apply_motion(/*forced*/ true, motion); + } + Verb::Insert(str) => { + for ch in str.chars() { + self.insert(ch); + self.cursor_fwd(1); + } + } + Verb::Breakline(anchor) => todo!(), + Verb::Indent => { + let Some(range) = self.get_range_from_motion(&verb, &motion) else { + return Ok(()) + }; + self.indent_lines(range) + } + Verb::Dedent => { + let Some(range) = self.get_range_from_motion(&verb, &motion) else { + return Ok(()) + }; + self.dedent_lines(range) + } + Verb::Equalize => todo!(), // I fear this one + Verb::Builder(verb_builder) => todo!(), + Verb::EndOfFile => { + if !self.buffer.is_empty() { + self.cursor = 0; + self.buffer.clear(); + } else { + sh_quit(0) + } + } + + Verb::AcceptLine | + Verb::ReplaceMode | + Verb::InsertMode | + Verb::NormalMode | + Verb::VisualMode => { + /* Already handled */ + self.apply_motion(/*forced*/ true,motion); + } + } + Ok(()) + } + pub fn apply_motion(&mut self, forced: bool, motion: MotionKind) { + match motion { + MotionKind::Forward(n) => { + for _ in 0..n { + if forced { + if !self.cursor_fwd(1) { + break + } + } else if !self.cursor_fwd_confined(1) { + break + } + } + } + MotionKind::Backward(n) => { + for _ in 0..n { + if forced { + if !self.cursor_back(1) { + break + } + } else if !self.cursor_back_confined(1) { + break + } + } + } + MotionKind::To(n) => { + if n > self.byte_len() { + self.cursor = self.byte_len(); + } else { + self.cursor = n + } + } + MotionKind::Range(range) => { + assert!((0..self.byte_len()).contains(&range.0)); + if self.cursor != range.0 { + self.cursor = range.0 + } + } + MotionKind::Line(n) => { + match n.cmp(&0) { + Ordering::Equal => (), + Ordering::Less => { + for _ in 0..n.unsigned_abs() { + let Some(pos) = self.find_prev_line_pos() else { + return + }; + self.cursor = pos; + } + } + Ordering::Greater => { + for _ in 0..n.unsigned_abs() { + let Some(pos) = self.find_next_line_pos() else { + return + }; + self.cursor = pos; + } + } + } + } + MotionKind::ToLine(n) => { + let Some((start,_)) = self.select_line(n) else { + return + }; + self.cursor = start; + } + MotionKind::Null => { /* Pass */ } + MotionKind::ScreenLine(n) => { + let Some(pos) = self.calculate_display_offset(n) else { + return + }; + self.cursor = pos; + } + } + } + pub fn edit_is_merging(&self) -> bool { + self.undo_stack.last().is_some_and(|edit| edit.merging) + } + pub fn handle_edit(&mut self, old: String, new: String, curs_pos: usize) { + if self.edit_is_merging() { + let diff = Edit::diff(&old, &new, curs_pos); + if diff.is_empty() { + return + } + let Some(mut edit) = self.undo_stack.pop() else { + self.undo_stack.push(diff); + return + }; + + edit.new.push_str(&diff.new); + edit.old.push_str(&diff.old); + + self.undo_stack.push(edit); + } else { + let diff = Edit::diff(&old, &new, curs_pos); + if !diff.is_empty() { + self.undo_stack.push(diff); + } + } + } + pub fn exec_cmd(&mut self, cmd: ViCmd) -> ShResult<()> { + let clear_redos = !cmd.is_undo_op() || cmd.verb.as_ref().is_some_and(|v| v.1.is_edit()); + let is_char_insert = cmd.verb.as_ref().is_some_and(|v| v.1.is_char_insert()); + let is_line_motion = cmd.is_line_motion(); + let is_undo_op = cmd.is_undo_op(); + + // Merge character inserts into one edit + if self.edit_is_merging() && cmd.verb.as_ref().is_none_or(|v| !v.1.is_char_insert()) { + if let Some(edit) = self.undo_stack.last_mut() { + edit.stop_merge(); + } + } + + let ViCmd { register, verb, motion, .. } = cmd; + + let verb_count = verb.as_ref().map(|v| v.0); + let motion_count = motion.as_ref().map(|m| m.0); + + let before = self.buffer.clone(); + let cursor_pos = self.cursor; + + for _ in 0..verb_count.unwrap_or(1) { + for _ in 0..motion_count.unwrap_or(1) { + let motion = motion + .clone() + .map(|m| self.eval_motion(m.1)) + .unwrap_or(MotionKind::Null); + + if let Some(verb) = verb.clone() { + self.exec_verb(verb.1, motion, register)?; + } else { + self.apply_motion(/*forced*/ false,motion); + } + } + } + + let after = self.buffer.clone(); + if clear_redos { + self.redo_stack.clear(); + } + + if before != after && !is_undo_op { + self.handle_edit(before, after, cursor_pos); + } + + if !is_line_motion { + self.saved_col = None; + } + + if is_char_insert { + if let Some(edit) = self.undo_stack.last_mut() { + edit.start_merge(); + } + } + + if self.clamp_cursor { + self.clamp_cursor(); + } + self.sync_cursor(); + Ok(()) + } +} + +impl Display for LineBuf { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f,"{}",self.buffer) + } +} + +pub fn strip_ansi_codes_and_escapes(s: &str) -> String { + let mut out = String::with_capacity(s.len()); + let mut chars = s.chars().peekable(); + + while let Some(c) = chars.next() { + if c == '\x1b' && chars.peek() == Some(&'[') { + // Skip over the escape sequence + chars.next(); // consume '[' + while let Some(&ch) = chars.peek() { + if ch.is_ascii_lowercase() || ch.is_ascii_uppercase() { + chars.next(); // consume final letter + break; + } + chars.next(); // consume intermediate characters + } + } else { + match c { + '\n' | + '\r' => { /* Continue */ } + _ => out.push(c) + } + } + } + out +} + +pub fn is_grapheme_boundary(s: &str, pos: usize) -> bool { + s.is_char_boundary(pos) && s.grapheme_indices(true).any(|(i,_)| i == pos) +} + +fn mk_range_inclusive(a: usize, b: usize) -> Range { + let b = b + 1; + std::cmp::min(a, b)..std::cmp::max(a, b) +} + +fn mk_range(a: usize, b: usize) -> Range { + std::cmp::min(a, b)..std::cmp::max(a, b) +} diff --git a/src/prompt/readline/mod.rs b/src/prompt/readline/mod.rs new file mode 100644 index 0000000..27f1674 --- /dev/null +++ b/src/prompt/readline/mod.rs @@ -0,0 +1,371 @@ +use std::time::Duration; + +use history::History; +use keys::{KeyCode, KeyEvent, ModKeys}; +use linebuf::{strip_ansi_codes_and_escapes, LineBuf}; +use mode::{CmdReplay, ViInsert, ViMode, ViNormal, ViReplace}; +use term::Terminal; +use unicode_width::UnicodeWidthStr; +use vicmd::{Motion, MotionCmd, RegisterName, To, Verb, VerbCmd, ViCmd}; + +use crate::libsh::{error::{ShErr, ShErrKind, ShResult}, term::{Style, Styled}}; +use crate::prelude::*; + +pub mod keys; +pub mod term; +pub mod linebuf; +pub mod vicmd; +pub mod mode; +pub mod register; +pub mod history; + +const LOREM_IPSUM: &str = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore\nmagna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo\nconsequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.\nExcepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."; + +/// Unified interface for different line editing methods +pub trait Readline { + fn readline(&mut self) -> ShResult; +} + +pub struct FernVi { + term: Terminal, + line: LineBuf, + history: History, + prompt: String, + mode: Box, + last_action: Option, + last_movement: Option, +} + +impl Readline for FernVi { + fn readline(&mut self) -> ShResult { + /* + self.term.writeln("This is a line!"); + self.term.writeln("This is a line!"); + self.term.writeln("This is a line!"); + let prompt_thing = "prompt thing -> "; + self.term.write(prompt_thing); + let line = "And another!"; + let mut iters: usize = 0; + let mut newlines_written = 0; + loop { + iters += 1; + for i in 0..iters { + self.term.writeln(line); + } + std::thread::sleep(Duration::from_secs(1)); + self.clear_lines(iters,prompt_thing.len() + 1); + } + panic!() + */ + self.print_buf(false)?; + loop { + let key = self.term.read_key(); + + if let KeyEvent(KeyCode::Char('V'), ModKeys::CTRL) = key { + self.handle_verbatim()?; + continue + } + + let Some(cmd) = self.mode.handle_key(key) else { + continue + }; + + if self.should_grab_history(&cmd) { + flog!(DEBUG, "scrolling"); + self.scroll_history(cmd); + self.print_buf(true)?; + continue + } + + + if cmd.should_submit() { + self.term.write("\n"); + let command = self.line.to_string(); + if !command.is_empty() { + // We're just going to trim the command + // reduces clutter in the case of two history commands whose only difference is insignificant whitespace + self.history.push(command.trim().to_string()); + self.history.save()?; + } + return Ok(command); + } + let line = self.line.to_string(); + self.exec_cmd(cmd.clone())?; + let new_line = self.line.as_str(); + let has_changes = line != new_line; + flog!(DEBUG, has_changes); + + if cmd.verb().is_some_and(|v| v.1.is_edit()) && has_changes { + self.history.update_pending_cmd(self.line.as_str()); + } + + self.print_buf(true)?; + } + } +} + +impl FernVi { + pub fn new(prompt: Option) -> ShResult { + let prompt = prompt.unwrap_or("$ ".styled(Style::Green | Style::Bold)); + let line = LineBuf::new().with_initial(LOREM_IPSUM); + let term = Terminal::new(); + let history = History::new()?; + Ok(Self { + term, + line, + history, + prompt, + mode: Box::new(ViInsert::new()), + last_action: None, + last_movement: None, + }) + } + /// Ctrl+V handler + pub fn handle_verbatim(&mut self) -> ShResult<()> { + let mut buf = [0u8; 8]; + let mut collected = Vec::new(); + + loop { + let n = self.term.read_byte(&mut buf[..1]); + if n == 0 { + continue; + } + collected.push(buf[0]); + + // If it starts with ESC, treat as escape sequence + if collected[0] == 0x1b { + loop { + let n = self.term.peek_byte(&mut buf[..1]); + if n == 0 { + break + } + collected.push(buf[0]); + // Ends a CSI sequence + if (0x40..=0x7e).contains(&buf[0]) { + break; + } + } + let Ok(seq) = std::str::from_utf8(&collected) else { + return Ok(()) + }; + let cmd = ViCmd { + register: Default::default(), + verb: Some(VerbCmd(1, Verb::Insert(seq.to_string()))), + motion: None, + raw_seq: seq.to_string(), + }; + self.line.exec_cmd(cmd)?; + } + + // Optional: handle other edge cases, e.g., raw control codes + if collected[0] < 0x20 || collected[0] == 0x7F { + let ctrl_seq = std::str::from_utf8(&collected).unwrap(); + let cmd = ViCmd { + register: Default::default(), + verb: Some(VerbCmd(1, Verb::Insert(ctrl_seq.to_string()))), + motion: None, + raw_seq: ctrl_seq.to_string(), + }; + self.line.exec_cmd(cmd)?; + break; + } + + // Try to parse as UTF-8 if it's a valid Unicode sequence + if let Ok(s) = std::str::from_utf8(&collected) { + if s.chars().count() == 1 { + let ch = s.chars().next().unwrap(); + // You got a literal Unicode char + eprintln!("Got char: {:?}", ch); + break; + } + } + + } + Ok(()) + } + pub fn scroll_history(&mut self, cmd: ViCmd) { + let count = &cmd.motion().unwrap().0; + let motion = &cmd.motion().unwrap().1; + flog!(DEBUG,count,motion); + let entry = match motion { + Motion::LineUp => { + let Some(hist_entry) = self.history.scroll(-(*count as isize)) else { + return + }; + flog!(DEBUG,"found entry"); + flog!(DEBUG,hist_entry.command()); + hist_entry + } + Motion::LineDown => { + let Some(hist_entry) = self.history.scroll(*count as isize) else { + return + }; + flog!(DEBUG,"found entry"); + flog!(DEBUG,hist_entry.command()); + hist_entry + } + _ => unreachable!() + }; + let col = self.line.saved_col().unwrap_or(self.line.cursor_column()); + let mut buf = LineBuf::new().with_initial(entry.command()); + let line_end = buf.end_of_line(); + if let Some(dest) = self.mode.hist_scroll_start_pos() { + match dest { + To::Start => { + /* Already at 0 */ + } + To::End => { + // History entries cannot be empty + // So this subtraction is safe (maybe) + buf.cursor_fwd_to(line_end + 1); + } + } + } else { + let target = (col + 1).min(line_end + 1); + buf.cursor_fwd_to(target); + } + + self.line = buf + } + + pub fn should_grab_history(&self, cmd: &ViCmd) -> bool { + cmd.verb().is_none() && + ( + cmd.motion().is_some_and(|m| matches!(m, MotionCmd(_, Motion::LineUp))) && + self.line.start_of_line() == 0 + ) || + ( + cmd.motion().is_some_and(|m| matches!(m, MotionCmd(_, Motion::LineDown))) && + self.line.end_of_line() == self.line.byte_len() + ) + } + pub fn print_buf(&mut self, refresh: bool) -> ShResult<()> { + let (height,width) = self.term.get_dimensions()?; + if refresh { + self.term.unwrite()?; + } + let offset = self.calculate_prompt_offset(); + self.line.set_first_line_offset(offset); + self.line.update_term_dims((height,width)); + let mut line_buf = self.prompt.clone(); + line_buf.push_str(self.line.as_str()); + + self.term.recorded_write(&line_buf, offset)?; + self.term.position_cursor(self.line.cursor_display_coords(width))?; + + self.term.write(&self.mode.cursor_style()); + Ok(()) + } + pub fn calculate_prompt_offset(&self) -> usize { + if self.prompt.ends_with('\n') { + return 0 + } + strip_ansi_codes_and_escapes(self.prompt.lines().last().unwrap_or_default()).width() + 1 // 1 indexed + } + pub fn exec_cmd(&mut self, cmd: ViCmd) -> ShResult<()> { + if cmd.is_mode_transition() { + let count = cmd.verb_count(); + let mut mode: Box = match cmd.verb().unwrap().1 { + Verb::InsertModeLineBreak(_) | + Verb::Change | + Verb::InsertMode => { + Box::new(ViInsert::new().with_count(count as u16)) + } + Verb::NormalMode => { + Box::new(ViNormal::new()) + } + Verb::ReplaceMode => { + Box::new(ViReplace::new().with_count(count as u16)) + } + Verb::VisualMode => todo!(), + _ => unreachable!() + }; + + std::mem::swap(&mut mode, &mut self.mode); + self.line.set_cursor_clamp(self.mode.clamp_cursor()); + self.line.set_move_cursor_on_undo(self.mode.move_cursor_on_undo()); + self.term.write(&mode.cursor_style()); + + if mode.is_repeatable() { + self.last_action = mode.as_replay(); + } + return self.line.exec_cmd(cmd); + } else if cmd.is_cmd_repeat() { + let Some(replay) = self.last_action.clone() else { + return Ok(()) + }; + let ViCmd { verb, .. } = cmd; + let VerbCmd(count,_) = verb.unwrap(); + match replay { + CmdReplay::ModeReplay { cmds, mut repeat } => { + if count > 1 { + repeat = count as u16; + } + for _ in 0..repeat { + let cmds = cmds.clone(); + for cmd in cmds { + self.line.exec_cmd(cmd)? + } + } + } + CmdReplay::Single(mut cmd) => { + if count > 1 { + // Override the counts with the one passed to the '.' command + if cmd.verb.is_some() { + if let Some(v_mut) = cmd.verb.as_mut() { + v_mut.0 = count + } + if let Some(m_mut) = cmd.motion.as_mut() { + m_mut.0 = 1 + } + } else { + return Ok(()) // it has to have a verb to be repeatable, something weird happened + } + } + self.line.exec_cmd(cmd)?; + } + _ => unreachable!("motions should be handled in the other branch") + } + return Ok(()) + } else if cmd.is_motion_repeat() { + match cmd.motion.as_ref().unwrap() { + MotionCmd(count,Motion::RepeatMotion) => { + let Some(motion) = self.last_movement.clone() else { + return Ok(()) + }; + let repeat_cmd = ViCmd { + register: RegisterName::default(), + verb: None, + motion: Some(motion), + raw_seq: format!("{count};") + }; + return self.line.exec_cmd(repeat_cmd); + } + MotionCmd(count,Motion::RepeatMotionRev) => { + let Some(motion) = self.last_movement.clone() else { + return Ok(()) + }; + let mut new_motion = motion.invert_char_motion(); + new_motion.0 = *count; + let repeat_cmd = ViCmd { + register: RegisterName::default(), + verb: None, + motion: Some(new_motion), + raw_seq: format!("{count},") + }; + return self.line.exec_cmd(repeat_cmd); + } + _ => unreachable!() + } + } + + if cmd.is_repeatable() { + self.last_action = Some(CmdReplay::Single(cmd.clone())); + } + if cmd.is_char_search() { + self.last_movement = cmd.motion.clone() + } + + self.line.exec_cmd(cmd.clone()) + } +} diff --git a/src/prompt/readline/mode.rs b/src/prompt/readline/mode.rs new file mode 100644 index 0000000..97d2a38 --- /dev/null +++ b/src/prompt/readline/mode.rs @@ -0,0 +1,816 @@ +use std::iter::Peekable; +use std::str::Chars; + +use nix::NixPath; + +use super::keys::{KeyEvent as E, KeyCode as K, ModKeys as M}; +use super::vicmd::{Anchor, Bound, Dest, Direction, Motion, MotionBuilder, MotionCmd, RegisterName, TextObj, To, Verb, VerbBuilder, VerbCmd, ViCmd, Word}; +use crate::prelude::*; + +#[derive(Debug,Clone)] +pub enum CmdReplay { + ModeReplay { cmds: Vec, repeat: u16 }, + Single(ViCmd), + Motion(Motion) +} + +impl CmdReplay { + pub fn mode(cmds: Vec, repeat: u16) -> Self { + Self::ModeReplay { cmds, repeat } + } + pub fn single(cmd: ViCmd) -> Self { + Self::Single(cmd) + } + pub fn motion(motion: Motion) -> Self { + Self::Motion(motion) + } +} + +pub enum CmdState { + Pending, + Complete, + Invalid +} + +pub trait ViMode { + fn handle_key(&mut self, key: E) -> Option; + fn is_repeatable(&self) -> bool; + fn as_replay(&self) -> Option; + fn cursor_style(&self) -> String; + fn pending_seq(&self) -> Option; + fn move_cursor_on_undo(&self) -> bool; + fn clamp_cursor(&self) -> bool; + fn hist_scroll_start_pos(&self) -> Option; +} + +#[derive(Default,Debug)] +pub struct ViInsert { + cmds: Vec, + pending_cmd: ViCmd, + repeat_count: u16 +} + +impl ViInsert { + pub fn new() -> Self { + Self::default() + } + pub fn with_count(mut self, repeat_count: u16) -> Self { + self.repeat_count = repeat_count; + self + } + pub fn register_and_return(&mut self) -> Option { + let cmd = self.take_cmd(); + self.register_cmd(&cmd); + Some(cmd) + } + pub fn ctrl_w_is_undo(&self) -> bool { + let insert_count = self.cmds.iter().filter(|cmd| { + matches!(cmd.verb(),Some(VerbCmd(1, Verb::InsertChar(_)))) + }).count(); + let backspace_count = self.cmds.iter().filter(|cmd| { + matches!(cmd.verb(),Some(VerbCmd(1, Verb::Delete))) + }).count(); + insert_count > backspace_count + } + pub fn register_cmd(&mut self, cmd: &ViCmd) { + self.cmds.push(cmd.clone()) + } + pub fn take_cmd(&mut self) -> ViCmd { + std::mem::take(&mut self.pending_cmd) + } +} + +impl ViMode for ViInsert { + fn handle_key(&mut self, key: E) -> Option { + match key { + E(K::Char(ch), M::NONE) => { + self.pending_cmd.set_verb(VerbCmd(1,Verb::InsertChar(ch))); + self.pending_cmd.set_motion(MotionCmd(1,Motion::ForwardChar)); + self.register_and_return() + } + E(K::Char('W'), M::CTRL) => { + if self.ctrl_w_is_undo() { + self.pending_cmd.set_verb(VerbCmd(1,Verb::Undo)); + self.cmds.clear(); + Some(self.take_cmd()) + } else { + self.pending_cmd.set_verb(VerbCmd(1, Verb::Delete)); + self.pending_cmd.set_motion(MotionCmd(1, Motion::BackwardWord(To::Start, Word::Normal))); + self.register_and_return() + } + } + E(K::Char('H'), M::CTRL) | + E(K::Backspace, M::NONE) => { + self.pending_cmd.set_verb(VerbCmd(1,Verb::Delete)); + self.pending_cmd.set_motion(MotionCmd(1,Motion::BackwardChar)); + self.register_and_return() + } + + E(K::BackTab, M::NONE) => { + self.pending_cmd.set_verb(VerbCmd(1,Verb::CompleteBackward)); + self.register_and_return() + } + + E(K::Char('I'), M::CTRL) | + E(K::Tab, M::NONE) => { + self.pending_cmd.set_verb(VerbCmd(1,Verb::Complete)); + self.register_and_return() + } + + E(K::Esc, M::NONE) => { + self.pending_cmd.set_verb(VerbCmd(1,Verb::NormalMode)); + self.pending_cmd.set_motion(MotionCmd(1,Motion::BackwardChar)); + self.register_and_return() + } + _ => common_cmds(key) + } + } + + fn is_repeatable(&self) -> bool { + true + } + + fn as_replay(&self) -> Option { + Some(CmdReplay::mode(self.cmds.clone(), self.repeat_count)) + } + + fn cursor_style(&self) -> String { + "\x1b[6 q".to_string() + } + fn pending_seq(&self) -> Option { + None + } + fn move_cursor_on_undo(&self) -> bool { + true + } + fn clamp_cursor(&self) -> bool { + false + } + fn hist_scroll_start_pos(&self) -> Option { + Some(To::End) + } +} + +#[derive(Default,Debug)] +pub struct ViReplace { + cmds: Vec, + pending_cmd: ViCmd, + repeat_count: u16 +} + +impl ViReplace { + pub fn new() -> Self { + Self::default() + } + pub fn with_count(mut self, repeat_count: u16) -> Self { + self.repeat_count = repeat_count; + self + } + pub fn register_and_return(&mut self) -> Option { + let cmd = self.take_cmd(); + self.register_cmd(&cmd); + Some(cmd) + } + pub fn ctrl_w_is_undo(&self) -> bool { + let insert_count = self.cmds.iter().filter(|cmd| { + matches!(cmd.verb(),Some(VerbCmd(1, Verb::ReplaceChar(_)))) + }).count(); + let backspace_count = self.cmds.iter().filter(|cmd| { + matches!(cmd.verb(),Some(VerbCmd(1, Verb::Delete))) + }).count(); + insert_count > backspace_count + } + pub fn register_cmd(&mut self, cmd: &ViCmd) { + self.cmds.push(cmd.clone()) + } + pub fn take_cmd(&mut self) -> ViCmd { + std::mem::take(&mut self.pending_cmd) + } +} + +impl ViMode for ViReplace { + fn handle_key(&mut self, key: E) -> Option { + match key { + E(K::Char(ch), M::NONE) => { + self.pending_cmd.set_verb(VerbCmd(1,Verb::ReplaceChar(ch))); + self.pending_cmd.set_motion(MotionCmd(1,Motion::ForwardChar)); + self.register_and_return() + } + E(K::Char('W'), M::CTRL) => { + if self.ctrl_w_is_undo() { + self.pending_cmd.set_verb(VerbCmd(1,Verb::Undo)); + self.cmds.clear(); + Some(self.take_cmd()) + } else { + self.pending_cmd.set_motion(MotionCmd(1, Motion::BackwardWord(To::Start, Word::Normal))); + self.register_and_return() + } + } + E(K::Char('H'), M::CTRL) | + E(K::Backspace, M::NONE) => { + self.pending_cmd.set_motion(MotionCmd(1,Motion::BackwardChar)); + self.register_and_return() + } + + E(K::BackTab, M::NONE) => { + self.pending_cmd.set_verb(VerbCmd(1,Verb::CompleteBackward)); + self.register_and_return() + } + + E(K::Char('I'), M::CTRL) | + E(K::Tab, M::NONE) => { + self.pending_cmd.set_verb(VerbCmd(1,Verb::Complete)); + self.register_and_return() + } + + E(K::Esc, M::NONE) => { + self.pending_cmd.set_verb(VerbCmd(1,Verb::NormalMode)); + self.pending_cmd.set_motion(MotionCmd(1,Motion::BackwardChar)); + self.register_and_return() + } + _ => common_cmds(key) + } + } + fn is_repeatable(&self) -> bool { + true + } + fn cursor_style(&self) -> String { + "\x1b[4 q".to_string() + } + fn pending_seq(&self) -> Option { + None + } + fn as_replay(&self) -> Option { + Some(CmdReplay::mode(self.cmds.clone(), self.repeat_count)) + } + fn move_cursor_on_undo(&self) -> bool { + true + } + fn clamp_cursor(&self) -> bool { + true + } + fn hist_scroll_start_pos(&self) -> Option { + Some(To::End) + } +} +#[derive(Default,Debug)] +pub struct ViNormal { + pending_seq: String, +} + +impl ViNormal { + pub fn new() -> Self { + Self::default() + } + pub fn clear_cmd(&mut self) { + self.pending_seq = String::new(); + } + pub fn take_cmd(&mut self) -> String { + std::mem::take(&mut self.pending_seq) + } + fn validate_combination(&self, verb: Option<&Verb>, motion: Option<&Motion>) -> CmdState { + if verb.is_none() { + match motion { + Some(Motion::TextObj(_,_)) => return CmdState::Invalid, + Some(_) => return CmdState::Complete, + None => return CmdState::Pending + } + } + if verb.is_some() && motion.is_none() { + match verb.unwrap() { + Verb::Put(_) | + Verb::DeleteChar(_) => CmdState::Complete, + _ => CmdState::Pending + } + } else { + CmdState::Complete + } + } + pub fn parse_count(&self, chars: &mut Peekable>) -> Option { + let mut count = String::new(); + let Some(_digit @ '1'..='9') = chars.peek() else { + return None + }; + count.push(chars.next().unwrap()); + while let Some(_digit @ '0'..='9') = chars.peek() { + count.push(chars.next().unwrap()); + } + if !count.is_empty() { + count.parse::().ok() + } else { + None + } + } + /// End the parse and clear the pending sequence + #[track_caller] + pub fn quit_parse(&mut self) -> Option { + flog!(DEBUG, std::panic::Location::caller()); + flog!(WARN, "exiting parse early with sequence: {}",self.pending_seq); + self.clear_cmd(); + None + } + pub fn try_parse(&mut self, ch: char) -> Option { + self.pending_seq.push(ch); + let mut chars = self.pending_seq.chars().peekable(); + + let register = 'reg_parse: { + let mut chars_clone = chars.clone(); + let count = self.parse_count(&mut chars_clone); + + let Some('"') = chars_clone.next() else { + break 'reg_parse RegisterName::default() + }; + + let Some(reg_name) = chars_clone.next() else { + return None // Pending register name + }; + match reg_name { + 'a'..='z' | + 'A'..='Z' => { /* proceed */ } + _ => return self.quit_parse() + } + + chars = chars_clone; + RegisterName::new(Some(reg_name), count) + }; + + let verb = 'verb_parse: { + let mut chars_clone = chars.clone(); + let count = self.parse_count(&mut chars_clone).unwrap_or(1); + + let Some(ch) = chars_clone.next() else { + break 'verb_parse None + }; + match ch { + '.' => { + return Some( + ViCmd { + register, + verb: Some(VerbCmd(count, Verb::RepeatLast)), + motion: None, + raw_seq: self.take_cmd(), + } + ) + } + 'x' => { + chars = chars_clone; + break 'verb_parse Some(VerbCmd(count, Verb::DeleteChar(Anchor::After))); + } + 'X' => { + chars = chars_clone; + break 'verb_parse Some(VerbCmd(count, Verb::DeleteChar(Anchor::Before))); + } + 'p' => { + chars = chars_clone; + break 'verb_parse Some(VerbCmd(count, Verb::Put(Anchor::After))); + } + 'P' => { + chars = chars_clone; + break 'verb_parse Some(VerbCmd(count, Verb::Put(Anchor::Before))); + } + '>' => { + chars = chars_clone; + break 'verb_parse Some(VerbCmd(count, Verb::Indent)); + } + '<' => { + chars = chars_clone; + break 'verb_parse Some(VerbCmd(count, Verb::Dedent)); + } + 'r' => { + let ch = chars_clone.next()?; + return Some( + ViCmd { + register, + verb: Some(VerbCmd(1, Verb::ReplaceChar(ch))), + motion: Some(MotionCmd(count, Motion::ForwardChar)), + raw_seq: self.take_cmd() + } + ) + } + 'R' => { + return Some( + ViCmd { + register, + verb: Some(VerbCmd(count, Verb::ReplaceMode)), + motion: None, + raw_seq: self.take_cmd() + } + ) + } + '~' => { + return Some( + ViCmd { + register, + verb: Some(VerbCmd(1, Verb::ToggleCase)), + motion: Some(MotionCmd(count, Motion::ForwardChar)), + raw_seq: self.take_cmd() + } + ) + } + 'u' => { + return Some( + ViCmd { + register, + verb: Some(VerbCmd(count, Verb::Undo)), + motion: None, + raw_seq: self.take_cmd() + } + ) + } + 'o' => { + return Some( + ViCmd { + register, + verb: Some(VerbCmd(count, Verb::InsertModeLineBreak(Anchor::After))), + motion: None, + raw_seq: self.take_cmd() + } + ) + } + 'O' => { + return Some( + ViCmd { + register, + verb: Some(VerbCmd(count, Verb::InsertModeLineBreak(Anchor::Before))), + motion: None, + raw_seq: self.take_cmd() + } + ) + } + 'a' => { + return Some( + ViCmd { + register, + verb: Some(VerbCmd(count, Verb::InsertMode)), + motion: Some(MotionCmd(1, Motion::ForwardChar)), + raw_seq: self.take_cmd() + } + ) + } + 'A' => { + return Some( + ViCmd { + register, + verb: Some(VerbCmd(count, Verb::InsertMode)), + motion: Some(MotionCmd(1, Motion::EndOfLine)), + raw_seq: self.take_cmd() + } + ) + } + 'i' => { + return Some( + ViCmd { + register, + verb: Some(VerbCmd(count, Verb::InsertMode)), + motion: None, + raw_seq: self.take_cmd() + } + ) + } + 'I' => { + return Some( + ViCmd { + register, + verb: Some(VerbCmd(count, Verb::InsertMode)), + motion: Some(MotionCmd(1, Motion::BeginningOfFirstWord)), + raw_seq: self.take_cmd() + } + ) + } + 'J' => { + return Some( + ViCmd { + register, + verb: Some(VerbCmd(count, Verb::JoinLines)), + motion: None, + raw_seq: self.take_cmd() + } + ) + } + 'y' => { + chars = chars_clone; + break 'verb_parse Some(VerbCmd(count, Verb::Yank)) + } + 'd' => { + chars = chars_clone; + break 'verb_parse Some(VerbCmd(count, Verb::Delete)) + } + 'c' => { + chars = chars_clone; + break 'verb_parse Some(VerbCmd(count, Verb::Change)) + } + 'Y' => { + return Some( + ViCmd { + register, + verb: Some(VerbCmd(count, Verb::Yank)), + motion: Some(MotionCmd(1, Motion::EndOfLine)), + raw_seq: self.take_cmd() + } + ) + } + 'D' => { + return Some( + ViCmd { + register, + verb: Some(VerbCmd(count, Verb::Delete)), + motion: Some(MotionCmd(1, Motion::EndOfLine)), + raw_seq: self.take_cmd() + } + ) + } + 'C' => { + return Some( + ViCmd { + register, + verb: Some(VerbCmd(count, Verb::Change)), + motion: Some(MotionCmd(1, Motion::EndOfLine)), + raw_seq: self.take_cmd() + } + ) + } + '=' => { + chars = chars_clone; + break 'verb_parse Some(VerbCmd(count, Verb::Equalize)) + } + _ => break 'verb_parse None + } + }; + + let motion = 'motion_parse: { + let mut chars_clone = chars.clone(); + let count = self.parse_count(&mut chars_clone).unwrap_or(1); + + let Some(ch) = chars_clone.next() else { + break 'motion_parse None + }; + match (ch, &verb) { + ('d', Some(VerbCmd(_,Verb::Delete))) | + ('c', Some(VerbCmd(_,Verb::Change))) | + ('y', Some(VerbCmd(_,Verb::Yank))) | + ('=', Some(VerbCmd(_,Verb::Equalize))) | + ('>', Some(VerbCmd(_,Verb::Indent))) | + ('<', Some(VerbCmd(_,Verb::Dedent))) => break 'motion_parse Some(MotionCmd(count, Motion::WholeLine)), + _ => {} + } + match ch { + 'g' => { + if let Some(ch) = chars_clone.peek() { + match ch { + 'g' => { + chars_clone.next(); + chars = chars_clone; + break 'motion_parse Some(MotionCmd(count, Motion::BeginningOfBuffer)) + } + 'e' => { + chars = chars_clone; + break 'motion_parse Some(MotionCmd(count, Motion::BackwardWord(To::End, Word::Normal))); + } + 'E' => { + chars = chars_clone; + break 'motion_parse Some(MotionCmd(count, Motion::BackwardWord(To::End, Word::Big))); + } + 'k' => { + chars = chars_clone; + break 'motion_parse Some(MotionCmd(count, Motion::ScreenLineUp)); + } + 'j' => { + chars = chars_clone; + break 'motion_parse Some(MotionCmd(count, Motion::ScreenLineDown)); + } + _ => return self.quit_parse() + } + } else { + break 'motion_parse None + } + } + 'f' => { + let Some(ch) = chars_clone.peek() else { + break 'motion_parse None + }; + + break 'motion_parse Some(MotionCmd(count, Motion::CharSearch(Direction::Forward, Dest::On, (*ch).into()))) + } + 'F' => { + let Some(ch) = chars_clone.peek() else { + break 'motion_parse None + }; + + break 'motion_parse Some(MotionCmd(count, Motion::CharSearch(Direction::Backward, Dest::On, (*ch).into()))) + } + 't' => { + let Some(ch) = chars_clone.peek() else { + break 'motion_parse None + }; + + break 'motion_parse Some(MotionCmd(count, Motion::CharSearch(Direction::Forward, Dest::Before, (*ch).into()))) + } + 'T' => { + let Some(ch) = chars_clone.peek() else { + break 'motion_parse None + }; + + break 'motion_parse Some(MotionCmd(count, Motion::CharSearch(Direction::Backward, Dest::Before, (*ch).into()))) + } + ';' => { + chars = chars_clone; + break 'motion_parse Some(MotionCmd(count, Motion::RepeatMotion)); + } + ',' => { + chars = chars_clone; + break 'motion_parse Some(MotionCmd(count, Motion::RepeatMotionRev)); + } + '|' => { + chars = chars_clone; + break 'motion_parse Some(MotionCmd(1, Motion::ToColumn(count))); + } + '0' => { + chars = chars_clone; + break 'motion_parse Some(MotionCmd(count, Motion::BeginningOfLine)); + } + '$' => { + chars = chars_clone; + break 'motion_parse Some(MotionCmd(count, Motion::EndOfLine)); + } + 'k' => { + chars = chars_clone; + break 'motion_parse Some(MotionCmd(count, Motion::LineUp)); + } + 'j' => { + chars = chars_clone; + break 'motion_parse Some(MotionCmd(count, Motion::LineDown)); + } + 'h' => { + chars = chars_clone; + break 'motion_parse Some(MotionCmd(count, Motion::BackwardChar)); + } + 'l' => { + chars = chars_clone; + break 'motion_parse Some(MotionCmd(count, Motion::ForwardChar)); + } + 'w' => { + chars = chars_clone; + break 'motion_parse Some(MotionCmd(count, Motion::ForwardWord(To::Start, Word::Normal))); + } + 'W' => { + chars = chars_clone; + break 'motion_parse Some(MotionCmd(count, Motion::ForwardWord(To::Start, Word::Big))); + } + 'e' => { + chars = chars_clone; + break 'motion_parse Some(MotionCmd(count, Motion::ForwardWord(To::End, Word::Normal))); + } + 'E' => { + chars = chars_clone; + break 'motion_parse Some(MotionCmd(count, Motion::ForwardWord(To::End, Word::Big))); + } + 'b' => { + chars = chars_clone; + break 'motion_parse Some(MotionCmd(count, Motion::BackwardWord(To::Start, Word::Normal))); + } + 'B' => { + chars = chars_clone; + break 'motion_parse Some(MotionCmd(count, Motion::BackwardWord(To::Start, Word::Big))); + } + ch if ch == 'i' || ch == 'a' => { + let bound = match ch { + 'i' => Bound::Inside, + 'a' => Bound::Around, + _ => unreachable!() + }; + if chars_clone.peek().is_none() { + break 'motion_parse None + } + let obj = match chars_clone.next().unwrap() { + 'w' => TextObj::Word(Word::Normal), + 'W' => TextObj::Word(Word::Big), + '"' => TextObj::DoubleQuote, + '\'' => TextObj::SingleQuote, + '(' | ')' | 'b' => TextObj::Paren, + '{' | '}' | 'B' => TextObj::Brace, + '[' | ']' => TextObj::Bracket, + '<' | '>' => TextObj::Angle, + _ => return self.quit_parse() + }; + chars = chars_clone; + break 'motion_parse Some(MotionCmd(count, Motion::TextObj(obj, bound))) + } + _ => return self.quit_parse(), + } + }; + + if chars.peek().is_some() { + flog!(WARN, "Unused characters in Vi command parse!"); + flog!(WARN, "{:?}",chars) + } + + let verb_ref = verb.as_ref().map(|v| &v.1); + let motion_ref = motion.as_ref().map(|m| &m.1); + + match self.validate_combination(verb_ref, motion_ref) { + CmdState::Complete => { + let cmd = Some( + ViCmd { + register, + verb, + motion, + raw_seq: std::mem::take(&mut self.pending_seq) + } + ); + cmd + } + CmdState::Pending => { + None + } + CmdState::Invalid => { + self.pending_seq.clear(); + None + } + } + } +} + +impl ViMode for ViNormal { + fn handle_key(&mut self, key: E) -> Option { + match key { + E(K::Char(ch), M::NONE) => self.try_parse(ch), + E(K::Backspace, M::NONE) => { + Some(ViCmd { + register: Default::default(), + verb: None, + motion: Some(MotionCmd(1, Motion::BackwardChar)), + raw_seq: "".into(), + }) + } + E(K::Char('R'), M::CTRL) => { + let mut chars = self.pending_seq.chars().peekable(); + let count = self.parse_count(&mut chars).unwrap_or(1); + Some( + ViCmd { + register: RegisterName::default(), + verb: Some(VerbCmd(count,Verb::Redo)), + motion: None, + raw_seq: self.take_cmd() + } + ) + } + E(K::Esc, M::NONE) => { + self.clear_cmd(); + None + } + _ => { + if let Some(cmd) = common_cmds(key) { + self.clear_cmd(); + Some(cmd) + } else { + None + } + } + } + } + + fn is_repeatable(&self) -> bool { + false + } + + fn as_replay(&self) -> Option { + None + } + + fn cursor_style(&self) -> String { + "\x1b[2 q".to_string() + } + + fn pending_seq(&self) -> Option { + Some(self.pending_seq.clone()) + } + + fn move_cursor_on_undo(&self) -> bool { + false + } + fn clamp_cursor(&self) -> bool { + true + } + fn hist_scroll_start_pos(&self) -> Option { + None + } +} + +pub fn common_cmds(key: E) -> Option { + let mut pending_cmd = ViCmd::new(); + match key { + E(K::Home, M::NONE) => pending_cmd.set_motion(MotionCmd(1,Motion::BeginningOfLine)), + E(K::End, M::NONE) => pending_cmd.set_motion(MotionCmd(1,Motion::EndOfLine)), + E(K::Left, M::NONE) => pending_cmd.set_motion(MotionCmd(1,Motion::BackwardChar)), + E(K::Right, M::NONE) => pending_cmd.set_motion(MotionCmd(1,Motion::ForwardChar)), + E(K::Up, M::NONE) => pending_cmd.set_motion(MotionCmd(1,Motion::LineUp)), + E(K::Down, M::NONE) => pending_cmd.set_motion(MotionCmd(1,Motion::LineDown)), + E(K::Enter, M::NONE) => pending_cmd.set_verb(VerbCmd(1,Verb::AcceptLine)), + E(K::Char('D'), M::CTRL) => pending_cmd.set_verb(VerbCmd(1,Verb::EndOfFile)), + E(K::Delete, M::NONE) => pending_cmd.set_verb(VerbCmd(1,Verb::DeleteChar(Anchor::After))), + E(K::Backspace, M::NONE) | + E(K::Char('H'), M::CTRL) => pending_cmd.set_verb(VerbCmd(1,Verb::DeleteChar(Anchor::Before))), + _ => return None + } + Some(pending_cmd) +} diff --git a/src/prompt/readline/register.rs b/src/prompt/readline/register.rs new file mode 100644 index 0000000..5fdc12d --- /dev/null +++ b/src/prompt/readline/register.rs @@ -0,0 +1,168 @@ +use std::sync::Mutex; + +pub static REGISTERS: Mutex = Mutex::new(Registers::new()); + +pub fn read_register(ch: Option) -> Option { + let lock = REGISTERS.lock().unwrap(); + lock.get_reg(ch).map(|r| r.buf().clone()) +} + +pub fn write_register(ch: Option, buf: String) { + let mut lock = REGISTERS.lock().unwrap(); + if let Some(r) = lock.get_reg_mut(ch) { r.write(buf) } +} + +pub fn append_register(ch: Option, buf: String) { + let mut lock = REGISTERS.lock().unwrap(); + if let Some(r) = lock.get_reg_mut(ch) { r.append(buf) } +} + +#[derive(Default,Debug)] +pub struct Registers { + default: Register, + a: Register, + b: Register, + c: Register, + d: Register, + e: Register, + f: Register, + g: Register, + h: Register, + i: Register, + j: Register, + k: Register, + l: Register, + m: Register, + n: Register, + o: Register, + p: Register, + q: Register, + r: Register, + s: Register, + t: Register, + u: Register, + v: Register, + w: Register, + x: Register, + y: Register, + z: Register, +} + +impl Registers { + pub const fn new() -> Self { + Self { + default: Register(String::new()), + a: Register(String::new()), + b: Register(String::new()), + c: Register(String::new()), + d: Register(String::new()), + e: Register(String::new()), + f: Register(String::new()), + g: Register(String::new()), + h: Register(String::new()), + i: Register(String::new()), + j: Register(String::new()), + k: Register(String::new()), + l: Register(String::new()), + m: Register(String::new()), + n: Register(String::new()), + o: Register(String::new()), + p: Register(String::new()), + q: Register(String::new()), + r: Register(String::new()), + s: Register(String::new()), + t: Register(String::new()), + u: Register(String::new()), + v: Register(String::new()), + w: Register(String::new()), + x: Register(String::new()), + y: Register(String::new()), + z: Register(String::new()), + } + } + pub fn get_reg(&self, ch: Option) -> Option<&Register> { + let Some(ch) = ch else { + return Some(&self.default) + }; + match ch { + 'a' => Some(&self.a), + 'b' => Some(&self.b), + 'c' => Some(&self.c), + 'd' => Some(&self.d), + 'e' => Some(&self.e), + 'f' => Some(&self.f), + 'g' => Some(&self.g), + 'h' => Some(&self.h), + 'i' => Some(&self.i), + 'j' => Some(&self.j), + 'k' => Some(&self.k), + 'l' => Some(&self.l), + 'm' => Some(&self.m), + 'n' => Some(&self.n), + 'o' => Some(&self.o), + 'p' => Some(&self.p), + 'q' => Some(&self.q), + 'r' => Some(&self.r), + 's' => Some(&self.s), + 't' => Some(&self.t), + 'u' => Some(&self.u), + 'v' => Some(&self.v), + 'w' => Some(&self.w), + 'x' => Some(&self.x), + 'y' => Some(&self.y), + 'z' => Some(&self.z), + _ => None + } + } + pub fn get_reg_mut(&mut self, ch: Option) -> Option<&mut Register> { + let Some(ch) = ch else { + return Some(&mut self.default) + }; + match ch { + 'a' => Some(&mut self.a), + 'b' => Some(&mut self.b), + 'c' => Some(&mut self.c), + 'd' => Some(&mut self.d), + 'e' => Some(&mut self.e), + 'f' => Some(&mut self.f), + 'g' => Some(&mut self.g), + 'h' => Some(&mut self.h), + 'i' => Some(&mut self.i), + 'j' => Some(&mut self.j), + 'k' => Some(&mut self.k), + 'l' => Some(&mut self.l), + 'm' => Some(&mut self.m), + 'n' => Some(&mut self.n), + 'o' => Some(&mut self.o), + 'p' => Some(&mut self.p), + 'q' => Some(&mut self.q), + 'r' => Some(&mut self.r), + 's' => Some(&mut self.s), + 't' => Some(&mut self.t), + 'u' => Some(&mut self.u), + 'v' => Some(&mut self.v), + 'w' => Some(&mut self.w), + 'x' => Some(&mut self.x), + 'y' => Some(&mut self.y), + 'z' => Some(&mut self.z), + _ => None + } + } +} + +#[derive(Clone,Default,Debug)] +pub struct Register(String); +impl Register { + pub fn buf(&self) -> &String { + &self.0 + } + pub fn write(&mut self, buf: String) { + self.0 = buf + } + pub fn append(&mut self, buf: String) { + self.0.push_str(&buf) + } + pub fn clear(&mut self) { + self.0.clear() + } +} diff --git a/src/prompt/readline/term.rs b/src/prompt/readline/term.rs new file mode 100644 index 0000000..9e5f558 --- /dev/null +++ b/src/prompt/readline/term.rs @@ -0,0 +1,369 @@ +use std::{os::fd::{BorrowedFd, RawFd}, thread::sleep, time::{Duration, Instant}}; +use nix::{errno::Errno, fcntl::{fcntl, FcntlArg, OFlag}, libc::{self, STDIN_FILENO}, sys::termios, unistd::{isatty, read, write}}; +use nix::libc::{winsize, TIOCGWINSZ}; +use unicode_width::UnicodeWidthChar; +use std::mem::zeroed; +use std::io; + +use crate::libsh::error::ShResult; +use crate::prelude::*; + +use super::keys::{KeyCode, KeyEvent, ModKeys}; + +#[derive(Default,Debug)] +struct WriteMap { + lines: usize, + cols: usize, + offset: usize +} + +#[derive(Debug)] +pub struct Terminal { + stdin: RawFd, + stdout: RawFd, + recording: bool, + write_records: WriteMap, + cursor_records: WriteMap +} + +impl Terminal { + pub fn new() -> Self { + assert!(isatty(STDIN_FILENO).unwrap()); + Self { + stdin: STDIN_FILENO, + stdout: 1, + recording: false, + // Records for buffer writes + // Used to find the start of the buffer + write_records: WriteMap::default(), + // Records for cursor movements after writes + // Used to find the end of the buffer + cursor_records: WriteMap::default(), + } + } + + fn raw_mode() -> termios::Termios { + let orig = termios::tcgetattr(unsafe{BorrowedFd::borrow_raw(STDIN_FILENO)}).expect("Failed to get terminal attributes"); + let mut raw = orig.clone(); + termios::cfmakeraw(&mut raw); + termios::tcsetattr(unsafe{BorrowedFd::borrow_raw(STDIN_FILENO)}, termios::SetArg::TCSANOW, &raw) + .expect("Failed to set terminal to raw mode"); + orig + } + + pub fn restore_termios(termios: termios::Termios) { + termios::tcsetattr(unsafe{BorrowedFd::borrow_raw(STDIN_FILENO)}, termios::SetArg::TCSANOW, &termios) + .expect("Failed to restore terminal settings"); + } + + + pub fn get_dimensions(&self) -> ShResult<(usize, usize)> { + if !isatty(self.stdin).unwrap_or(false) { + return Err(io::Error::new(io::ErrorKind::Other, "Not a TTY"))?; + } + + let mut ws: winsize = unsafe { zeroed() }; + + let res = unsafe { libc::ioctl(self.stdin, TIOCGWINSZ, &mut ws) }; + if res == -1 { + return Err(io::Error::last_os_error())?; + } + + Ok((ws.ws_row as usize, ws.ws_col as usize)) + } + + pub fn start_recording(&mut self, offset: usize) { + self.recording = true; + self.write_records.offset = offset; + } + + pub fn stop_recording(&mut self) { + self.recording = false; + } + + pub fn save_cursor_pos(&mut self) { + self.write("\x1b[s") + } + + pub fn restore_cursor_pos(&mut self) { + self.write("\x1b[u") + } + + pub fn move_cursor_to(&mut self, (row,col): (usize,usize)) { + self.write(&format!("\x1b[{row};{col}H",)) + } + + pub fn with_raw_mode R, R>(func: F) -> R { + let saved = Self::raw_mode(); + let result = std::panic::catch_unwind(std::panic::AssertUnwindSafe(func)); + Self::restore_termios(saved); + match result { + Ok(r) => r, + Err(e) => std::panic::resume_unwind(e), + } + } + + pub fn read_byte(&self, buf: &mut [u8]) -> usize { + Self::with_raw_mode(|| { + read(self.stdin, buf).expect("Failed to read from stdin") + }) + } + + fn read_blocks_then_read(&self, buf: &mut [u8], timeout: Duration) -> Option { + Self::with_raw_mode(|| { + self.read_blocks(false); + let start = Instant::now(); + loop { + match read(self.stdin, buf) { + Ok(n) if n > 0 => { + self.read_blocks(true); + return Some(n); + } + Ok(_) => {} + Err(e) if e == Errno::EAGAIN => {} + Err(_) => return None, + } + if start.elapsed() > timeout { + self.read_blocks(true); + return None; + } + sleep(Duration::from_millis(1)); + } + }) + } + + /// Same as read_byte(), only non-blocking with a very short timeout + pub fn peek_byte(&self, buf: &mut [u8]) -> usize { + const TIMEOUT_DUR: Duration = Duration::from_millis(50); + Self::with_raw_mode(|| { + self.read_blocks(false); + + let start = Instant::now(); + loop { + match read(self.stdin, buf) { + Ok(n) if n > 0 => { + self.read_blocks(true); + return n + } + Ok(_) => {} + Err(Errno::EAGAIN) => {} + Err(e) => panic!("nonblocking read failed: {e}") + } + + if start.elapsed() >= TIMEOUT_DUR { + self.read_blocks(true); + return 0 + } + + sleep(Duration::from_millis(1)); + } + }) + } + + pub fn read_blocks(&self, yn: bool) { + let flags = OFlag::from_bits_truncate(fcntl(self.stdin, FcntlArg::F_GETFL).unwrap()); + let new_flags = if !yn { + flags | OFlag::O_NONBLOCK + } else { + flags & !OFlag::O_NONBLOCK + }; + fcntl(self.stdin, FcntlArg::F_SETFL(new_flags)).unwrap(); + } + + pub fn reset_records(&mut self) { + self.write_records = Default::default(); + self.cursor_records = Default::default(); + } + + pub fn recorded_write(&mut self, buf: &str, offset: usize) -> ShResult<()> { + self.start_recording(offset); + self.write(buf); + self.stop_recording(); + Ok(()) + } + + /// Rewinds terminal writing, clears lines and lands on the anchor point of the prompt + pub fn unwrite(&mut self) -> ShResult<()> { + self.unposition_cursor()?; + let WriteMap { lines, cols, offset } = self.write_records; + for _ in 0..lines { + self.write("\x1b[2K\x1b[A") + } + let col = offset; + self.write(&format!("\x1b[{col}G\x1b[0K")); + self.reset_records(); + Ok(()) + } + + pub fn position_cursor(&mut self, (lines,col): (usize,usize)) -> ShResult<()> { + flog!(DEBUG,lines); + self.cursor_records.lines = lines; + self.cursor_records.cols = col; + self.cursor_records.offset = self.cursor_pos().1; + + for _ in 0..lines { + self.write("\x1b[A") + } + + self.write(&format!("\x1b[{col}G")); + + Ok(()) + } + + /// Rewinds cursor positioning, lands on the end of the buffer + pub fn unposition_cursor(&mut self) ->ShResult<()> { + let WriteMap { lines, cols, offset } = self.cursor_records; + + for _ in 0..lines { + self.write("\x1b[B") + } + + self.write(&format!("\x1b[{offset}G")); + + Ok(()) + } + + pub fn write_bytes(&mut self, buf: &[u8]) { + if self.recording { + let (_, width) = self.get_dimensions().unwrap(); + let mut bytes = buf.iter().map(|&b| b as char).peekable(); + while let Some(ch) = bytes.next() { + match ch { + '\n' => { + self.write_records.lines += 1; + self.write_records.cols = 0; + } + '\r' => { + self.write_records.cols = 0; + } + // Consume escape sequences + '\x1b' if bytes.peek() == Some(&'[') => { + bytes.next(); + while let Some(&ch) = bytes.peek() { + if ch.is_ascii_alphabetic() { + bytes.next(); + break + } else { + bytes.next(); + } + } + } + '\t' => { + let tab_size = 8; + let next_tab = tab_size - (self.write_records.cols % tab_size); + self.write_records.cols += next_tab; + if self.write_records.cols > width { + self.write_records.lines += 1; + self.write_records.cols = 0; + } + } + _ if ch.is_control() => { + // ignore control characters for visual width + } + _ => { + let ch_width = ch.width().unwrap_or(0); + if self.write_records.cols + ch_width > width { + self.write_records.lines += 1; + self.write_records.cols = 0; + } + self.write_records.cols += ch_width; + } + } + } + } + write(unsafe { BorrowedFd::borrow_raw(self.stdout) }, buf).expect("Failed to write to stdout"); + } + + + pub fn write(&mut self, s: &str) { + self.write_bytes(s.as_bytes()); + } + + pub fn writeln(&mut self, s: &str) { + self.write(s); + self.write_bytes(b"\n"); + } + + pub fn clear(&mut self) { + self.write_bytes(b"\x1b[2J\x1b[H"); + } + + pub fn read_key(&self) -> KeyEvent { + use core::str; + + let mut buf = [0u8; 8]; + let mut collected = Vec::with_capacity(5); + + loop { + let n = self.read_byte(&mut buf[..1]); // Read one byte at a time + if n == 0 { + continue; + } + collected.push(buf[0]); + + // ESC sequences + if collected[0] == 0x1b && collected.len() == 1 { + // Peek next byte if any + let n = self.peek_byte(&mut buf[..1]); + if n == 0 { + return KeyEvent(KeyCode::Esc, ModKeys::empty()); + } + collected.push(buf[0]); + + if buf[0] == b'[' { + // Read third byte + let _ = self.read_byte(&mut buf[..1]); + collected.push(buf[0]); + + return match buf[0] { + b'A' => KeyEvent(KeyCode::Up, ModKeys::empty()), + b'B' => KeyEvent(KeyCode::Down, ModKeys::empty()), + b'C' => KeyEvent(KeyCode::Right, ModKeys::empty()), + b'D' => KeyEvent(KeyCode::Left, ModKeys::empty()), + _ => KeyEvent(KeyCode::Esc, ModKeys::empty()), + }; + } + + return KeyEvent(KeyCode::Esc, ModKeys::empty()); + } + + // Try parse valid UTF-8 from collected bytes + if let Ok(s) = str::from_utf8(&collected) { + return KeyEvent::new(s, ModKeys::empty()); + } + + // If it's not valid UTF-8 yet, loop to collect more bytes + if collected.len() >= 4 { + // UTF-8 max char length is 4; if it's still invalid, give up + break; + } + } + + KeyEvent(KeyCode::Null, ModKeys::empty()) + } + + pub fn cursor_pos(&mut self) -> (usize, usize) { + self.write("\x1b[6n"); + let mut buf = [0u8;32]; + let n = self.read_byte(&mut buf); + + + let response = std::str::from_utf8(&buf[..n]).unwrap_or(""); + let mut row = 0; + let mut col = 0; + if let Some(caps) = response.strip_prefix("\x1b[").and_then(|s| s.strip_suffix("R")) { + let mut parts = caps.split(';'); + if let (Some(rowstr), Some(colstr)) = (parts.next(), parts.next()) { + row = rowstr.parse().unwrap_or(1); + col = colstr.parse().unwrap_or(1); + } + } + (row,col) + } +} + +impl Default for Terminal { + fn default() -> Self { + Self::new() + } +} diff --git a/src/prompt/readline/vicmd.rs b/src/prompt/readline/vicmd.rs new file mode 100644 index 0000000..0a251ff --- /dev/null +++ b/src/prompt/readline/vicmd.rs @@ -0,0 +1,358 @@ +use super::register::{append_register, read_register, write_register}; + +#[derive(Clone,Copy,Debug)] +pub struct RegisterName { + name: Option, + count: usize, + append: bool +} + +impl RegisterName { + pub fn new(name: Option, count: Option) -> Self { + let Some(ch) = name else { + return Self::default() + }; + + let append = ch.is_uppercase(); + let name = ch.to_ascii_lowercase(); + Self { + name: Some(name), + count: count.unwrap_or(1), + append + } + } + pub fn name(&self) -> Option { + self.name + } + pub fn is_append(&self) -> bool { + self.append + } + pub fn count(&self) -> usize { + self.count + } + pub fn write_to_register(&self, buf: String) { + if self.append { + append_register(self.name, buf); + } else { + write_register(self.name, buf); + } + } + pub fn read_from_register(&self) -> Option { + read_register(self.name) + } +} + +impl Default for RegisterName { + fn default() -> Self { + Self { + name: None, + count: 1, + append: false + } + } +} + +#[derive(Clone,Default,Debug)] +pub struct ViCmd { + pub register: RegisterName, + pub verb: Option, + pub motion: Option, + pub raw_seq: String, +} + +impl ViCmd { + pub fn new() -> Self { + Self::default() + } + pub fn set_motion(&mut self, motion: MotionCmd) { + self.motion = Some(motion) + } + pub fn set_verb(&mut self, verb: VerbCmd) { + self.verb = Some(verb) + } + pub fn verb(&self) -> Option<&VerbCmd> { + self.verb.as_ref() + } + pub fn motion(&self) -> Option<&MotionCmd> { + self.motion.as_ref() + } + pub fn verb_count(&self) -> usize { + self.verb.as_ref().map(|v| v.0).unwrap_or(1) + } + pub fn motion_count(&self) -> usize { + self.motion.as_ref().map(|m| m.0).unwrap_or(1) + } + pub fn is_repeatable(&self) -> bool { + self.verb.as_ref().is_some_and(|v| v.1.is_repeatable()) + } + pub fn is_cmd_repeat(&self) -> bool { + self.verb.as_ref().is_some_and(|v| matches!(v.1,Verb::RepeatLast)) + } + pub fn is_motion_repeat(&self) -> bool { + self.motion.as_ref().is_some_and(|m| matches!(m.1,Motion::RepeatMotion | Motion::RepeatMotionRev)) + } + pub fn is_char_search(&self) -> bool { + self.motion.as_ref().is_some_and(|m| matches!(m.1, Motion::CharSearch(..))) + } + pub fn should_submit(&self) -> bool { + self.verb.as_ref().is_some_and(|v| matches!(v.1, Verb::AcceptLine)) + } + pub fn is_undo_op(&self) -> bool { + self.verb.as_ref().is_some_and(|v| matches!(v.1, Verb::Undo | Verb::Redo)) + } + pub fn is_line_motion(&self) -> bool { + self.motion.as_ref().is_some_and(|m| matches!(m.1, Motion::LineUp | Motion::LineDown)) + } + pub fn is_mode_transition(&self) -> bool { + self.verb.as_ref().is_some_and(|v| { + matches!(v.1, + Verb::Change | + Verb::InsertMode | + Verb::InsertModeLineBreak(_) | + Verb::NormalMode | + Verb::VisualMode | + Verb::ReplaceMode + ) + }) + } +} + +#[derive(Clone,Debug)] +pub struct VerbCmd(pub usize,pub Verb); +#[derive(Clone,Debug)] +pub struct MotionCmd(pub usize,pub Motion); + +impl MotionCmd { + pub fn invert_char_motion(self) -> Self { + let MotionCmd(count,Motion::CharSearch(dir, dest, ch)) = self else { + unreachable!() + }; + let new_dir = match dir { + Direction::Forward => Direction::Backward, + Direction::Backward => Direction::Forward, + }; + MotionCmd(count,Motion::CharSearch(new_dir, dest, ch)) + } +} + +#[derive(Debug, Clone, Eq, PartialEq)] +#[non_exhaustive] +pub enum Verb { + Delete, + DeleteChar(Anchor), + Change, + Yank, + ReplaceChar(char), + Substitute, + ToggleCase, + Complete, + CompleteBackward, + Undo, + Redo, + RepeatLast, + Put(Anchor), + ReplaceMode, + InsertMode, + InsertModeLineBreak(Anchor), + NormalMode, + VisualMode, + JoinLines, + InsertChar(char), + Insert(String), + Breakline(Anchor), + Indent, + Dedent, + Equalize, + AcceptLine, + Builder(VerbBuilder), + EndOfFile +} + +#[derive(Debug, Clone, Eq, PartialEq)] +pub enum VerbBuilder { +} + +impl Verb { + pub fn needs_motion(&self) -> bool { + matches!(self, + Self::Indent | + Self::Dedent | + Self::Delete | + Self::Change | + Self::Yank + ) + } + pub fn is_repeatable(&self) -> bool { + matches!(self, + Self::Delete | + Self::DeleteChar(_) | + Self::Change | + Self::ReplaceChar(_) | + Self::Substitute | + Self::ToggleCase | + Self::Put(_) | + Self::ReplaceMode | + Self::InsertModeLineBreak(_) | + Self::JoinLines | + Self::InsertChar(_) | + Self::Insert(_) | + Self::Breakline(_) | + Self::Indent | + Self::Dedent | + Self::Equalize + ) + } + pub fn is_edit(&self) -> bool { + matches!(self, + Self::Delete | + Self::DeleteChar(_) | + Self::Change | + Self::ReplaceChar(_) | + Self::Substitute | + Self::ToggleCase | + Self::RepeatLast | + Self::Put(_) | + Self::ReplaceMode | + Self::InsertModeLineBreak(_) | + Self::JoinLines | + Self::InsertChar(_) | + Self::Insert(_) | + Self::Breakline(_) | + Self::EndOfFile + ) + } + pub fn is_char_insert(&self) -> bool { + matches!(self, + Self::Change | + Self::InsertChar(_) | + Self::ReplaceChar(_) + ) + } +} + +#[derive(Debug, Clone, Eq, PartialEq)] +pub enum Motion { + /// Whole current line (not really a movement but a range) + WholeLine, + TextObj(TextObj, Bound), + BeginningOfFirstWord, + /// beginning-of-line + BeginningOfLine, + /// end-of-line + EndOfLine, + /// backward-word, vi-prev-word + BackwardWord(To, Word), // Backward until start of word + /// forward-word, vi-end-word, vi-next-word + ForwardWord(To, Word), // Forward until start/end of word + /// character-search, character-search-backward, vi-char-search + CharSearch(Direction,Dest,char), + /// backward-char + BackwardChar, + /// forward-char + ForwardChar, + /// move to the same column on the previous line + LineUp, + /// move to the same column on the previous visual line + ScreenLineUp, + /// move to the same column on the next line + LineDown, + /// move to the same column on the next visual line + ScreenLineDown, + /// Whole user input (not really a movement but a range) + WholeBuffer, + /// beginning-of-register + BeginningOfBuffer, + /// end-of-register + EndOfBuffer, + ToColumn(usize), + Range(usize,usize), + Builder(MotionBuilder), + RepeatMotion, + RepeatMotionRev, + Null +} + +#[derive(Debug, Clone, Eq, PartialEq)] +pub enum MotionBuilder { + CharSearch(Option,Option,Option), + TextObj(Option,Option) +} + +impl Motion { + pub fn needs_verb(&self) -> bool { + matches!(self, Self::TextObj(_, _)) + } +} + +#[derive(Debug, Clone, Eq, PartialEq)] +pub enum Anchor { + After, + Before +} +#[derive(Debug, Clone, Eq, PartialEq)] +pub enum TextObj { + /// `iw`, `aw` — inner word, around word + Word(Word), + + /// for stuff like 'dd' + Line, + + /// `is`, `as` — inner sentence, around sentence + Sentence, + + /// `ip`, `ap` — inner paragraph, around paragraph + Paragraph, + + /// `i"`, `a"` — inner/around double quotes + DoubleQuote, + /// `i'`, `a'` + SingleQuote, + /// `i\``, `a\`` + BacktickQuote, + + /// `i)`, `a)` — round parens + Paren, + /// `i]`, `a]` + Bracket, + /// `i}`, `a}` + Brace, + /// `i<`, `a<` + Angle, + + /// `it`, `at` — HTML/XML tags (if you support it) + Tag, + + /// Custom user-defined objects maybe? + Custom(char), +} + +#[derive(Debug, Copy, Clone, Eq, PartialEq)] +pub enum Word { + Big, + Normal +} +#[derive(Debug, Clone, Copy, Eq, PartialEq)] +pub enum Bound { + Inside, + Around +} + +#[derive(Default, Debug, Clone, Copy, Eq, PartialEq)] +pub enum Direction { + #[default] + Forward, + Backward +} + +#[derive(Debug, Clone, Copy, Eq, PartialEq)] +pub enum Dest { + On, + Before, + After +} + +#[derive(Debug, Clone, Copy, Eq, PartialEq)] +pub enum To { + Start, + End +} diff --git a/src/shopt.rs b/src/shopt.rs index d9ba848..3163f94 100644 --- a/src/shopt.rs +++ b/src/shopt.rs @@ -1,6 +1,5 @@ use std::{collections::HashMap, fmt::Display, str::FromStr}; -use rustyline::{config::BellStyle, EditMode}; use crate::{libsh::error::{Note, ShErr, ShErrKind, ShResult}, state::ShFunc}; @@ -29,17 +28,6 @@ impl FromStr for FernBellStyle { } } -impl From for BellStyle { - fn from(val: FernBellStyle) -> Self { - match val { - FernBellStyle::Audible => BellStyle::Audible, - FernBellStyle::Visible => BellStyle::Visible, - FernBellStyle::Disable => BellStyle::None - } - } -} - - impl Display for FernBellStyle { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { @@ -50,21 +38,13 @@ impl Display for FernBellStyle { } } -#[derive(Clone, Copy, Debug)] +#[derive(Default, Clone, Copy, Debug)] pub enum FernEditMode { + #[default] Vi, Emacs } -impl From for EditMode { - fn from(val: FernEditMode) -> Self { - match val { - FernEditMode::Vi => EditMode::Vi, - FernEditMode::Emacs => EditMode::Emacs - } - } -} - impl FromStr for FernEditMode { type Err = ShErr; fn from_str(s: &str) -> Result { diff --git a/src/tests/highlight.rs b/src/tests/highlight.rs index 71f9653..8b13789 100644 --- a/src/tests/highlight.rs +++ b/src/tests/highlight.rs @@ -1,27 +1 @@ -use insta::assert_snapshot; - -use crate::prompt::highlight::FernHighlighter; - -use super::super::*; - -#[test] -fn highlight_simple() { - let line = "echo foo bar"; - let styled = FernHighlighter::new(line.to_string()).hl_input(); - assert_snapshot!(styled) -} - -#[test] -fn highlight_cmd_sub() { - let line = "echo foo $(echo bar)"; - let styled = FernHighlighter::new(line.to_string()).hl_input(); - assert_snapshot!(styled) -} - -#[test] -fn highlight_cmd_sub_in_dquotes() { - let line = "echo \"foo $(echo bar) biz\""; - let styled = FernHighlighter::new(line.to_string()).hl_input(); - assert_snapshot!(styled) -} diff --git a/src/tests/snapshots/fern__tests__error__case_no_esac.snap b/src/tests/snapshots/fern__tests__error__case_no_esac.snap deleted file mode 100644 index b53486a..0000000 --- a/src/tests/snapshots/fern__tests__error__case_no_esac.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: src/tests/error.rs -expression: err_fmt ---- -Parse Error - Expected 'esac' after case block - -> [1;1] - | -1 | case foo in foo) bar;; bar) foo;; - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - | diff --git a/src/tests/snapshots/fern__tests__error__case_no_in.snap b/src/tests/snapshots/fern__tests__error__case_no_in.snap deleted file mode 100644 index b1d3435..0000000 --- a/src/tests/snapshots/fern__tests__error__case_no_in.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: src/tests/error.rs -expression: err_fmt ---- -Parse Error - Expected 'in' after case variable name - -> [1;1] - | -1 | case foo foo) bar;; bar) foo;; esac - | ^^^^^^^^^^^^^^^^^^^ - | diff --git a/src/tests/snapshots/fern__tests__error__cmd_not_found.snap b/src/tests/snapshots/fern__tests__error__cmd_not_found.snap deleted file mode 100644 index 05085be..0000000 --- a/src/tests/snapshots/fern__tests__error__cmd_not_found.snap +++ /dev/null @@ -1,9 +0,0 @@ ---- -source: src/tests/error.rs -expression: err_fmt ---- -Command not found: foo - - -> [1;1] - | -1 | foo - | diff --git a/src/tests/snapshots/fern__tests__error__error_with_notes.snap b/src/tests/snapshots/fern__tests__error__error_with_notes.snap deleted file mode 100644 index 2d2af50..0000000 --- a/src/tests/snapshots/fern__tests__error__error_with_notes.snap +++ /dev/null @@ -1,8 +0,0 @@ ---- -source: src/tests/error.rs -expression: err_fmt ---- -Execution failed -note: Execution failed for this reason - -note: Here is how to fix it: blah blah blah diff --git a/src/tests/snapshots/fern__tests__error__error_with_notes_and_sub_notes.snap b/src/tests/snapshots/fern__tests__error__error_with_notes_and_sub_notes.snap deleted file mode 100644 index 75594b6..0000000 --- a/src/tests/snapshots/fern__tests__error__error_with_notes_and_sub_notes.snap +++ /dev/null @@ -1,11 +0,0 @@ ---- -source: src/tests/error.rs -expression: err_fmt ---- -Execution failed -note: Execution failed for this reason - -note: Here is how to fix it: - - blah - - blah - - blah diff --git a/src/tests/snapshots/fern__tests__error__if_no_fi.snap b/src/tests/snapshots/fern__tests__error__if_no_fi.snap deleted file mode 100644 index 1932844..0000000 --- a/src/tests/snapshots/fern__tests__error__if_no_fi.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: src/tests/error.rs -expression: err_fmt ---- -Parse Error - Expected 'fi' after if statement - -> [1;1] - | -1 | if foo; then bar; - | ^^^^^^^^^^^^^^^^^ - | diff --git a/src/tests/snapshots/fern__tests__error__if_no_then.snap b/src/tests/snapshots/fern__tests__error__if_no_then.snap deleted file mode 100644 index 7ea9a5d..0000000 --- a/src/tests/snapshots/fern__tests__error__if_no_then.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: src/tests/error.rs -expression: err_fmt ---- -Parse Error - Expected 'then' after 'if' condition - -> [1;1] - | -1 | if foo; bar; fi - | ^^^^^^^^^^^^ - | diff --git a/src/tests/snapshots/fern__tests__error__loop_no_do.snap b/src/tests/snapshots/fern__tests__error__loop_no_do.snap deleted file mode 100644 index 4fccbfc..0000000 --- a/src/tests/snapshots/fern__tests__error__loop_no_do.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: src/tests/error.rs -expression: err_fmt ---- -Parse Error - Expected 'do' after loop condition - -> [1;1] - | -1 | while true; echo foo; done - | ^^^^^^^^^^^^^^^^^^^^^ - | diff --git a/src/tests/snapshots/fern__tests__error__loop_no_done.snap b/src/tests/snapshots/fern__tests__error__loop_no_done.snap deleted file mode 100644 index 6f46636..0000000 --- a/src/tests/snapshots/fern__tests__error__loop_no_done.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: src/tests/error.rs -expression: err_fmt ---- -Parse Error - Expected 'done' after loop body - -> [1;1] - | -1 | while true; do echo foo; - | ^^^^^^^^^^^^^^^^^^^^^^^^ - | diff --git a/src/tests/snapshots/fern__tests__error__unclosed_brc_grp.snap b/src/tests/snapshots/fern__tests__error__unclosed_brc_grp.snap deleted file mode 100644 index cd2bffd..0000000 --- a/src/tests/snapshots/fern__tests__error__unclosed_brc_grp.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: src/tests/error.rs -expression: err_fmt ---- -Parse Error - Expected a closing brace for this brace group - -> [1;1] - | -1 | { foo bar - | ^^^^^^^^^ - | diff --git a/src/tests/snapshots/fern__tests__error__unclosed_dquote.snap b/src/tests/snapshots/fern__tests__error__unclosed_dquote.snap deleted file mode 100644 index bb18194..0000000 --- a/src/tests/snapshots/fern__tests__error__unclosed_dquote.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: src/tests/error.rs -expression: err_fmt ---- -Parse Error - Unterminated quote - -> [1;1] - | -1 | "foo bar - | ^^^^^^^^ - | diff --git a/src/tests/snapshots/fern__tests__error__unclosed_squote.snap b/src/tests/snapshots/fern__tests__error__unclosed_squote.snap deleted file mode 100644 index d121112..0000000 --- a/src/tests/snapshots/fern__tests__error__unclosed_squote.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: src/tests/error.rs -expression: err_fmt ---- -Parse Error - Unterminated quote - -> [1;1] - | -1 | 'foo bar - | ^^^^^^^^ - | diff --git a/src/tests/snapshots/fern__tests__error__unclosed_subsh.snap b/src/tests/snapshots/fern__tests__error__unclosed_subsh.snap deleted file mode 100644 index 79d7af3..0000000 --- a/src/tests/snapshots/fern__tests__error__unclosed_subsh.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: src/tests/error.rs -expression: err_fmt ---- -Parse Error - Unclosed subshell - -> [1;2] - | -1 | (foo - | ^ - | diff --git a/src/tests/snapshots/fern__tests__expand__simple_expansion.snap b/src/tests/snapshots/fern__tests__expand__simple_expansion.snap deleted file mode 100644 index 63e9278..0000000 --- a/src/tests/snapshots/fern__tests__expand__simple_expansion.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: src/tests/expand.rs -expression: exp_tk.get_words() ---- -[ - "this", - "is", - "the", - "value", - "of", - "the", - "variable", -] diff --git a/src/tests/snapshots/fern__tests__expand__unescape_string.snap b/src/tests/snapshots/fern__tests__expand__unescape_string.snap deleted file mode 100644 index 43bdbd8..0000000 --- a/src/tests/snapshots/fern__tests__expand__unescape_string.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: src/tests/expand.rs -expression: unescaped ---- -echo ﷐foo $bar diff --git a/src/tests/snapshots/fern__tests__getopt__getopt_from_argv-2.snap b/src/tests/snapshots/fern__tests__getopt__getopt_from_argv-2.snap deleted file mode 100644 index 4314c4a..0000000 --- a/src/tests/snapshots/fern__tests__getopt__getopt_from_argv-2.snap +++ /dev/null @@ -1,12 +0,0 @@ ---- -source: src/tests/getopt.rs -expression: opts ---- -[ - Short( - 'n', - ), - Short( - 'e', - ), -] diff --git a/src/tests/snapshots/fern__tests__getopt__getopt_from_argv.snap b/src/tests/snapshots/fern__tests__getopt__getopt_from_argv.snap deleted file mode 100644 index 4b51fdb..0000000 --- a/src/tests/snapshots/fern__tests__getopt__getopt_from_argv.snap +++ /dev/null @@ -1,26 +0,0 @@ ---- -source: src/tests/getopt.rs -expression: words ---- -[ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo -n -e foo", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 11..14, - source: "echo -n -e foo", - }, - flags: TkFlags( - 0x0, - ), - }, -] diff --git a/src/tests/snapshots/fern__tests__getopt__getopt_multiple_short-2.snap b/src/tests/snapshots/fern__tests__getopt__getopt_multiple_short-2.snap deleted file mode 100644 index 1a46305..0000000 --- a/src/tests/snapshots/fern__tests__getopt__getopt_multiple_short-2.snap +++ /dev/null @@ -1,15 +0,0 @@ ---- -source: src/tests/getopt.rs -expression: opts ---- -[ - Short( - 'n', - ), - Short( - 'r', - ), - Short( - 'e', - ), -] diff --git a/src/tests/snapshots/fern__tests__getopt__getopt_multiple_short.snap b/src/tests/snapshots/fern__tests__getopt__getopt_multiple_short.snap deleted file mode 100644 index 98bb71f..0000000 --- a/src/tests/snapshots/fern__tests__getopt__getopt_multiple_short.snap +++ /dev/null @@ -1,8 +0,0 @@ ---- -source: src/tests/getopt.rs -expression: words ---- -[ - "echo", - "foo", -] diff --git a/src/tests/snapshots/fern__tests__getopt__getopt_simple-2.snap b/src/tests/snapshots/fern__tests__getopt__getopt_simple-2.snap deleted file mode 100644 index fd6335c..0000000 --- a/src/tests/snapshots/fern__tests__getopt__getopt_simple-2.snap +++ /dev/null @@ -1,9 +0,0 @@ ---- -source: src/tests/getopt.rs -expression: opts ---- -[ - Short( - 'n', - ), -] diff --git a/src/tests/snapshots/fern__tests__getopt__getopt_simple.snap b/src/tests/snapshots/fern__tests__getopt__getopt_simple.snap deleted file mode 100644 index 98bb71f..0000000 --- a/src/tests/snapshots/fern__tests__getopt__getopt_simple.snap +++ /dev/null @@ -1,8 +0,0 @@ ---- -source: src/tests/getopt.rs -expression: words ---- -[ - "echo", - "foo", -] diff --git a/src/tests/snapshots/fern__tests__lexer__lex_case.snap b/src/tests/snapshots/fern__tests__lexer__lex_case.snap deleted file mode 100644 index 713bb49..0000000 --- a/src/tests/snapshots/fern__tests__lexer__lex_case.snap +++ /dev/null @@ -1,186 +0,0 @@ ---- -source: src/tests/lexer.rs -expression: tokens ---- -[ - Ok( - Tk { - class: SOI, - span: Span { - range: 0..0, - source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 0..4, - source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 5..9, - source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 10..12, - source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ), - Ok( - Tk { - class: CasePattern, - span: Span { - range: 13..17, - source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 18..21, - source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ), - Ok( - Tk { - class: Sep, - span: Span { - range: 21..24, - source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: CasePattern, - span: Span { - range: 24..28, - source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 29..32, - source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ), - Ok( - Tk { - class: Sep, - span: Span { - range: 32..35, - source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: CasePattern, - span: Span { - range: 35..39, - source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 40..43, - source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ), - Ok( - Tk { - class: Sep, - span: Span { - range: 43..46, - source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 46..50, - source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ), - Ok( - Tk { - class: EOI, - span: Span { - range: 50..50, - source: "case $foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__lexer__lex_multiline.snap b/src/tests/snapshots/fern__tests__lexer__lex_multiline.snap deleted file mode 100644 index 8aedcc7..0000000 --- a/src/tests/snapshots/fern__tests__lexer__lex_multiline.snap +++ /dev/null @@ -1,162 +0,0 @@ ---- -source: src/tests/lexer.rs -expression: tokens ---- -[ - Ok( - Tk { - class: SOI, - span: Span { - range: 0..0, - source: "echo hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 5..10, - source: "echo hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 11..16, - source: "echo hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Sep, - span: Span { - range: 16..17, - source: "echo hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 17..21, - source: "echo hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 22..25, - source: "echo hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 26..29, - source: "echo hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Sep, - span: Span { - range: 29..30, - source: "echo hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 30..34, - source: "echo hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 35..38, - source: "echo hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 39..42, - source: "echo hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: EOI, - span: Span { - range: 42..42, - source: "echo hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__lexer__lex_quote_str.snap b/src/tests/snapshots/fern__tests__lexer__lex_quote_str.snap deleted file mode 100644 index 44f7a93..0000000 --- a/src/tests/snapshots/fern__tests__lexer__lex_quote_str.snap +++ /dev/null @@ -1,78 +0,0 @@ ---- -source: src/tests/lexer.rs -expression: tokens ---- -[ - Ok( - Tk { - class: SOI, - span: Span { - range: 0..0, - source: "echo \"foo bar\" biz baz", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo \"foo bar\" biz baz", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 5..14, - source: "echo \"foo bar\" biz baz", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 15..18, - source: "echo \"foo bar\" biz baz", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 19..22, - source: "echo \"foo bar\" biz baz", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: EOI, - span: Span { - range: 22..22, - source: "echo \"foo bar\" biz baz", - }, - flags: TkFlags( - 0x0, - ), - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__lexer__lex_redir.snap b/src/tests/snapshots/fern__tests__lexer__lex_redir.snap deleted file mode 100644 index 1bbb910..0000000 --- a/src/tests/snapshots/fern__tests__lexer__lex_redir.snap +++ /dev/null @@ -1,78 +0,0 @@ ---- -source: src/tests/lexer.rs -expression: tokens ---- -[ - Ok( - Tk { - class: SOI, - span: Span { - range: 0..0, - source: "echo foo > bar.txt", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo foo > bar.txt", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 5..8, - source: "echo foo > bar.txt", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Redir, - span: Span { - range: 9..10, - source: "echo foo > bar.txt", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 11..18, - source: "echo foo > bar.txt", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: EOI, - span: Span { - range: 18..18, - source: "echo foo > bar.txt", - }, - flags: TkFlags( - 0x0, - ), - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__lexer__lex_redir_fds.snap b/src/tests/snapshots/fern__tests__lexer__lex_redir_fds.snap deleted file mode 100644 index 22cd61b..0000000 --- a/src/tests/snapshots/fern__tests__lexer__lex_redir_fds.snap +++ /dev/null @@ -1,66 +0,0 @@ ---- -source: src/tests/lexer.rs -expression: tokens ---- -[ - Ok( - Tk { - class: SOI, - span: Span { - range: 0..0, - source: "echo foo 1>&2", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo foo 1>&2", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 5..8, - source: "echo foo 1>&2", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Redir, - span: Span { - range: 9..13, - source: "echo foo 1>&2", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: EOI, - span: Span { - range: 13..13, - source: "echo foo 1>&2", - }, - flags: TkFlags( - 0x0, - ), - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__lexer__lex_simple.snap b/src/tests/snapshots/fern__tests__lexer__lex_simple.snap deleted file mode 100644 index 789426a..0000000 --- a/src/tests/snapshots/fern__tests__lexer__lex_simple.snap +++ /dev/null @@ -1,66 +0,0 @@ ---- -source: src/tests/lexer.rs -expression: tokens ---- -[ - Ok( - Tk { - class: SOI, - span: Span { - range: 0..0, - source: "echo hello world", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo hello world", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 5..10, - source: "echo hello world", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 11..16, - source: "echo hello world", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: EOI, - span: Span { - range: 16..16, - source: "echo hello world", - }, - flags: TkFlags( - 0x0, - ), - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__lexer__lex_with_keywords.snap b/src/tests/snapshots/fern__tests__lexer__lex_with_keywords.snap deleted file mode 100644 index 529071b..0000000 --- a/src/tests/snapshots/fern__tests__lexer__lex_with_keywords.snap +++ /dev/null @@ -1,126 +0,0 @@ ---- -source: src/tests/lexer.rs -expression: tokens ---- -[ - Ok( - Tk { - class: SOI, - span: Span { - range: 0..0, - source: "if true; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 0..2, - source: "if true; then echo foo; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 3..7, - source: "if true; then echo foo; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ), - Ok( - Tk { - class: Sep, - span: Span { - range: 7..9, - source: "if true; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 9..13, - source: "if true; then echo foo; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 14..18, - source: "if true; then echo foo; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 19..22, - source: "if true; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Sep, - span: Span { - range: 22..24, - source: "if true; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ), - Ok( - Tk { - class: Str, - span: Span { - range: 24..26, - source: "if true; then echo foo; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ), - Ok( - Tk { - class: EOI, - span: Span { - range: 26..26, - source: "if true; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__parser__node_operation.snap b/src/tests/snapshots/fern__tests__parser__node_operation.snap deleted file mode 100644 index f1f46d5..0000000 --- a/src/tests/snapshots/fern__tests__parser__node_operation.snap +++ /dev/null @@ -1,162 +0,0 @@ ---- -source: src/tests/parser.rs -expression: check_nodes ---- -[ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo hello world; echo foo bar", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..10, - source: "echo hello world; echo foo bar", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 11..16, - source: "echo hello world; echo foo bar", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo hello world; echo foo bar", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..10, - source: "echo hello world; echo foo bar", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 11..16, - source: "echo hello world; echo foo bar", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 16..18, - source: "echo hello world; echo foo bar", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 18..22, - source: "echo hello world; echo foo bar", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 23..26, - source: "echo hello world; echo foo bar", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 27..30, - source: "echo hello world; echo foo bar", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 18..22, - source: "echo hello world; echo foo bar", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 23..26, - source: "echo hello world; echo foo bar", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 27..30, - source: "echo hello world; echo foo bar", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, -] diff --git a/src/tests/snapshots/fern__tests__parser__parse_case_multiline.snap b/src/tests/snapshots/fern__tests__parser__parse_case_multiline.snap deleted file mode 100644 index 65849b8..0000000 --- a/src/tests/snapshots/fern__tests__parser__parse_case_multiline.snap +++ /dev/null @@ -1,595 +0,0 @@ ---- -source: src/tests/parser.rs -expression: nodes ---- -[ - Ok( - Node { - class: Conjunction { - elements: [ - ConjunctNode { - cmd: Node { - class: CaseNode { - pattern: Tk { - class: Str, - span: Span { - range: 5..8, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - case_blocks: [ - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 13..17, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 18..21, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 18..21, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 21..27, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 18..21, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 21..27, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 27..31, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 32..35, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 32..35, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 35..41, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 32..35, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 35..41, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 41..45, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 46..49, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 46..49, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 49..54, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 46..49, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 49..54, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..8, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 9..11, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 11..13, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 13..17, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 18..21, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 21..27, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 27..31, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 32..35, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 35..41, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 41..45, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 46..49, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 49..54, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 54..58, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - operator: Null, - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..8, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 9..11, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 11..13, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 13..17, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 18..21, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 21..27, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 27..31, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 32..35, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 35..41, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 41..45, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 46..49, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 49..54, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 54..58, - source: "case foo in\n\tfoo) bar\n\t;;\n\tbar) foo\n\t;;\n\tbiz) baz\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__parser__parse_case_nested.snap b/src/tests/snapshots/fern__tests__parser__parse_case_nested.snap deleted file mode 100644 index c93e8bf..0000000 --- a/src/tests/snapshots/fern__tests__parser__parse_case_nested.snap +++ /dev/null @@ -1,3975 +0,0 @@ ---- -source: src/tests/parser.rs -expression: nodes ---- -[ - Ok( - Node { - class: Conjunction { - elements: [ - ConjunctNode { - cmd: Node { - class: CaseNode { - pattern: Tk { - class: Str, - span: Span { - range: 5..8, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - case_blocks: [ - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 13..17, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 23..27, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 23..27, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 27..29, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 23..27, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 27..29, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: LoopNode { - kind: While, - cond_node: CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 43..47, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 43..47, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 47..49, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 43..47, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 47..49, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 56..60, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 61..64, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 56..60, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 61..64, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 64..68, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 56..60, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 61..64, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 64..68, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 37..42, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 43..47, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 47..49, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 49..51, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 51..56, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 56..60, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 61..64, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 64..68, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 68..72, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 72..75, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 20..22, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 23..27, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 27..29, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 29..33, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 33..37, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 37..42, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 43..47, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 47..49, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 49..51, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 51..56, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 56..60, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 61..64, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 64..68, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 68..72, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 72..75, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 75..77, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 77..83, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 83..87, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 93..98, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 93..98, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 98..100, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 93..98, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 98..100, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: LoopNode { - kind: Until, - cond_node: CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 114..119, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 114..119, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 119..121, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 114..119, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 119..121, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: CaseNode { - pattern: Tk { - class: Str, - span: Span { - range: 133..136, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - case_blocks: [ - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 145..149, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 159..163, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 159..163, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 163..165, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 159..163, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 163..165, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 177..181, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 182..185, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 177..181, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 182..185, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 185..192, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 177..181, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 182..185, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 185..192, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 156..158, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 159..163, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 163..165, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 165..169, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 169..177, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 177..181, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 182..185, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 185..192, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 192..194, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 194..208, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 208..212, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 222..227, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 222..227, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 227..229, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 222..227, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 227..229, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 241..245, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 246..249, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 241..245, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 246..249, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 249..256, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 241..245, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 246..249, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 249..256, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 219..221, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 222..227, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 227..229, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 229..233, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 233..241, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 241..245, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 246..249, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 249..256, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 256..258, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 258..271, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 128..132, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 133..136, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 137..139, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 139..145, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 145..149, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 149..156, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 156..158, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 159..163, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 163..165, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 165..169, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 169..177, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 177..181, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 182..185, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 185..192, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 192..194, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 194..208, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 208..212, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 212..219, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 219..221, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 222..227, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 227..229, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 229..233, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 233..241, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 241..245, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 246..249, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 249..256, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 256..258, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 258..271, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 271..275, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 275..279, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 108..113, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 114..119, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 119..121, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 121..123, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 123..128, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 128..132, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 133..136, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 137..139, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 139..145, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 145..149, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 149..156, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 156..158, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 159..163, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 163..165, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 165..169, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 169..177, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 177..181, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 182..185, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 185..192, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 192..194, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 194..208, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 208..212, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 212..219, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 219..221, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 222..227, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 227..229, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 229..233, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 233..241, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 241..245, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 246..249, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 249..256, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 256..258, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 258..271, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 271..275, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 275..279, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 279..283, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 283..286, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 90..92, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 93..98, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 98..100, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 100..104, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 104..108, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 108..113, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 114..119, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 119..121, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 121..123, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 123..128, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 128..132, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 133..136, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 137..139, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 139..145, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 145..149, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 149..156, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 156..158, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 159..163, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 163..165, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 165..169, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 169..177, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 177..181, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 182..185, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 185..192, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 192..194, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 194..208, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 208..212, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 212..219, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 219..221, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 222..227, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 227..229, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 229..233, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 233..241, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 241..245, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 246..249, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 249..256, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 256..258, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 258..271, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 271..275, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 275..279, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 279..283, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 283..286, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 286..288, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 288..293, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..8, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 9..11, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 11..13, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 13..17, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 17..20, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 20..22, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 23..27, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 27..29, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 29..33, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 33..37, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 37..42, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 43..47, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 47..49, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 49..51, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 51..56, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 56..60, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 61..64, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 64..68, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 68..72, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 72..75, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 75..77, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 77..83, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 83..87, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 87..90, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 90..92, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 93..98, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 98..100, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 100..104, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 104..108, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 108..113, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 114..119, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 119..121, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 121..123, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 123..128, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 128..132, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 133..136, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 137..139, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 139..145, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 145..149, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 149..156, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 156..158, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 159..163, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 163..165, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 165..169, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 169..177, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 177..181, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 182..185, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 185..192, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 192..194, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 194..208, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 208..212, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 212..219, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 219..221, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 222..227, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 227..229, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 229..233, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 233..241, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 241..245, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 246..249, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 249..256, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 256..258, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 258..271, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 271..275, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 275..279, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 279..283, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 283..286, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 286..288, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 288..293, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 293..297, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - operator: Null, - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..8, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 9..11, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 11..13, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 13..17, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 17..20, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 20..22, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 23..27, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 27..29, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 29..33, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 33..37, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 37..42, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 43..47, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 47..49, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 49..51, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 51..56, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 56..60, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 61..64, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 64..68, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 68..72, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 72..75, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 75..77, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 77..83, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 83..87, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 87..90, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 90..92, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 93..98, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 98..100, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 100..104, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 104..108, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 108..113, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 114..119, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 119..121, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 121..123, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 123..128, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 128..132, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 133..136, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 137..139, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 139..145, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 145..149, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 149..156, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 156..158, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 159..163, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 163..165, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 165..169, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 169..177, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 177..181, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 182..185, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 185..192, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 192..194, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 194..208, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 208..212, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 212..219, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 219..221, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 222..227, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 227..229, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 229..233, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 233..241, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 241..245, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 246..249, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 249..256, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 256..258, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 258..271, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 271..275, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 275..279, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 279..283, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 283..286, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 286..288, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 288..293, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 293..297, - source: "case foo in\n\tfoo)\n\t\tif true; then\n\t\t\twhile true; do\n\t\t\t\techo foo\n\t\t\tdone\n\t\tfi\n\t;;\n\tbar)\n\t\tif false; then\n\t\t\tuntil false; do\n\t\t\t\tcase foo in\n\t\t\t\t\tfoo)\n\t\t\t\t\t\tif true; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\t\tbar)\n\t\t\t\t\t\tif false; then\n\t\t\t\t\t\t\techo foo\n\t\t\t\t\t\tfi\n\t\t\t\t\t;;\n\t\t\t\tesac\n\t\t\tdone\n\t\tfi\n\t;;\nesac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__parser__parse_case_simple.snap b/src/tests/snapshots/fern__tests__parser__parse_case_simple.snap deleted file mode 100644 index 7549e1e..0000000 --- a/src/tests/snapshots/fern__tests__parser__parse_case_simple.snap +++ /dev/null @@ -1,575 +0,0 @@ ---- -source: src/tests/parser.rs -expression: nodes ---- -[ - Ok( - Node { - class: Conjunction { - elements: [ - ConjunctNode { - cmd: Node { - class: CaseNode { - pattern: Tk { - class: Str, - span: Span { - range: 5..8, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - case_blocks: [ - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 12..16, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 17..20, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 17..20, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 20..23, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 17..20, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 20..23, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 23..27, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 28..31, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 28..31, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 31..34, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 28..31, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 31..34, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 34..38, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 39..42, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 39..42, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 42..45, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 39..42, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 42..45, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..8, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 9..11, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 12..16, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 17..20, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 20..23, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 23..27, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 28..31, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 31..34, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 34..38, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 39..42, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 42..45, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 45..49, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - operator: Null, - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..8, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 9..11, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 12..16, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 17..20, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 20..23, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 23..27, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 28..31, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 31..34, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 34..38, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 39..42, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 42..45, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 45..49, - source: "case foo in foo) bar;; bar) foo;; biz) baz;; esac", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__parser__parse_conjunction.snap b/src/tests/snapshots/fern__tests__parser__parse_conjunction.snap deleted file mode 100644 index e36d989..0000000 --- a/src/tests/snapshots/fern__tests__parser__parse_conjunction.snap +++ /dev/null @@ -1,248 +0,0 @@ ---- -source: src/tests/parser.rs -expression: nodes ---- -[ - Ok( - Node { - class: Conjunction { - elements: [ - ConjunctNode { - cmd: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo foo && echo bar", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..8, - source: "echo foo && echo bar", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo foo && echo bar", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..8, - source: "echo foo && echo bar", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo foo && echo bar", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..8, - source: "echo foo && echo bar", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - operator: And, - }, - ConjunctNode { - cmd: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 12..16, - source: "echo foo && echo bar", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 17..20, - source: "echo foo && echo bar", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 12..16, - source: "echo foo && echo bar", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 17..20, - source: "echo foo && echo bar", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 12..16, - source: "echo foo && echo bar", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 17..20, - source: "echo foo && echo bar", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - operator: Null, - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo foo && echo bar", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..8, - source: "echo foo && echo bar", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: And, - span: Span { - range: 9..11, - source: "echo foo && echo bar", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 12..16, - source: "echo foo && echo bar", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 17..20, - source: "echo foo && echo bar", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__parser__parse_conjunction_and_pipeline.snap b/src/tests/snapshots/fern__tests__parser__parse_conjunction_and_pipeline.snap deleted file mode 100644 index 6b69cee..0000000 --- a/src/tests/snapshots/fern__tests__parser__parse_conjunction_and_pipeline.snap +++ /dev/null @@ -1,826 +0,0 @@ ---- -source: src/tests/parser.rs -expression: nodes ---- -[ - Ok( - Node { - class: Conjunction { - elements: [ - ConjunctNode { - cmd: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..8, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..8, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 11..14, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Str, - span: Span { - range: 15..25, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 11..14, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Str, - span: Span { - range: 15..25, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..8, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Pipe, - span: Span { - range: 9..10, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 11..14, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Str, - span: Span { - range: 15..25, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - operator: And, - }, - ConjunctNode { - cmd: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 29..33, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 34..37, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 29..33, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 34..37, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 40..43, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Str, - span: Span { - range: 44..54, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 40..43, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Str, - span: Span { - range: 44..54, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 29..33, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 34..37, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Pipe, - span: Span { - range: 38..39, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 40..43, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Str, - span: Span { - range: 44..54, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - operator: Or, - }, - ConjunctNode { - cmd: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 58..62, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 63..66, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 67..70, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 58..62, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 63..66, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 67..70, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 73..76, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Str, - span: Span { - range: 77..82, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 83..90, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 91..95, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 73..76, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Str, - span: Span { - range: 77..82, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 83..90, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 91..95, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 58..62, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 63..66, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 67..70, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Pipe, - span: Span { - range: 71..72, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 73..76, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Str, - span: Span { - range: 77..82, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 83..90, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 91..95, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - operator: Null, - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..8, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Pipe, - span: Span { - range: 9..10, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 11..14, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Str, - span: Span { - range: 15..25, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: And, - span: Span { - range: 26..28, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 29..33, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 34..37, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Pipe, - span: Span { - range: 38..39, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 40..43, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Str, - span: Span { - range: 44..54, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Or, - span: Span { - range: 55..57, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 58..62, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 63..66, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 67..70, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Pipe, - span: Span { - range: 71..72, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 73..76, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Str, - span: Span { - range: 77..82, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 83..90, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 91..95, - source: "echo foo | sed s/foo/bar/ && echo bar | sed s/bar/foo/ || echo foo bar | sed s/foo bar/bar foo/", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__parser__parse_cursed.snap b/src/tests/snapshots/fern__tests__parser__parse_cursed.snap deleted file mode 100644 index eee90ed..0000000 --- a/src/tests/snapshots/fern__tests__parser__parse_cursed.snap +++ /dev/null @@ -1,15563 +0,0 @@ ---- -source: src/tests/parser.rs -expression: nodes ---- -[ - Ok( - Node { - class: Conjunction { - elements: [ - ConjunctNode { - cmd: Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: CaseNode { - pattern: Tk { - class: Str, - span: Span { - range: 17..20, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - case_blocks: [ - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 24..28, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 32..36, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 32..36, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 36..38, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 32..36, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 36..38, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 43..47, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 43..47, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 47..49, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 43..47, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 47..49, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 29..31, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 32..36, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 36..38, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 38..42, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 43..47, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 47..49, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 49..51, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 51..54, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 12..16, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 17..20, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 21..23, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 24..28, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 29..31, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 32..36, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 36..38, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 38..42, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 43..47, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 47..49, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 49..51, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 51..54, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 54..58, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 58..60, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: CaseNode { - pattern: Tk { - class: Str, - span: Span { - range: 70..73, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - case_blocks: [ - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 77..81, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: LoopNode { - kind: Until, - cond_node: CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 88..92, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 88..92, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 92..94, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 88..92, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 92..94, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 97..101, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 97..101, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 101..103, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 97..101, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 101..103, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 82..87, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 88..92, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 92..94, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 94..96, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 97..101, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 101..103, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 103..107, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 107..110, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 65..69, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 70..73, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 74..76, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 77..81, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 82..87, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 88..92, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 92..94, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 94..96, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 97..101, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 101..103, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 103..107, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 107..110, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 110..114, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 114..116, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 9..11, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 12..16, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 17..20, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 21..23, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 24..28, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 29..31, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 32..36, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 36..38, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 38..42, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 43..47, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 47..49, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 49..51, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 51..54, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 54..58, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 58..60, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 60..64, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 65..69, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 70..73, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 74..76, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 77..81, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 82..87, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 88..92, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 92..94, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 94..96, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 97..101, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 101..103, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 103..107, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 107..110, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 110..114, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 114..116, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 116..118, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 118..120, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: LoopNode { - kind: Until, - cond_node: CondNode { - cond: Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: CaseNode { - pattern: Tk { - class: Str, - span: Span { - range: 139..142, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - case_blocks: [ - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 146..150, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 151..155, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 151..155, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 155..158, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 151..155, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 155..158, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 134..138, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 139..142, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 143..145, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 146..150, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 151..155, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 155..158, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 158..162, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 162..164, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 172..176, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 172..176, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 176..178, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 172..176, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 176..178, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 183..187, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 183..187, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 187..189, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 183..187, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 187..189, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 169..171, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 172..176, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 176..178, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 178..182, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 183..187, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 187..189, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 189..191, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 191..193, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 131..133, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 134..138, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 139..142, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 143..145, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 146..150, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 151..155, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 155..158, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 158..162, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 162..164, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 164..168, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 169..171, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 172..176, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 176..178, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 178..182, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 183..187, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 187..189, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 189..191, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 191..193, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 193..195, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 195..197, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: LoopNode { - kind: Until, - cond_node: CondNode { - cond: Node { - class: LoopNode { - kind: Until, - cond_node: CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 212..216, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 212..216, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 216..218, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 212..216, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 216..218, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 221..225, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 221..225, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 225..227, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 221..225, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 225..227, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 206..211, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 212..216, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 216..218, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 218..220, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 221..225, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 225..227, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 227..231, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 231..233, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: CaseNode { - pattern: Tk { - class: Str, - span: Span { - range: 241..244, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - case_blocks: [ - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 248..252, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 253..257, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 253..257, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 257..260, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 253..257, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 257..260, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 236..240, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 241..244, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 245..247, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 248..252, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 253..257, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 257..260, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 260..264, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 264..266, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 200..205, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 206..211, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 212..216, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 216..218, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 218..220, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 221..225, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 225..227, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 227..231, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 231..233, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 233..235, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 236..240, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 241..244, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 245..247, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 248..252, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 253..257, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 257..260, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 260..264, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 264..266, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 266..270, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 270..272, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 125..130, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 131..133, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 134..138, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 139..142, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 143..145, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 146..150, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 151..155, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 155..158, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 158..162, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 162..164, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 164..168, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 169..171, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 172..176, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 176..178, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 178..182, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 183..187, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 187..189, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 189..191, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 191..193, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 193..195, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 195..197, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 197..199, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 200..205, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 206..211, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 212..216, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 216..218, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 218..220, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 221..225, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 225..227, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 227..231, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 231..233, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 233..235, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 236..240, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 241..244, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 245..247, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 248..252, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 253..257, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 257..260, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 260..264, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 264..266, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 266..270, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 270..272, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 272..276, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 276..278, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 6..8, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 9..11, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 12..16, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 17..20, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 21..23, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 24..28, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 29..31, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 32..36, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 36..38, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 38..42, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 43..47, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 47..49, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 49..51, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 51..54, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 54..58, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 58..60, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 60..64, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 65..69, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 70..73, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 74..76, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 77..81, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 82..87, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 88..92, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 92..94, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 94..96, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 97..101, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 101..103, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 103..107, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 107..110, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 110..114, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 114..116, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 116..118, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 118..120, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 120..124, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 125..130, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 131..133, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 134..138, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 139..142, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 143..145, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 146..150, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 151..155, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 155..158, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 158..162, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 162..164, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 164..168, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 169..171, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 172..176, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 176..178, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 178..182, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 183..187, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 187..189, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 189..191, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 191..193, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 193..195, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 195..197, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 197..199, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 200..205, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 206..211, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 212..216, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 216..218, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 218..220, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 221..225, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 225..227, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 227..231, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 231..233, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 233..235, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 236..240, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 241..244, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 245..247, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 248..252, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 253..257, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 257..260, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 260..264, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 264..266, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 266..270, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 270..272, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 272..276, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 276..278, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 278..280, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 280..282, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: LoopNode { - kind: Until, - cond_node: CondNode { - cond: Node { - class: LoopNode { - kind: Until, - cond_node: CondNode { - cond: Node { - class: CaseNode { - pattern: Tk { - class: Str, - span: Span { - range: 304..307, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - case_blocks: [ - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 311..315, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 316..320, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 316..320, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 320..323, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 316..320, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 320..323, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 299..303, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 304..307, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 308..310, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 311..315, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 316..320, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 320..323, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 323..327, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 327..329, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 335..339, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 335..339, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 339..341, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 335..339, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 339..341, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 346..350, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 346..350, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 350..352, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 346..350, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 350..352, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 332..334, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 335..339, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 339..341, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 341..345, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 346..350, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 350..352, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 352..354, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 354..356, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 293..298, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 299..303, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 304..307, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 308..310, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 311..315, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 316..320, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 320..323, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 323..327, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 327..329, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 329..331, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 332..334, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 335..339, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 339..341, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 341..345, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 346..350, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 350..352, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 352..354, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 354..356, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 356..360, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 360..362, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: LoopNode { - kind: Until, - cond_node: CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 371..375, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 371..375, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 375..377, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 371..375, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 375..377, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 380..384, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 380..384, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 384..386, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 380..384, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 384..386, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 365..370, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 371..375, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 375..377, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 377..379, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 380..384, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 384..386, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 386..390, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 390..392, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 287..292, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 293..298, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 299..303, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 304..307, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 308..310, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 311..315, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 316..320, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 320..323, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 323..327, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 327..329, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 329..331, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 332..334, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 335..339, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 339..341, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 341..345, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 346..350, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 350..352, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 352..354, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 354..356, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 356..360, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 360..362, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 362..364, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 365..370, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 371..375, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 375..377, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 377..379, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 380..384, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 384..386, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 386..390, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 390..392, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 392..396, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 396..398, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 3..5, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 6..8, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 9..11, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 12..16, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 17..20, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 21..23, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 24..28, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 29..31, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 32..36, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 36..38, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 38..42, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 43..47, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 47..49, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 49..51, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 51..54, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 54..58, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 58..60, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 60..64, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 65..69, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 70..73, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 74..76, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 77..81, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 82..87, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 88..92, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 92..94, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 94..96, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 97..101, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 101..103, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 103..107, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 107..110, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 110..114, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 114..116, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 116..118, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 118..120, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 120..124, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 125..130, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 131..133, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 134..138, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 139..142, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 143..145, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 146..150, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 151..155, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 155..158, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 158..162, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 162..164, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 164..168, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 169..171, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 172..176, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 176..178, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 178..182, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 183..187, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 187..189, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 189..191, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 191..193, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 193..195, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 195..197, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 197..199, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 200..205, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 206..211, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 212..216, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 216..218, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 218..220, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 221..225, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 225..227, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 227..231, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 231..233, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 233..235, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 236..240, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 241..244, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 245..247, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 248..252, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 253..257, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 257..260, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 260..264, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 264..266, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 266..270, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 270..272, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 272..276, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 276..278, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 278..280, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 280..282, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 282..286, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 287..292, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 293..298, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 299..303, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 304..307, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 308..310, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 311..315, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 316..320, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 320..323, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 323..327, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 327..329, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 329..331, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 332..334, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 335..339, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 339..341, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 341..345, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 346..350, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 350..352, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 352..354, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 354..356, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 356..360, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 360..362, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 362..364, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 365..370, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 371..375, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 375..377, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 377..379, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 380..384, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 384..386, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 386..390, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 390..392, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 392..396, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 396..398, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 398..400, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 400..402, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: LoopNode { - kind: Until, - cond_node: CondNode { - cond: Node { - class: CaseNode { - pattern: Tk { - class: Str, - span: Span { - range: 418..421, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - case_blocks: [ - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 425..429, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: CaseNode { - pattern: Tk { - class: Str, - span: Span { - range: 435..438, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - case_blocks: [ - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 442..446, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 447..451, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 447..451, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 451..454, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 447..451, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 451..454, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 430..434, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 435..438, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 439..441, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 442..446, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 447..451, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 451..454, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 454..458, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 458..461, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 413..417, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 418..421, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 422..424, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 425..429, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 430..434, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 435..438, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 439..441, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 442..446, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 447..451, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 451..454, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 454..458, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 458..461, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 461..465, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 465..467, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 476..480, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 476..480, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 480..482, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 476..480, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 480..482, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 487..491, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 487..491, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 491..493, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 487..491, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 491..493, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 473..475, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 476..480, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 480..482, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 482..486, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 487..491, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 491..493, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 493..495, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 495..497, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: LoopNode { - kind: Until, - cond_node: CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 508..512, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 508..512, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 512..514, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 508..512, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 512..514, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 517..521, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 517..521, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 521..523, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 517..521, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 521..523, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 502..507, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 508..512, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 512..514, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 514..516, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 517..521, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 521..523, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 523..527, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 527..529, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 470..472, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 473..475, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 476..480, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 480..482, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 482..486, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 487..491, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 491..493, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 493..495, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 495..497, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 497..501, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 502..507, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 508..512, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 512..514, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 514..516, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 517..521, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 521..523, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 523..527, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 527..529, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 529..531, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 531..533, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 407..412, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 413..417, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 418..421, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 422..424, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 425..429, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 430..434, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 435..438, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 439..441, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 442..446, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 447..451, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 451..454, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 454..458, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 458..461, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 461..465, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 465..467, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 467..469, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 470..472, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 473..475, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 476..480, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 480..482, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 482..486, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 487..491, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 491..493, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 493..495, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 495..497, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 497..501, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 502..507, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 508..512, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 512..514, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 514..516, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 517..521, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 521..523, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 523..527, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 527..529, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 529..531, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 531..533, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 533..537, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 537..539, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - CondNode { - cond: Node { - class: LoopNode { - kind: Until, - cond_node: CondNode { - cond: Node { - class: LoopNode { - kind: Until, - cond_node: CondNode { - cond: Node { - class: CaseNode { - pattern: Tk { - class: Str, - span: Span { - range: 561..564, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - case_blocks: [ - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 568..572, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 573..577, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 573..577, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 577..580, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 573..577, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 577..580, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 556..560, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 561..564, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 565..567, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 568..572, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 573..577, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 577..580, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 580..584, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 584..586, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 592..596, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 592..596, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 596..598, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 592..596, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 596..598, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 603..607, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 603..607, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 607..609, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 603..607, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 607..609, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 589..591, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 592..596, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 596..598, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 598..602, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 603..607, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 607..609, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 609..611, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 611..613, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 550..555, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 556..560, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 561..564, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 565..567, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 568..572, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 573..577, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 577..580, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 580..584, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 584..586, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 586..588, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 589..591, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 592..596, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 596..598, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 598..602, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 603..607, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 607..609, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 609..611, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 611..613, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 613..617, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 617..619, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: CaseNode { - pattern: Tk { - class: Str, - span: Span { - range: 627..630, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - case_blocks: [ - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 634..638, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: LoopNode { - kind: Until, - cond_node: CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 645..649, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 645..649, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 649..651, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 645..649, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 649..651, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 654..658, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 654..658, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 658..660, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 654..658, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 658..660, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 639..644, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 645..649, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 649..651, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 651..653, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 654..658, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 658..660, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 660..664, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 664..667, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 622..626, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 627..630, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 631..633, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 634..638, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 639..644, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 645..649, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 649..651, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 651..653, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 654..658, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 658..660, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 660..664, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 664..667, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 667..671, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 671..673, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 544..549, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 550..555, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 556..560, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 561..564, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 565..567, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 568..572, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 573..577, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 577..580, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 580..584, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 584..586, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 586..588, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 589..591, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 592..596, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 596..598, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 598..602, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 603..607, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 607..609, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 609..611, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 611..613, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 613..617, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 617..619, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 619..621, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 622..626, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 627..630, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 631..633, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 634..638, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 639..644, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 645..649, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 649..651, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 651..653, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 654..658, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 658..660, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 660..664, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 664..667, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 667..671, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 671..673, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 673..677, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 677..679, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: CaseNode { - pattern: Tk { - class: Str, - span: Span { - range: 689..692, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - case_blocks: [ - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 696..700, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: CaseNode { - pattern: Tk { - class: Str, - span: Span { - range: 709..712, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - case_blocks: [ - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 716..720, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 721..725, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 721..725, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 725..728, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 721..725, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 725..728, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 704..708, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 709..712, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 713..715, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 716..720, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 721..725, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 725..728, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 728..732, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 732..734, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 742..746, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 742..746, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 746..748, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 742..746, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 746..748, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 753..757, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 753..757, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 757..759, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 753..757, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 757..759, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 739..741, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 742..746, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 746..748, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 748..752, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 753..757, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 757..759, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 759..761, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 761..763, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 701..703, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 704..708, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 709..712, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 713..715, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 716..720, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 721..725, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 725..728, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 728..732, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 732..734, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 734..738, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 739..741, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 742..746, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 746..748, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 748..752, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 753..757, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 757..759, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 759..761, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 761..763, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 763..765, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 765..768, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 684..688, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 689..692, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 693..695, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 696..700, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 701..703, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 704..708, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 709..712, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 713..715, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 716..720, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 721..725, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 725..728, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 728..732, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 732..734, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 734..738, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 739..741, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 742..746, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 746..748, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 748..752, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 753..757, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 757..759, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 759..761, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 761..763, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 763..765, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 765..768, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 768..772, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 772..774, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [ - Node { - class: CaseNode { - pattern: Tk { - class: Str, - span: Span { - range: 784..787, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - case_blocks: [ - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 791..795, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: LoopNode { - kind: Until, - cond_node: CondNode { - cond: Node { - class: LoopNode { - kind: Until, - cond_node: CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 808..812, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 808..812, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 812..814, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 808..812, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 812..814, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 817..821, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 817..821, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 821..823, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 817..821, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 821..823, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 802..807, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 808..812, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 812..814, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 814..816, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 817..821, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 821..823, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 823..827, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 827..829, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: CaseNode { - pattern: Tk { - class: Str, - span: Span { - range: 837..840, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - case_blocks: [ - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 844..848, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 849..853, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 849..853, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 853..856, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 849..853, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 853..856, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 832..836, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 837..840, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 841..843, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 844..848, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 849..853, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 853..856, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 856..860, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 860..862, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 796..801, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 802..807, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 808..812, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 812..814, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 814..816, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 817..821, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 821..823, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 823..827, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 827..829, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 829..831, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 832..836, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 837..840, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 841..843, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 844..848, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 849..853, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 853..856, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 856..860, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 860..862, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 862..866, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 866..869, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 779..783, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 784..787, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 788..790, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 791..795, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 796..801, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 802..807, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 808..812, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 812..814, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 814..816, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 817..821, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 821..823, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 823..827, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 827..829, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 829..831, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 832..836, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 837..840, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 841..843, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 844..848, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 849..853, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 853..856, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 856..860, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 860..862, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 862..866, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 866..869, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 869..873, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 873..875, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..2, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 3..5, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 6..8, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 9..11, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 12..16, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 17..20, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 21..23, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 24..28, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 29..31, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 32..36, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 36..38, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 38..42, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 43..47, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 47..49, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 49..51, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 51..54, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 54..58, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 58..60, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 60..64, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 65..69, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 70..73, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 74..76, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 77..81, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 82..87, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 88..92, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 92..94, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 94..96, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 97..101, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 101..103, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 103..107, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 107..110, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 110..114, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 114..116, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 116..118, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 118..120, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 120..124, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 125..130, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 131..133, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 134..138, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 139..142, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 143..145, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 146..150, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 151..155, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 155..158, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 158..162, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 162..164, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 164..168, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 169..171, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 172..176, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 176..178, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 178..182, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 183..187, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 187..189, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 189..191, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 191..193, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 193..195, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 195..197, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 197..199, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 200..205, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 206..211, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 212..216, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 216..218, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 218..220, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 221..225, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 225..227, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 227..231, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 231..233, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 233..235, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 236..240, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 241..244, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 245..247, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 248..252, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 253..257, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 257..260, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 260..264, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 264..266, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 266..270, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 270..272, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 272..276, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 276..278, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 278..280, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 280..282, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 282..286, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 287..292, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 293..298, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 299..303, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 304..307, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 308..310, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 311..315, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 316..320, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 320..323, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 323..327, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 327..329, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 329..331, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 332..334, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 335..339, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 339..341, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 341..345, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 346..350, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 350..352, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 352..354, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 354..356, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 356..360, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 360..362, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 362..364, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 365..370, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 371..375, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 375..377, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 377..379, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 380..384, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 384..386, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 386..390, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 390..392, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 392..396, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 396..398, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 398..400, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 400..402, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 402..406, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 407..412, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 413..417, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 418..421, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 422..424, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 425..429, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 430..434, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 435..438, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 439..441, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 442..446, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 447..451, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 451..454, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 454..458, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 458..461, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 461..465, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 465..467, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 467..469, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 470..472, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 473..475, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 476..480, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 480..482, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 482..486, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 487..491, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 491..493, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 493..495, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 495..497, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 497..501, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 502..507, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 508..512, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 512..514, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 514..516, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 517..521, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 521..523, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 523..527, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 527..529, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 529..531, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 531..533, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 533..537, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 537..539, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 539..543, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 544..549, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 550..555, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 556..560, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 561..564, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 565..567, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 568..572, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 573..577, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 577..580, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 580..584, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 584..586, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 586..588, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 589..591, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 592..596, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 596..598, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 598..602, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 603..607, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 607..609, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 609..611, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 611..613, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 613..617, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 617..619, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 619..621, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 622..626, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 627..630, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 631..633, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 634..638, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 639..644, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 645..649, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 649..651, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 651..653, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 654..658, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 658..660, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 660..664, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 664..667, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 667..671, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 671..673, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 673..677, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 677..679, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 679..683, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 684..688, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 689..692, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 693..695, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 696..700, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 701..703, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 704..708, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 709..712, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 713..715, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 716..720, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 721..725, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 725..728, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 728..732, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 732..734, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 734..738, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 739..741, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 742..746, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 746..748, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 748..752, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 753..757, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 757..759, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 759..761, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 761..763, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 763..765, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 765..768, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 768..772, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 772..774, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 774..778, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 875..877, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - operator: Null, - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..2, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 3..5, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 6..8, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 9..11, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 12..16, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 17..20, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 21..23, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 24..28, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 29..31, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 32..36, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 36..38, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 38..42, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 43..47, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 47..49, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 49..51, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 51..54, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 54..58, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 58..60, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 60..64, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 65..69, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 70..73, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 74..76, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 77..81, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 82..87, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 88..92, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 92..94, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 94..96, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 97..101, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 101..103, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 103..107, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 107..110, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 110..114, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 114..116, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 116..118, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 118..120, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 120..124, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 125..130, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 131..133, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 134..138, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 139..142, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 143..145, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 146..150, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 151..155, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 155..158, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 158..162, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 162..164, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 164..168, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 169..171, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 172..176, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 176..178, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 178..182, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 183..187, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 187..189, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 189..191, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 191..193, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 193..195, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 195..197, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 197..199, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 200..205, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 206..211, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 212..216, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 216..218, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 218..220, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 221..225, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 225..227, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 227..231, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 231..233, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 233..235, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 236..240, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 241..244, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 245..247, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 248..252, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 253..257, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 257..260, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 260..264, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 264..266, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 266..270, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 270..272, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 272..276, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 276..278, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 278..280, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 280..282, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 282..286, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 287..292, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 293..298, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 299..303, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 304..307, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 308..310, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 311..315, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 316..320, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 320..323, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 323..327, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 327..329, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 329..331, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 332..334, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 335..339, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 339..341, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 341..345, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 346..350, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 350..352, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 352..354, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 354..356, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 356..360, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 360..362, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 362..364, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 365..370, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 371..375, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 375..377, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 377..379, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 380..384, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 384..386, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 386..390, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 390..392, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 392..396, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 396..398, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 398..400, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 400..402, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 402..406, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 407..412, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 413..417, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 418..421, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 422..424, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 425..429, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 430..434, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 435..438, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 439..441, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 442..446, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 447..451, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 451..454, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 454..458, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 458..461, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 461..465, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 465..467, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 467..469, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 470..472, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 473..475, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 476..480, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 480..482, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 482..486, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 487..491, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 491..493, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 493..495, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 495..497, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 497..501, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 502..507, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 508..512, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 512..514, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 514..516, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 517..521, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 521..523, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 523..527, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 527..529, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 529..531, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 531..533, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 533..537, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 537..539, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 539..543, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 544..549, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 550..555, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 556..560, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 561..564, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 565..567, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 568..572, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 573..577, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 577..580, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 580..584, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 584..586, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 586..588, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 589..591, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 592..596, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 596..598, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 598..602, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 603..607, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 607..609, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 609..611, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 611..613, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 613..617, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 617..619, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 619..621, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 622..626, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 627..630, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 631..633, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 634..638, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 639..644, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 645..649, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 649..651, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 651..653, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 654..658, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 658..660, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 660..664, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 664..667, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 667..671, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 671..673, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 673..677, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 677..679, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 679..683, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 684..688, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 689..692, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 693..695, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 696..700, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 701..703, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 704..708, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 709..712, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 713..715, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 716..720, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 721..725, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 725..728, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 728..732, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 732..734, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 734..738, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 739..741, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 742..746, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 746..748, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 748..752, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 753..757, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 757..759, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 759..761, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 761..763, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 763..765, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 765..768, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 768..772, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 772..774, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 774..778, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 875..877, - source: "if if if if case foo in foo) if true; then true; fi;; esac; then case foo in foo) until true; do true; done;; esac; fi; then until if case foo in foo) true;; esac; then if true; then true; fi; fi; do until until true; do true; done; do case foo in foo) true;; esac; done; done; fi; then until until case foo in foo) true;; esac; do if true; then true; fi; done; do until true; do true; done; done; fi; then until case foo in foo) case foo in foo) true;; esac;; esac; do if if true; then true; fi; then until true; do true; done; fi; done; elif until until case foo in foo) true;; esac; do if true; then true; fi; done; do case foo in foo) until true; do true; done;; esac; done; then case foo in foo) if case foo in foo) true;; esac; then if true; then true; fi; fi;; esac; else case foo in foo) until until true; do true; done; do case foo in foo) true;; esac; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__parser__parse_final_boss.snap b/src/tests/snapshots/fern__tests__parser__parse_final_boss.snap deleted file mode 100644 index 8aa88f6..0000000 --- a/src/tests/snapshots/fern__tests__parser__parse_final_boss.snap +++ /dev/null @@ -1,4516 +0,0 @@ ---- -source: src/tests/parser.rs -expression: nodes ---- -[ - Ok( - Node { - class: Conjunction { - elements: [ - ConjunctNode { - cmd: Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 9..13, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 9..13, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 13..15, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 9..13, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 13..15, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 20..24, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 20..24, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 24..26, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 20..24, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 24..26, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 6..8, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 9..13, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 13..15, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 15..19, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 20..24, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 24..26, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 26..28, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 28..30, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: LoopNode { - kind: Until, - cond_node: CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 41..45, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 41..45, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 45..47, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 41..45, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 45..47, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 50..54, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 50..54, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 54..56, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 50..54, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 54..56, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 35..40, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 41..45, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 45..47, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 47..49, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 50..54, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 54..56, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 56..60, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 60..62, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 3..5, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 6..8, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 9..13, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 13..15, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 15..19, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 20..24, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 24..26, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 26..28, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 28..30, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 30..34, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 35..40, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 41..45, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 45..47, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 47..49, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 50..54, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 54..56, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 56..60, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 60..62, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 62..64, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 64..66, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: LoopNode { - kind: Until, - cond_node: CondNode { - cond: Node { - class: CaseNode { - pattern: Tk { - class: Str, - span: Span { - range: 82..85, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - case_blocks: [ - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 89..93, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 94..98, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 94..98, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 98..101, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 94..98, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 98..101, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 77..81, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 82..85, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 86..88, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 89..93, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 94..98, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 98..101, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 101..105, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 105..107, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 113..117, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 113..117, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 117..119, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 113..117, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 117..119, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 124..128, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 124..128, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 128..130, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 124..128, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 128..130, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 110..112, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 113..117, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 117..119, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 119..123, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 124..128, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 128..130, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 130..132, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 132..134, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 71..76, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 77..81, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 82..85, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 86..88, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 89..93, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 94..98, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 98..101, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 101..105, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 105..107, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 107..109, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 110..112, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 113..117, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 117..119, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 119..123, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 124..128, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 128..130, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 130..132, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 132..134, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 134..138, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 138..140, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - CondNode { - cond: Node { - class: LoopNode { - kind: Until, - cond_node: CondNode { - cond: Node { - class: LoopNode { - kind: Until, - cond_node: CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 157..161, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 157..161, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 161..163, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 157..161, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 161..163, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 166..170, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 166..170, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 170..172, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 166..170, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 170..172, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 151..156, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 157..161, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 161..163, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 163..165, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 166..170, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 170..172, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 172..176, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 176..178, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: CaseNode { - pattern: Tk { - class: Str, - span: Span { - range: 186..189, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - case_blocks: [ - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 193..197, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 198..202, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 198..202, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 202..205, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 198..202, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 202..205, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 181..185, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 186..189, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 190..192, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 193..197, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 198..202, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 202..205, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 205..209, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 209..211, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 145..150, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 151..156, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 157..161, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 161..163, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 163..165, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 166..170, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 170..172, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 172..176, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 176..178, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 178..180, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 181..185, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 186..189, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 190..192, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 193..197, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 198..202, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 202..205, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 205..209, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 209..211, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 211..215, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 215..217, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: CaseNode { - pattern: Tk { - class: Str, - span: Span { - range: 227..230, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - case_blocks: [ - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 234..238, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 242..246, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 242..246, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 246..248, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 242..246, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 246..248, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 253..257, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 253..257, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 257..259, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 253..257, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 257..259, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 239..241, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 242..246, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 246..248, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 248..252, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 253..257, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 257..259, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 259..261, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 261..264, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 222..226, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 227..230, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 231..233, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 234..238, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 239..241, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 242..246, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 246..248, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 248..252, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 253..257, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 257..259, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 259..261, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 261..264, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 264..268, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 268..270, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [ - Node { - class: CaseNode { - pattern: Tk { - class: Str, - span: Span { - range: 280..283, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - case_blocks: [ - CaseNode { - pattern: Tk { - class: CasePattern, - span: Span { - range: 287..291, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - body: [ - Node { - class: LoopNode { - kind: Until, - cond_node: CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 298..302, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 298..302, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 302..304, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 298..302, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 302..304, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 307..311, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 307..311, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 311..313, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 307..311, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 311..313, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 292..297, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 298..302, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 302..304, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 304..306, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 307..311, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 311..313, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 313..317, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 317..320, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 275..279, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 280..283, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 284..286, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 287..291, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 292..297, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 298..302, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 302..304, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 304..306, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 307..311, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 311..313, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 313..317, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 317..320, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 320..324, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 324..326, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..2, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 3..5, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 6..8, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 9..13, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 13..15, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 15..19, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 20..24, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 24..26, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 26..28, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 28..30, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 30..34, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 35..40, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 41..45, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 45..47, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 47..49, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 50..54, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 54..56, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 56..60, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 60..62, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 62..64, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 64..66, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 66..70, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 71..76, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 77..81, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 82..85, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 86..88, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 89..93, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 94..98, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 98..101, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 101..105, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 105..107, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 107..109, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 110..112, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 113..117, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 117..119, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 119..123, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 124..128, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 128..130, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 130..132, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 132..134, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 134..138, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 138..140, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 140..144, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 145..150, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 151..156, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 157..161, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 161..163, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 163..165, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 166..170, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 170..172, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 172..176, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 176..178, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 178..180, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 181..185, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 186..189, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 190..192, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 193..197, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 198..202, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 202..205, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 205..209, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 209..211, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 211..215, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 215..217, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 217..221, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 222..226, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 227..230, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 231..233, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 234..238, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 239..241, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 242..246, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 246..248, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 248..252, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 253..257, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 257..259, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 259..261, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 261..264, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 264..268, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 268..270, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 270..274, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 326..328, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - operator: Null, - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..2, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 3..5, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 6..8, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 9..13, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 13..15, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 15..19, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 20..24, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 24..26, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 26..28, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 28..30, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 30..34, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 35..40, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 41..45, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 45..47, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 47..49, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 50..54, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 54..56, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 56..60, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 60..62, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 62..64, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 64..66, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 66..70, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 71..76, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 77..81, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 82..85, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 86..88, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 89..93, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 94..98, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 98..101, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 101..105, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 105..107, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 107..109, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 110..112, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 113..117, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 117..119, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 119..123, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 124..128, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 128..130, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 130..132, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 132..134, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 134..138, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 138..140, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 140..144, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 145..150, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 151..156, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 157..161, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 161..163, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 163..165, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 166..170, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 170..172, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 172..176, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 176..178, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 178..180, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 181..185, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 186..189, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 190..192, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 193..197, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 198..202, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 202..205, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 205..209, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 209..211, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 211..215, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 215..217, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 217..221, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 222..226, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 227..230, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 231..233, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: CasePattern, - span: Span { - range: 234..238, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 239..241, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 242..246, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 246..248, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 248..252, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 253..257, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 257..259, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 259..261, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 261..264, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 264..268, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 268..270, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 270..274, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 326..328, - source: "if if if true; then true; fi; then until true; do true; done; fi; then until case foo in foo) true;; esac; do if true; then true; fi; done; elif until until true; do true; done; do case foo in foo) true;; esac; done; then case foo in foo) if true; then true; fi;; esac; else case foo in foo) until true; do true; done;; esac; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__parser__parse_if_multiline.snap b/src/tests/snapshots/fern__tests__parser__parse_if_multiline.snap deleted file mode 100644 index 1aa2098..0000000 --- a/src/tests/snapshots/fern__tests__parser__parse_if_multiline.snap +++ /dev/null @@ -1,1094 +0,0 @@ ---- -source: src/tests/parser.rs -expression: nodes ---- -[ - Ok( - Node { - class: Conjunction { - elements: [ - ConjunctNode { - cmd: Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 4..7, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 4..7, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 7..9, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 4..7, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 7..9, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 15..19, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 20..23, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 15..19, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 20..23, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 23..24, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 15..19, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 20..23, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 23..24, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 29..32, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 29..32, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 32..34, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 29..32, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 32..34, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 40..44, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 45..48, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 40..44, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 45..48, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 48..50, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 40..44, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 45..48, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 48..50, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 55..58, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 55..58, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 58..60, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 55..58, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 58..60, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 66..70, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 71..74, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 66..70, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 71..74, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 74..75, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 66..70, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 71..74, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 74..75, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 1..3, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 4..7, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 7..9, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 9..13, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 13..15, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 15..19, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 20..23, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 23..24, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 24..28, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 29..32, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 32..34, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 34..38, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 38..40, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 40..44, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 45..48, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 48..50, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 50..54, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 55..58, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 58..60, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 60..64, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 64..66, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 66..70, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 71..74, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 74..75, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 75..77, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - operator: Null, - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 1..3, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 4..7, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 7..9, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 9..13, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 13..15, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 15..19, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 20..23, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 23..24, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 24..28, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 29..32, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 32..34, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 34..38, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 38..40, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 40..44, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 45..48, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 48..50, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 50..54, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 55..58, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 58..60, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 60..64, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 64..66, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 66..70, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 71..74, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 74..75, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 75..77, - source: "\nif foo; then\n\techo bar\nelif bar; then\n\techo foo;\nelif biz; then\n\techo baz\nfi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__parser__parse_if_multiple_elif.snap b/src/tests/snapshots/fern__tests__parser__parse_if_multiple_elif.snap deleted file mode 100644 index d08d577..0000000 --- a/src/tests/snapshots/fern__tests__parser__parse_if_multiple_elif.snap +++ /dev/null @@ -1,1034 +0,0 @@ ---- -source: src/tests/parser.rs -expression: nodes ---- -[ - Ok( - Node { - class: Conjunction { - elements: [ - ConjunctNode { - cmd: Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 3..6, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 3..6, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 6..8, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 3..6, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 6..8, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 13..17, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 18..21, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 13..17, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 18..21, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 21..23, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 13..17, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 18..21, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 21..23, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 28..31, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 28..31, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 31..33, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 28..31, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 31..33, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 38..42, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 43..46, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 38..42, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 43..46, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 46..48, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 38..42, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 43..46, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 46..48, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 53..56, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 53..56, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 56..58, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 53..56, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 56..58, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 63..67, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 68..71, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 63..67, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 68..71, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 71..73, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 63..67, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 68..71, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 71..73, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..2, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 3..6, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 6..8, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 8..12, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 13..17, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 18..21, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 21..23, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 23..27, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 28..31, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 31..33, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 33..37, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 38..42, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 43..46, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 46..48, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 48..52, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 53..56, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 56..58, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 58..62, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 63..67, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 68..71, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 71..73, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 73..75, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - operator: Null, - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..2, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 3..6, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 6..8, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 8..12, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 13..17, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 18..21, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 21..23, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 23..27, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 28..31, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 31..33, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 33..37, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 38..42, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 43..46, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 46..48, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 48..52, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 53..56, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 56..58, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 58..62, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 63..67, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 68..71, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 71..73, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 73..75, - source: "if foo; then echo bar; elif bar; then echo foo; elif biz; then echo baz; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__parser__parse_if_redirs.snap b/src/tests/snapshots/fern__tests__parser__parse_if_redirs.snap deleted file mode 100644 index 4421ab3..0000000 --- a/src/tests/snapshots/fern__tests__parser__parse_if_redirs.snap +++ /dev/null @@ -1,435 +0,0 @@ ---- -source: src/tests/parser.rs -expression: nodes ---- -[ - Ok( - Node { - class: Conjunction { - elements: [ - ConjunctNode { - cmd: Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 3..6, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 3..6, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 6..8, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 3..6, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 6..8, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 13..17, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 18..21, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 13..17, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 18..21, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 21..23, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 13..17, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 18..21, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 21..23, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [ - Redir { - io_mode: File { - tgt_fd: 1, - file: File { - fd: 3, - path: "/home/pagedmov/Coding/projects/rust/fern/file.txt", - read: false, - write: true, - }, - }, - class: Output, - }, - ], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..2, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 3..6, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 6..8, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 8..12, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 13..17, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 18..21, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 21..23, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 23..25, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Redir, - span: Span { - range: 26..27, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 28..36, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - operator: Null, - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..2, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 3..6, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 6..8, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 8..12, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 13..17, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 18..21, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 21..23, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 23..25, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Redir, - span: Span { - range: 26..27, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 28..36, - source: "if foo; then echo bar; fi > file.txt", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__parser__parse_if_simple.snap b/src/tests/snapshots/fern__tests__parser__parse_if_simple.snap deleted file mode 100644 index 07f6c26..0000000 --- a/src/tests/snapshots/fern__tests__parser__parse_if_simple.snap +++ /dev/null @@ -1,382 +0,0 @@ ---- -source: src/tests/parser.rs -expression: nodes ---- -[ - Ok( - Node { - class: Conjunction { - elements: [ - ConjunctNode { - cmd: Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 3..6, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 3..6, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 6..8, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 3..6, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 6..8, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 13..17, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 18..21, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 13..17, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 18..21, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 21..23, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 13..17, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 18..21, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 21..23, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..2, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 3..6, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 6..8, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 8..12, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 13..17, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 18..21, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 21..23, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 23..25, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - operator: Null, - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..2, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 3..6, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 6..8, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 8..12, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 13..17, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 18..21, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 21..23, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 23..25, - source: "if foo; then echo bar; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__parser__parse_if_with_elif.snap b/src/tests/snapshots/fern__tests__parser__parse_if_with_elif.snap deleted file mode 100644 index 73c47e6..0000000 --- a/src/tests/snapshots/fern__tests__parser__parse_if_with_elif.snap +++ /dev/null @@ -1,708 +0,0 @@ ---- -source: src/tests/parser.rs -expression: nodes ---- -[ - Ok( - Node { - class: Conjunction { - elements: [ - ConjunctNode { - cmd: Node { - class: IfNode { - cond_nodes: [ - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 3..6, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 3..6, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 6..8, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 3..6, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 6..8, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 13..17, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 18..21, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 13..17, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 18..21, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 21..23, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 13..17, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 18..21, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 21..23, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 28..31, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 28..31, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 31..33, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 28..31, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 31..33, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 38..42, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 43..46, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 38..42, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 43..46, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 46..48, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 38..42, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 43..46, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 46..48, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - ], - else_block: [], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..2, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 3..6, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 6..8, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 8..12, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 13..17, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 18..21, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 21..23, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 23..27, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 28..31, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 31..33, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 33..37, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 38..42, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 43..46, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 46..48, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 48..50, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - operator: Null, - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..2, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 3..6, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 6..8, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 8..12, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 13..17, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 18..21, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 21..23, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 23..27, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 28..31, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 31..33, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 33..37, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 38..42, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 43..46, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 46..48, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 48..50, - source: "if foo; then echo bar; elif bar; then echo foo; fi", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__parser__parse_loop_multiline.snap b/src/tests/snapshots/fern__tests__parser__parse_loop_multiline.snap deleted file mode 100644 index a1b4507..0000000 --- a/src/tests/snapshots/fern__tests__parser__parse_loop_multiline.snap +++ /dev/null @@ -1,350 +0,0 @@ ---- -source: src/tests/parser.rs -expression: nodes ---- -[ - Ok( - Node { - class: Conjunction { - elements: [ - ConjunctNode { - cmd: Node { - class: LoopNode { - kind: Until, - cond_node: CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 7..10, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 7..10, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 10..12, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 7..10, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 10..12, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 16..19, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 16..19, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 19..20, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 16..19, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 19..20, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 1..6, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 7..10, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 10..12, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 12..14, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 14..16, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 16..19, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 19..20, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 20..24, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - operator: Null, - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 1..6, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 7..10, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 10..12, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 12..14, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 14..16, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 16..19, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 19..20, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 20..24, - source: "\nuntil foo; do\n\tbar\ndone", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__parser__parse_loop_simple.snap b/src/tests/snapshots/fern__tests__parser__parse_loop_simple.snap deleted file mode 100644 index 7685408..0000000 --- a/src/tests/snapshots/fern__tests__parser__parse_loop_simple.snap +++ /dev/null @@ -1,330 +0,0 @@ ---- -source: src/tests/parser.rs -expression: nodes ---- -[ - Ok( - Node { - class: Conjunction { - elements: [ - ConjunctNode { - cmd: Node { - class: LoopNode { - kind: While, - cond_node: CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 6..9, - source: "while foo; do bar; done", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 6..9, - source: "while foo; do bar; done", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 9..11, - source: "while foo; do bar; done", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 6..9, - source: "while foo; do bar; done", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 9..11, - source: "while foo; do bar; done", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 14..17, - source: "while foo; do bar; done", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 14..17, - source: "while foo; do bar; done", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 17..19, - source: "while foo; do bar; done", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 14..17, - source: "while foo; do bar; done", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 17..19, - source: "while foo; do bar; done", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..5, - source: "while foo; do bar; done", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 6..9, - source: "while foo; do bar; done", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 9..11, - source: "while foo; do bar; done", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 11..13, - source: "while foo; do bar; done", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 14..17, - source: "while foo; do bar; done", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 17..19, - source: "while foo; do bar; done", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 19..23, - source: "while foo; do bar; done", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - operator: Null, - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..5, - source: "while foo; do bar; done", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 6..9, - source: "while foo; do bar; done", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 9..11, - source: "while foo; do bar; done", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 11..13, - source: "while foo; do bar; done", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 14..17, - source: "while foo; do bar; done", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 17..19, - source: "while foo; do bar; done", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 19..23, - source: "while foo; do bar; done", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__parser__parse_loop_until.snap b/src/tests/snapshots/fern__tests__parser__parse_loop_until.snap deleted file mode 100644 index 1f1df75..0000000 --- a/src/tests/snapshots/fern__tests__parser__parse_loop_until.snap +++ /dev/null @@ -1,330 +0,0 @@ ---- -source: src/tests/parser.rs -expression: nodes ---- -[ - Ok( - Node { - class: Conjunction { - elements: [ - ConjunctNode { - cmd: Node { - class: LoopNode { - kind: Until, - cond_node: CondNode { - cond: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 6..9, - source: "until foo; do bar; done", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 6..9, - source: "until foo; do bar; done", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 9..11, - source: "until foo; do bar; done", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 6..9, - source: "until foo; do bar; done", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 9..11, - source: "until foo; do bar; done", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - body: [ - Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 14..17, - source: "until foo; do bar; done", - }, - flags: TkFlags( - IS_CMD, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 14..17, - source: "until foo; do bar; done", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 17..19, - source: "until foo; do bar; done", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 14..17, - source: "until foo; do bar; done", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 17..19, - source: "until foo; do bar; done", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - }, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..5, - source: "until foo; do bar; done", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 6..9, - source: "until foo; do bar; done", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 9..11, - source: "until foo; do bar; done", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 11..13, - source: "until foo; do bar; done", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 14..17, - source: "until foo; do bar; done", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 17..19, - source: "until foo; do bar; done", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 19..23, - source: "until foo; do bar; done", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - operator: Null, - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..5, - source: "until foo; do bar; done", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 6..9, - source: "until foo; do bar; done", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 9..11, - source: "until foo; do bar; done", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 11..13, - source: "until foo; do bar; done", - }, - flags: TkFlags( - KEYWORD, - ), - }, - Tk { - class: Str, - span: Span { - range: 14..17, - source: "until foo; do bar; done", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Sep, - span: Span { - range: 17..19, - source: "until foo; do bar; done", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 19..23, - source: "until foo; do bar; done", - }, - flags: TkFlags( - KEYWORD, - ), - }, - ], - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__parser__parse_multiline.snap b/src/tests/snapshots/fern__tests__parser__parse_multiline.snap deleted file mode 100644 index 827de79..0000000 --- a/src/tests/snapshots/fern__tests__parser__parse_multiline.snap +++ /dev/null @@ -1,555 +0,0 @@ ---- -source: src/tests/parser.rs -expression: nodes ---- -[ - Ok( - Node { - class: Conjunction { - elements: [ - ConjunctNode { - cmd: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 1..5, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 6..11, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 12..17, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 1..5, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 6..11, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 12..17, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 17..18, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 1..5, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 6..11, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 12..17, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 17..18, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - operator: Null, - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 1..5, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 6..11, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 12..17, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 17..18, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ), - Ok( - Node { - class: Conjunction { - elements: [ - ConjunctNode { - cmd: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 18..22, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 23..26, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 27..30, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 18..22, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 23..26, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 27..30, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 30..31, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 18..22, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 23..26, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 27..30, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 30..31, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - operator: Null, - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 18..22, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 23..26, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 27..30, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Sep, - span: Span { - range: 30..31, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ), - Ok( - Node { - class: Conjunction { - elements: [ - ConjunctNode { - cmd: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 31..35, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 36..39, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 40..43, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 31..35, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 36..39, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 40..43, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 31..35, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 36..39, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 40..43, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - operator: Null, - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 31..35, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 36..39, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 40..43, - source: "\necho hello world\necho foo bar\necho boo biz", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__parser__parse_pipeline.snap b/src/tests/snapshots/fern__tests__parser__parse_pipeline.snap deleted file mode 100644 index 903ec77..0000000 --- a/src/tests/snapshots/fern__tests__parser__parse_pipeline.snap +++ /dev/null @@ -1,242 +0,0 @@ ---- -source: src/tests/parser.rs -expression: nodes ---- -[ - Ok( - Node { - class: Conjunction { - elements: [ - ConjunctNode { - cmd: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo foo | sed s/foo/bar", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..8, - source: "echo foo | sed s/foo/bar", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo foo | sed s/foo/bar", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..8, - source: "echo foo | sed s/foo/bar", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 11..14, - source: "echo foo | sed s/foo/bar", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Str, - span: Span { - range: 15..24, - source: "echo foo | sed s/foo/bar", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 11..14, - source: "echo foo | sed s/foo/bar", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Str, - span: Span { - range: 15..24, - source: "echo foo | sed s/foo/bar", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo foo | sed s/foo/bar", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..8, - source: "echo foo | sed s/foo/bar", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Pipe, - span: Span { - range: 9..10, - source: "echo foo | sed s/foo/bar", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 11..14, - source: "echo foo | sed s/foo/bar", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Str, - span: Span { - range: 15..24, - source: "echo foo | sed s/foo/bar", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - operator: Null, - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo foo | sed s/foo/bar", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..8, - source: "echo foo | sed s/foo/bar", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Pipe, - span: Span { - range: 9..10, - source: "echo foo | sed s/foo/bar", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 11..14, - source: "echo foo | sed s/foo/bar", - }, - flags: TkFlags( - IS_CMD, - ), - }, - Tk { - class: Str, - span: Span { - range: 15..24, - source: "echo foo | sed s/foo/bar", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__parser__parse_simple.snap b/src/tests/snapshots/fern__tests__parser__parse_simple.snap deleted file mode 100644 index b25f498..0000000 --- a/src/tests/snapshots/fern__tests__parser__parse_simple.snap +++ /dev/null @@ -1,169 +0,0 @@ ---- -source: src/tests/parser.rs -expression: nodes ---- -[ - Ok( - Node { - class: Conjunction { - elements: [ - ConjunctNode { - cmd: Node { - class: Pipeline { - cmds: [ - Node { - class: Command { - assignments: [], - argv: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo hello world", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..10, - source: "echo hello world", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 11..16, - source: "echo hello world", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo hello world", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..10, - source: "echo hello world", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 11..16, - source: "echo hello world", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ], - pipe_err: false, - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo hello world", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..10, - source: "echo hello world", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 11..16, - source: "echo hello world", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - operator: Null, - }, - ], - }, - flags: NdFlags( - 0x0, - ), - redirs: [], - tokens: [ - Tk { - class: Str, - span: Span { - range: 0..4, - source: "echo hello world", - }, - flags: TkFlags( - IS_CMD | BUILTIN, - ), - }, - Tk { - class: Str, - span: Span { - range: 5..10, - source: "echo hello world", - }, - flags: TkFlags( - 0x0, - ), - }, - Tk { - class: Str, - span: Span { - range: 11..16, - source: "echo hello world", - }, - flags: TkFlags( - 0x0, - ), - }, - ], - }, - ), -] diff --git a/src/tests/snapshots/fern__tests__term__styled_background.snap b/src/tests/snapshots/fern__tests__term__styled_background.snap deleted file mode 100644 index 5281567..0000000 --- a/src/tests/snapshots/fern__tests__term__styled_background.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: src/tests/term.rs -expression: styled ---- -text with background diff --git a/src/tests/snapshots/fern__tests__term__styled_multiple.snap b/src/tests/snapshots/fern__tests__term__styled_multiple.snap deleted file mode 100644 index 4d950bb..0000000 --- a/src/tests/snapshots/fern__tests__term__styled_multiple.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: src/tests/term.rs -expression: styled ---- -styled text diff --git a/src/tests/snapshots/fern__tests__term__styled_reset.snap b/src/tests/snapshots/fern__tests__term__styled_reset.snap deleted file mode 100644 index 2f68687..0000000 --- a/src/tests/snapshots/fern__tests__term__styled_reset.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: src/tests/term.rs -expression: styled ---- -reset test diff --git a/src/tests/snapshots/fern__tests__term__styled_rgb.snap b/src/tests/snapshots/fern__tests__term__styled_rgb.snap deleted file mode 100644 index f739e99..0000000 --- a/src/tests/snapshots/fern__tests__term__styled_rgb.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: src/tests/term.rs -expression: styled ---- -RGB styled text diff --git a/src/tests/snapshots/fern__tests__term__styled_set.snap b/src/tests/snapshots/fern__tests__term__styled_set.snap deleted file mode 100644 index 71e00bc..0000000 --- a/src/tests/snapshots/fern__tests__term__styled_set.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: src/tests/term.rs -expression: styled ---- -multi-style text diff --git a/src/tests/snapshots/fern__tests__term__styled_simple.snap b/src/tests/snapshots/fern__tests__term__styled_simple.snap deleted file mode 100644 index daf3595..0000000 --- a/src/tests/snapshots/fern__tests__term__styled_simple.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: src/tests/term.rs -expression: styled ---- -hello world